{"id":10454,"date":"2026-06-21T01:17:44","date_gmt":"2026-06-20T19:47:44","guid":{"rendered":"https:\/\/medusabungalow.com\/?page_id=10454"},"modified":"2026-06-22T23:35:31","modified_gmt":"2026-06-22T18:05:31","slug":"home","status":"publish","type":"page","link":"https:\/\/medusabungalow.com\/en\/","title":{"rendered":"Home"},"content":{"rendered":"\n<style>@import url('https:\/\/fonts.googleapis.com\/css2?family=Cinzel:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500&display=swap');\n\n  :root{--gold:#c9a45c;--gilt:#e6cd93;--cream:#f3ecdd;--ink:#16130d;--soft:rgba(243,236,221,.66)}\n  *{box-sizing:border-box;margin:0;padding:0}\n  html{scroll-behavior:smooth}\n  body{font-family:\"Cormorant Garamond\",Georgia,serif;font-weight:400;font-size:clamp(17px,1.15vw,20px);line-height:1.7;color:var(--cream);background:#0d0b07;-webkit-font-smoothing:antialiased;overflow-x:hidden}\n  .sky{position:fixed;inset:0;z-index:-2;transition:background 1.8s ease}\n  body[data-time=\"dawn\"] .sky{background:radial-gradient(110% 80% at 50% 112%,rgba(201,164,92,.4),transparent 60%),linear-gradient(180deg,#0b1014,#15161a 40%,#241d14)}\n  body[data-time=\"day\"] .sky{background:radial-gradient(120% 90% at 50% 0%,rgba(230,205,147,.22),transparent 55%),linear-gradient(180deg,#1c2024,#2a2419 60%,#352a18)}\n  body[data-time=\"gold\"] .sky{background:radial-gradient(120% 100% at 50% 60%,rgba(230,205,147,.5),transparent 60%),linear-gradient(180deg,#3a2f1a,#5a401d 55%,#7a531f)}\n  body[data-time=\"dusk\"] .sky{background:radial-gradient(120% 90% at 50% 80%,rgba(201,124,72,.42),transparent 60%),linear-gradient(180deg,#241726,#3a2320 60%,#5a3320)}\n  body[data-time=\"night\"] .sky{background:radial-gradient(120% 80% at 50% 110%,rgba(201,164,92,.18),transparent 55%),linear-gradient(180deg,#070608,#0d0b07 60%,#13100a)}\n  .grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.055;background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'\/%3E%3C\/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'\/%3E%3C\/svg%3E\")}\n  .glow{position:fixed;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:5;background:radial-gradient(circle,rgba(230,205,147,.08),transparent 60%);transform:translate(-50%,-50%);left:-999px;mix-blend-mode:screen}\n  @media(max-width:760px){.glow{display:none}}\n  .eyebrow{font-family:\"Cinzel\",serif;font-weight:500;text-transform:uppercase;letter-spacing:.42em;font-size:.64rem;color:var(--gold)}\n  .btn{display:inline-block;font-family:\"Cinzel\",serif;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;padding:15px 32px;border:1px solid var(--gold);color:var(--cream);background:transparent;text-decoration:none;cursor:pointer;transition:.5s}\n  .btn:hover{background:var(--gold);color:var(--ink)}\n  .btn.solid{background:var(--gold);color:var(--ink)}.btn.solid:hover{background:var(--gilt);border-color:var(--gilt)}\n\n  .overture{position:fixed;inset:0;z-index:1000;background:#0d0b07;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transition:opacity 1.4s ease,visibility 1.4s}\n  .overture.lift{opacity:0;visibility:hidden}\n  .overture .om{font-family:\"Cinzel\",serif;font-weight:600;letter-spacing:.34em;font-size:clamp(1.5rem,4.6vw,2.4rem);text-indent:.34em;text-align:center;opacity:0;animation:fadein 1.6s ease .3s forwards}\n  .overture .obar{height:1px;width:0;background:var(--gold);animation:obar 1.4s ease 1.2s forwards}\n  .overture .ol{font-family:\"Cormorant Garamond\",serif;font-style:italic;font-weight:300;color:var(--gold);font-size:1.05rem;opacity:0;animation:fadein 1.6s ease 1s forwards}\n\n  nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,5vw,56px);transition:.6s;opacity:0}\n  nav.show{opacity:1}\n  nav.scrolled{background:rgba(13,11,7,.72);backdrop-filter:blur(9px);padding:12px clamp(20px,5vw,56px)}\n  .wordmark{font-family:\"Cinzel\",serif;font-weight:600;letter-spacing:.22em;font-size:.88rem;text-indent:.22em;cursor:pointer;color:var(--cream);white-space:nowrap}\n  .links{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}\n  .links a{font-family:\"Cinzel\",serif;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);text-decoration:none;cursor:pointer;padding-bottom:4px;border-bottom:1px solid transparent;transition:.4s}\n  .links a:hover,.links a.active{color:var(--cream);border-color:var(--gold)}\n  .links a.resv{color:var(--ink);background:var(--gold);border:none;padding:9px 18px}.links a.resv:hover{background:var(--gilt)}\n  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px}\n  .burger span{width:24px;height:1.5px;background:var(--cream);transition:.3s}\n  @media(max-width:880px){.links{position:fixed;inset:0;background:rgba(8,6,3,.97);flex-direction:column;justify-content:center;gap:26px;transform:translateY(-100%);transition:transform .5s;z-index:199}.links.open{transform:none}.links a{font-size:.8rem}.burger{display:flex;z-index:201}}\n\n  main .page{display:none}main .page.active{display:block;animation:fadein .8s ease}\n  section{padding:clamp(78px,12vw,150px) clamp(22px,6vw,40px);position:relative}\n  .wrap{max-width:1080px;margin:0 auto}\n  .card{max-width:46em;margin:0 auto;padding:clamp(34px,5vw,60px);text-align:center;background:rgba(243,236,221,.94);color:var(--ink);box-shadow:0 40px 120px rgba(0,0,0,.45)}\n  .card.dark{background:rgba(18,15,9,.82);color:var(--cream);backdrop-filter:blur(6px);border:1px solid rgba(201,164,92,.2)}\n  .card .eyebrow{color:#8a6d2e}.card.dark .eyebrow{color:var(--gold)}\n  h2.title{font-family:\"Cormorant Garamond\",serif;font-weight:300;font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.04;letter-spacing:-.01em;margin:.26em 0 .12em}\n  h2.title em{font-style:italic;color:#9a7a33}.card.dark h2.title em{color:var(--gold)}\n  .card p{margin-top:1.05em;font-weight:300}.card p.first{font-size:1.14em}\n\n  .hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}\n  .hero.short{min-height:74svh}\n  .layer{position:absolute;inset:-10% -10% 0 -10%;will-change:transform}\n  .l-haze{background:radial-gradient(42% 38% at 50% 80%,rgba(230,205,147,.4),transparent 70%);animation:breathe 13s ease-in-out infinite}\n  .l-fore{bottom:-2%;height:42%;top:auto;background:radial-gradient(120% 100% at 20% 120%,rgba(8,7,4,.95),transparent 60%),radial-gradient(120% 100% at 85% 120%,rgba(8,7,4,.92),transparent 60%)}\n  .vignette{position:absolute;inset:0;box-shadow:inset 0 0 240px 70px rgba(8,6,3,.9);z-index:2}\n  .motes{position:absolute;inset:0;z-index:2;pointer-events:none}\n  .mote{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gilt);opacity:0;filter:blur(.5px);box-shadow:0 0 8px 1px rgba(230,205,147,.7);animation:float 16s linear infinite}\n  .hero-in{position:relative;z-index:3;padding:0 24px;max-width:900px}\n  .hero h1{font-family:\"Cormorant Garamond\",serif;font-weight:300;font-size:clamp(2.7rem,8vw,6.4rem);line-height:.98;letter-spacing:-.015em;margin:.3em 0 .42em}\n  .hero h1 em{font-style:italic;color:var(--gilt)}\n  .hero .lede{font-size:clamp(1.05rem,1.7vw,1.32rem);font-weight:300;font-style:italic;color:var(--soft);max-width:30em;margin:0 auto}\n  .hero-rule{height:1px;width:min(40vw,320px);background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:30px auto 26px}\n  .hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}\n  .scrollcue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:3;font-family:\"Cinzel\",serif;font-size:.54rem;letter-spacing:.3em;color:var(--soft)}\n  .scrollcue span{display:block;width:1px;height:34px;background:linear-gradient(var(--gold),transparent);margin:9px auto 0}\n\n  .trust{background:rgba(13,11,7,.5);border-block:1px solid rgba(201,164,92,.18);backdrop-filter:blur(4px)}\n  .trust-row{max-width:1000px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(18px,5vw,60px);padding:24px;text-align:center}\n  .ti{font-family:\"Cinzel\",serif;font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--soft)}\n  .ti b{display:block;font-family:\"Cormorant Garamond\",serif;font-weight:500;font-size:1.6rem;letter-spacing:0;color:var(--gold);text-transform:none;margin-bottom:3px}\n\n  .pulse{display:flex;align-items:center;justify-content:center;padding:28px 0}\n  .pulse .line{height:1px;width:min(34vw,280px);background:linear-gradient(90deg,transparent,rgba(201,164,92,.6))}\n  .pulse .line.r{background:linear-gradient(90deg,rgba(201,164,92,.6),transparent)}\n  .pulse .node{width:7px;height:7px;border-radius:50%;background:var(--gold);margin:0 13px;box-shadow:0 0 12px 2px rgba(201,164,92,.65);animation:heartbeat 3.4s ease-in-out infinite}\n\n  .doors{display:grid;grid-template-columns:1fr 1fr;gap:14px}\n  .door{position:relative;min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(28px,4vw,44px);text-align:left;overflow:hidden;border:1px solid rgba(201,164,92,.25);text-decoration:none;color:var(--cream);cursor:pointer}\n  .door .db{position:absolute;inset:0;z-index:0;transition:transform 1.4s ease,filter .8s;filter:brightness(.7)}\n  .door:hover .db{transform:scale(1.06);filter:brightness(.92)}\n  .door .ds{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 30%,rgba(8,6,3,.85))}\n  .door .dc{position:relative;z-index:2}\n  .db.retreat{background:radial-gradient(120% 90% at 30% 20%,rgba(94,107,87,.7),transparent),linear-gradient(160deg,#2c3326,#10130c)}\n  .db.villa{background:radial-gradient(120% 90% at 70% 75%,rgba(201,164,92,.55),transparent),linear-gradient(160deg,#2e2615,#10130c)}\n  .door h3{font-family:\"Cormorant Garamond\",serif;font-weight:400;font-size:2.1rem;margin-bottom:.08em}\n  .door .price{font-family:\"Cinzel\",serif;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:6px 0}\n  .door p{font-weight:300;color:var(--soft);font-size:1rem;margin:8px 0 0;max-width:24em}\n  .door .enter{display:inline-block;margin-top:18px;font-family:\"Cinzel\",serif;font-size:.56rem;letter-spacing:.28em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:5px}\n  @media(max-width:760px){.doors{grid-template-columns:1fr}.door{min-height:340px}}\n\n  .stage{position:relative;min-height:82svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:0}\n  .stage .plate{position:absolute;inset:0;z-index:0;animation:kenburns 26s ease-in-out infinite alternate}\n  .stage .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,6,3,.5),rgba(8,6,3,.22) 40%,rgba(8,6,3,.7))}\n  .stage .st-in{position:relative;z-index:2;max-width:32em;padding:0 24px}\n  .stage .cap{position:absolute;bottom:16px;right:20px;z-index:2;font-family:\"Cinzel\",serif;font-size:.48rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(243,236,221,.4)}\n  .stage h2{font-family:\"Cormorant Garamond\",serif;font-weight:300;font-size:clamp(2rem,5.2vw,3.8rem);line-height:1.06;color:var(--cream)}\n  .stage h2 em{font-style:italic;color:var(--gilt)}\n  .stage p{margin-top:1em;font-weight:300;color:var(--soft)}\n  .plate-garden{background:radial-gradient(100% 90% at 40% 30%,rgba(94,107,87,.6),transparent),linear-gradient(160deg,#39432f,#1d2417)}\n  .plate-treatment{background:radial-gradient(100% 100% at 60% 40%,rgba(201,164,92,.45),transparent),linear-gradient(160deg,#5a431f,#241a0e)}\n  .plate-pool{background:radial-gradient(100% 100% at 50% 70%,rgba(70,120,130,.5),transparent),linear-gradient(160deg,#22424a,#0f1d20)}\n  .plate-room{background:radial-gradient(100% 100% at 40% 40%,rgba(201,164,92,.35),transparent),linear-gradient(160deg,#3a2e1c,#15110a)}\n\n  .strip-head{text-align:center;margin-bottom:32px}\n  .strip{display:flex;gap:14px;overflow-x:auto;padding:6px 6px 20px;scroll-snap-type:x mandatory;cursor:grab;scrollbar-width:none}\n  .strip::-webkit-scrollbar{display:none}.strip.drag{cursor:grabbing}\n  .frame{flex:0 0 clamp(210px,28vw,320px);aspect-ratio:3\/4;scroll-snap-align:center;border:1px solid rgba(201,164,92,.3);position:relative;display:flex;align-items:flex-end;padding:16px;overflow:hidden}\n  .frame .fc{position:relative;z-index:1;font-family:\"Cinzel\",serif;font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(243,236,221,.7)}\n  .frame::before{content:\"\";position:absolute;inset:0;z-index:0}\n  .f1::before{background:linear-gradient(160deg,#3a432f,#171c12)}.f2::before{background:linear-gradient(160deg,#5a431f,#1d150a)}\n  .f3::before{background:linear-gradient(160deg,#33414a,#121820)}.f4::before{background:linear-gradient(160deg,#4a3a44,#1a1218)}\n  .f5::before{background:linear-gradient(160deg,#534a2c,#1c180e)}.f6::before{background:linear-gradient(160deg,#2c3a30,#101712)}\n\n  .quote{text-align:center;max-width:24em;margin:0 auto}\n  .quote .mark{font-family:\"Cormorant Garamond\",serif;font-size:5rem;line-height:.4;color:var(--gold);opacity:.5}\n  .quote blockquote{font-family:\"Cormorant Garamond\",serif;font-style:italic;font-weight:300;font-size:clamp(1.6rem,4vw,2.6rem);line-height:1.25;margin:.2em 0 .7em;color:var(--cream)}\n  .quote cite{font-family:\"Cinzel\",serif;font-style:normal;font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}\n\n  .invite{text-align:center}\n  .invite h2{font-family:\"Cormorant Garamond\",serif;font-weight:300;font-size:clamp(2.3rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.01em;margin-bottom:.4em;color:var(--cream)}\n  .invite h2 em{font-style:italic;color:var(--gold)}\n  .invite p{max-width:30em;margin:0 auto 32px;color:var(--soft);font-weight:300}\n\n  \/* timeline *\/\n  .timeline{max-width:680px;margin:0 auto;border-left:1px solid rgba(201,164,92,.3)}\n  .tl{position:relative;padding:0 0 40px 40px}\n  .tl::before{content:\"\";position:absolute;left:-5px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px rgba(201,164,92,.6)}\n  .tl .tm{font-family:\"Cinzel\",serif;font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}\n  .tl h4{font-family:\"Cormorant Garamond\",serif;font-weight:500;font-size:1.5rem;margin:.1em 0 .15em;color:var(--cream)}\n  .tl p{font-weight:300;color:var(--soft);font-size:1rem}\n\n  .feat{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(201,164,92,.22);border:1px solid rgba(201,164,92,.22);margin-top:10px}\n  .feat .fi{background:rgba(18,15,9,.72);padding:clamp(24px,3vw,38px);text-align:center}\n  .feat .fi .fn{font-family:\"Cinzel\",serif;font-size:.52rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}\n  .feat .fi h4{font-family:\"Cormorant Garamond\",serif;font-weight:500;font-size:1.45rem;margin:.3em 0 .25em;color:var(--cream)}\n  .feat .fi p{font-weight:300;color:var(--soft);font-size:.98rem}\n  @media(max-width:760px){.feat{grid-template-columns:1fr}}\n\n  .pricebox{max-width:420px;margin:36px auto 0;border:1px solid var(--gold);padding:40px 32px;text-align:center;background:rgba(18,15,9,.6);backdrop-filter:blur(4px)}\n  .pricebox .pn{font-family:\"Cinzel\",serif;font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}\n  .pricebox .pv{font-family:\"Cormorant Garamond\",serif;font-weight:300;font-size:3rem;color:var(--cream);margin:.1em 0}\n  .pricebox .pu{font-weight:300;color:var(--soft);font-size:1rem;margin-bottom:22px}\n\n  .gal{columns:3;column-gap:14px}\n  .gal .g{break-inside:avoid;margin-bottom:14px;border:1px solid rgba(201,164,92,.25);position:relative;display:flex;align-items:flex-end;padding:16px;overflow:hidden}\n  .gal .g span{position:relative;z-index:1;font-family:\"Cinzel\",serif;font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(243,236,221,.7)}\n  .gal .g::before{content:\"\";position:absolute;inset:0;z-index:0}\n  .gal .ga{height:280px}.gal .gb{height:200px}.gal .gc{height:340px}.gal .gd{height:240px}\n  .gal .g1::before{background:linear-gradient(160deg,#3a432f,#171c12)}.gal .g2::before{background:linear-gradient(160deg,#5a431f,#1d150a)}\n  .gal .g3::before{background:linear-gradient(160deg,#33414a,#121820)}.gal .g4::before{background:linear-gradient(160deg,#4a3a44,#1a1218)}\n  .gal .g5::before{background:linear-gradient(160deg,#534a2c,#1c180e)}.gal .g6::before{background:linear-gradient(160deg,#2c3a30,#101712)}\n  @media(max-width:880px){.gal{columns:2}}@media(max-width:560px){.gal{columns:1}}\n\n  .form{max-width:560px;margin:0 auto;text-align:left}\n  .form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}\n  .form label{display:block;font-family:\"Cinzel\",serif;font-size:.52rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:18px 0 7px}\n  .form input,.form textarea{width:100%;background:rgba(243,236,221,.06);border:1px solid rgba(201,164,92,.3);color:var(--cream);font-family:\"Cormorant Garamond\",serif;font-size:1.05rem;padding:13px 14px}\n  .form input:focus,.form textarea:focus{outline:none;border-color:var(--gold);background:rgba(243,236,221,.1)}\n  .form textarea{resize:vertical;min-height:120px}\n  .contact-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(20px,5vw,50px);margin-top:40px;text-align:center}\n  .contact-meta div{font-family:\"Cinzel\",serif;font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;color:var(--soft)}\n  .contact-meta a{color:var(--gold);text-decoration:none}\n  @media(max-width:560px){.form .row{grid-template-columns:1fr}}\n\n  \/* ===== island time clocks ===== *\/\n  .ahead{font-family:\"Cinzel\",serif;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:18px 0 40px;min-height:1em}\n  .clocks{display:flex;justify-content:center;gap:clamp(26px,7vw,70px);flex-wrap:wrap}\n  .clock{display:flex;flex-direction:column;align-items:center}\n  .face{position:relative;width:clamp(168px,40vw,224px);height:clamp(168px,40vw,224px);border-radius:50%;\n    background:radial-gradient(circle at 50% 38%,#1d1810,#0d0a06 78%);border:2px solid var(--gold);\n    box-shadow:0 0 0 6px rgba(201,164,92,.12),0 0 0 7px rgba(201,164,92,.4),inset 0 4px 28px rgba(0,0,0,.7),0 26px 60px rgba(0,0,0,.5)}\n  .num{position:absolute;top:50%;left:50%;width:0;height:0}\n  .num span{position:absolute;font-family:\"Cinzel\",serif;font-weight:500;font-size:.74rem;color:var(--gilt);transform:translate(-50%,-50%);white-space:nowrap}\n  .tickmark{position:absolute;top:50%;left:50%;width:1px;height:5px;background:rgba(201,164,92,.45);transform-origin:50% 0}\n  .dialmark{position:absolute;top:64%;left:50%;transform:translateX(-50%);text-align:center;z-index:2;pointer-events:none}\n  .dialmark .flag{font-size:1.15rem;line-height:1}\n  .dialmark .cn{font-family:\"Cinzel\",serif;font-size:.44rem;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);margin-top:3px;max-width:80px}\n  .hand{position:absolute;left:50%;bottom:50%;transform-origin:50% 100%;border-radius:4px;transform:translateX(-50%) rotate(0deg)}\n  .hand.hour{width:5px;height:25%;background:linear-gradient(var(--gilt),var(--gold));z-index:3}\n  .hand.min{width:3px;height:35%;background:linear-gradient(var(--gilt),var(--gold));z-index:3}\n  .hand.sec{width:1.5px;height:39%;background:#d9534f;z-index:4;transition:transform .12s cubic-bezier(.4,2.3,.6,1)}\n  .cap{position:absolute;top:50%;left:50%;width:12px;height:12px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%);z-index:5;box-shadow:0 0 8px rgba(201,164,92,.7)}\n  .cklabel{font-family:\"Cinzel\",serif;font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--cream);margin-top:20px}\n  .digital{font-family:\"Cormorant Garamond\",serif;font-size:1.35rem;color:var(--gold);margin-top:7px;letter-spacing:.03em}\n  .weather .wl{font-family:\"Cinzel\",serif;font-size:.54rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}\n  .weather .wv{font-size:clamp(1.5rem,4vw,2.1rem);font-weight:300;margin-top:6px;color:var(--cream)}\n  .weather .wv .deg{color:var(--gilt)}\n  .sbtn{font-family:\"Cinzel\",serif;font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;color:var(--cream);background:none;border:1px solid var(--gold);padding:13px 26px;cursor:pointer;transition:.4s;display:inline-flex;align-items:center;gap:10px}\n  .sbtn:hover{background:var(--gold);color:var(--ink)}.sbtn.on{background:var(--gold);color:var(--ink)}\n  .sdot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.4}\n  .sbtn.on .sdot{opacity:1;animation:beat 1s steps(1) infinite}\n  @keyframes beat{50%{opacity:.25}}\n\n  footer{padding:clamp(50px,8vw,84px) 24px 44px;text-align:center;border-top:1px solid rgba(201,164,92,.18)}\n  footer .fm{font-family:\"Cinzel\",serif;font-weight:600;letter-spacing:.4em;font-size:1.1rem;text-indent:.4em}\n  footer .foot-live{font-family:\"Cinzel\",serif;font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-top:14px}\n  footer .flinks{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin:18px 0}\n  footer .flinks a{font-family:\"Cinzel\",serif;font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);text-decoration:none;cursor:pointer;transition:.3s}\n  footer .flinks a:hover{color:var(--gold)}\n  footer .contact{color:var(--soft);font-weight:300}footer .contact a{color:var(--gold);text-decoration:none}\n\n  .alfred-btn{position:fixed;bottom:24px;right:24px;z-index:300;width:58px;height:58px;border-radius:50%;background:var(--gold);color:var(--ink);border:none;cursor:pointer;font-family:\"Cinzel\",serif;font-size:1.4rem;box-shadow:0 12px 36px rgba(0,0,0,.5);transition:.4s;display:flex;align-items:center;justify-content:center}\n  .alfred-btn:hover{background:var(--gilt);transform:translateY(-2px)}\n  .alfred{position:fixed;bottom:92px;right:24px;z-index:300;width:min(360px,calc(100vw - 48px));background:rgba(15,12,8,.97);border:1px solid rgba(201,164,92,.35);box-shadow:0 30px 80px rgba(0,0,0,.6);display:none;flex-direction:column;overflow:hidden;backdrop-filter:blur(10px)}\n  .alfred.open{display:flex;animation:fadein .4s}\n  .alfred .ah{padding:18px 20px;border-bottom:1px solid rgba(201,164,92,.25)}\n  .alfred .ah .an{font-family:\"Cormorant Garamond\",serif;font-style:italic;font-size:1.4rem;color:var(--gold)}\n  .alfred .ah .ar{font-family:\"Cinzel\",serif;font-size:.5rem;letter-spacing:.24em;text-transform:uppercase;color:var(--soft)}\n  .alfred .am{padding:18px 20px;max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}\n  .bub{max-width:84%;padding:11px 15px;font-weight:300;font-size:1rem;line-height:1.5}\n  .bub.a{align-self:flex-start;background:rgba(243,236,221,.08);border:1px solid rgba(201,164,92,.2);color:var(--cream)}\n  .bub.u{align-self:flex-end;background:var(--gold);color:var(--ink)}\n  .chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 14px}\n  .chip{font-family:\"Cinzel\",serif;font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);border:1px solid rgba(201,164,92,.4);background:none;padding:8px 12px;cursor:pointer;transition:.3s}\n  .chip:hover{background:var(--gold);color:var(--ink)}\n  .ainput{display:flex;border-top:1px solid rgba(201,164,92,.25)}\n  .ainput input{flex:1;background:none;border:none;color:var(--cream);font-family:\"Cormorant Garamond\",serif;font-size:1rem;padding:14px 16px}\n  .ainput input:focus{outline:none}\n  .ainput button{background:none;border:none;color:var(--gold);font-family:\"Cinzel\",serif;font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;padding:0 18px;cursor:pointer}\n\n  .reveal{opacity:0;transform:translateY(30px);transition:opacity 1.2s cubic-bezier(.16,.7,.3,1),transform 1.2s cubic-bezier(.16,.7,.3,1)}\n  .reveal.in{opacity:1;transform:none}.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}\n\n  @keyframes fadein{to{opacity:1}}@keyframes obar{to{width:120px}}\n  @keyframes breathe{0%,100%{transform:translate(-2%,0) scale(1.04);opacity:.74}50%{transform:translate(2%,-2%) scale(1.15);opacity:1}}\n  @keyframes heartbeat{0%,28%,100%{transform:scale(1);opacity:.55}8%{transform:scale(2);opacity:1}14%{transform:scale(1);opacity:.6}20%{transform:scale(1.6);opacity:.9}}\n  @keyframes kenburns{from{transform:scale(1) translate(0,0)}to{transform:scale(1.12) translate(-2%,-2%)}}\n  @keyframes float{0%{transform:translateY(20px);opacity:0}15%{opacity:.9}85%{opacity:.9}100%{transform:translateY(-120px);opacity:0}}\n  @media(prefers-reduced-motion:reduce){*{animation:none!important}.overture{display:none}.sky{transition:none}.reveal{opacity:1;transform:none}.glow{display:none}nav{opacity:1}.hand.sec{transition:none}}\n#medusa-alfred{display:none!important}.hero .hero-in{position:relative}.hero .hero-in::before{content:\"\";position:absolute;inset:-32% -44%;z-index:0;background:radial-gradient(74% 80% at 50% 41%,rgba(8,6,3,.84),rgba(8,6,3,.46) 56%,transparent 85%);pointer-events:none}.hero .hero-in>*{position:relative;z-index:1}.hero h1,.hero .lede,.hero .eyebrow{text-shadow:0 0 2px rgba(8,6,3,.95),0 1px 3px rgba(8,6,3,.95),0 3px 14px rgba(8,6,3,.92),0 6px 44px rgba(8,6,3,.72)}<\/style>\n<div class=\"sky\"><\/div><div class=\"grain\"><\/div><div class=\"glow\" id=\"glow\"><\/div>\n\n<div class=\"overture\" id=\"overture\"><div class=\"om\"><img decoding=\"async\" class=\"brandlogo-om\" src=\"https:\/\/medusabungalow.com\/wp-content\/uploads\/2024\/03\/Medusa-Logo-Horizontal_@2x.png\" alt=\"Medusa Bungalow\"><\/div><div class=\"obar\"><\/div><div class=\"ol\">A day kept &middot; Galle, Ceylon<\/div><\/div>\n<nav id=\"nav\"><a class=\"wordmark\" href=\"https:\/\/medusabungalow.com\/en\/\"><img decoding=\"async\" class=\"brandlogo\" src=\"https:\/\/medusabungalow.com\/wp-content\/uploads\/2024\/03\/Medusa-Logo-Horizontal_@2x.png\" alt=\"Medusa Bungalow\"><\/a><button class=\"burger\" id=\"burger\" aria-label=\"Menu\"><span><\/span><span><\/span><span><\/span><\/button><div class=\"links\" id=\"links\"><a href=\"https:\/\/medusabungalow.com\/en\/\" class=\"active\">Home<\/a><a href=\"https:\/\/medusabungalow.com\/en\/ayurvedic-retreat\/\">The Retreat<\/a><a href=\"https:\/\/medusabungalow.com\/en\/ceylon-colonial-bungalow-experience\/\">The Villa<\/a><a href=\"https:\/\/medusabungalow.com\/en\/amenities\/\">The House<\/a><a href=\"https:\/\/medusabungalow.com\/en\/gallery\/\">Gallery<\/a><a href=\"https:\/\/medusabungalow.com\/en\/contact\/\">Contact<\/a><a href=\"https:\/\/medusabungalow.com\/en\/contact\/\" class=\"resv\">Reserve<\/a><\/div><\/nav>\n<main><div class=\"page active\" id=\"page-home\">\n  <section class=\"hero\" data-time=\"dawn\"><video class=\"hero-vid\" autoplay muted loop playsinline preload=\"metadata\" poster=\"https:\/\/medusabungalow.com\/wp-content\/uploads\/2026\/06\/medusa-hero-plunge-pool.webp\"><source src=\"https:\/\/medusabungalow.com\/wp-content\/uploads\/2026\/06\/medusa-hero-loop.mp4\" type=\"video\/mp4\"><\/video>\n    <div class=\"layer l-haze\"><\/div><div class=\"layer l-fore\"><\/div><div class=\"motes\" id=\"motes\"><\/div><div class=\"vignette\"><\/div>\n    <div class=\"hero-in\">\n      <div class=\"eyebrow reveal\">Galle &middot; Southern Ceylon<\/div>\n      <h1 class=\"reveal d1\">An old house that<br>still <em>breathes<\/em>.<\/h1>\n      <p class=\"lede reveal d2\">A restored colonial villa above the Galle coast \u2014 and a private Ayurveda sanctuary, kept for one guest at a time.<\/p>\n      <div class=\"hero-rule reveal d2\"><\/div>\n      <div class=\"hero-cta reveal d3\"><a class=\"btn solid\" href=\"https:\/\/medusabungalow.com\/en\/contact\/\">Check availability<\/a><a class=\"btn\" href=\"https:\/\/medusabungalow.com\/en\/ayurvedic-retreat\/\">The retreat<\/a><\/div>\n    <\/div>\n    <div class=\"scrollcue\">Let the day begin<span><\/span><\/div>\n  <\/section>\n\n  <div class=\"trust\"><div class=\"trust-row\">\n    <div class=\"ti\"><b>9.2<\/b>Guest rating<\/div><div class=\"ti\"><b>55<\/b>Reviews<\/div>\n    <div class=\"ti\"><b>\u2605<\/b>Airbnb Superhost<\/div><div class=\"ti\"><b>Direct<\/b>Best rate, always<\/div>\n  <\/div><\/div>\n\n  <section data-time=\"day\"><div class=\"card reveal\">\n    <div class=\"eyebrow\">Morning &middot; The House<\/div><h2 class=\"title\">A colonial house<br>from a slower century.<\/h2>\n    <p class=\"first\">Medusa was built when the island still answered to another name. Teak darkened by generations, lime walls that hold the cool, verandas opening onto a garden the jungle keeps trying to take back.<\/p>\n    <p>They say her beauty once stopped men where they stood. The house keeps a little of that \u2014 you arrive in a hurry, and the hurry simply leaves you.<\/p>\n  <\/div><\/section>\n\n  <div class=\"pulse\" data-time=\"day\"><div class=\"line\"><\/div><div class=\"node\"><\/div><div class=\"line r\"><\/div><\/div>\n\n  <section data-time=\"day\"><div class=\"wrap\">\n    <div class=\"card dark reveal\" style=\"margin-bottom:38px\"><div class=\"eyebrow\">Two ways to stay<\/div><h2 class=\"title\">One house. <em>Two doors.<\/em><\/h2><\/div>\n    <div class=\"doors\">\n      <a class=\"door reveal d1\" href=\"https:\/\/medusabungalow.com\/en\/ayurvedic-retreat\/\"><div class=\"db retreat\"><\/div><div class=\"ds\"><\/div><div class=\"dc\">\n        <h3>The Retreat<\/h3><div class=\"price\">Private Ayurveda &middot; 7 nights<\/div>\n        <p>A resident doctor, daily treatment, the whole house for one guest or couple.<\/p>\n        <div class=\"price\" style=\"color:var(--cream);opacity:.8;margin-top:12px\">from &euro;2,800<\/div><span class=\"enter\">Enter the retreat<\/span><\/div><\/a>\n      <a class=\"door reveal d2\" href=\"https:\/\/medusabungalow.com\/en\/ceylon-colonial-bungalow-experience\/\"><div class=\"db villa\"><\/div><div class=\"ds\"><\/div><div class=\"dc\">\n        <h3>The Villa<\/h3><div class=\"price\">The whole house, yours<\/div>\n        <p>Three bedrooms, a private pool, a garden, and a staff who remember your name.<\/p>\n        <div class=\"price\" style=\"color:var(--cream);opacity:.8;margin-top:12px\">direct from $350 \/ night<\/div><span class=\"enter\">Enter the villa<\/span><\/div><\/a>\n    <\/div>\n  <\/div><\/section>\n\n  <section class=\"stage\" data-time=\"gold\"><div class=\"plate plate-treatment\"><\/div><div class=\"scrim\"><\/div>\n    <div class=\"st-in reveal\"><div class=\"eyebrow\">Midday &middot; Hela Ayurveda<\/div><h2>Medicine,<br><em>the old way.<\/em><\/h2>\n    <p>A consultation, a reading of your constitution, a course prepared for your body and the season. Oils warmed over a flame, herbs from the garden, a daily rhythm of stillness.<\/p><\/div>\n    <div class=\"cap\">Hela Ayurveda<\/div>\n  <\/section>\n\n  <section class=\"stage\" data-time=\"gold\"><div class=\"plate plate-garden\"><\/div><div class=\"scrim\"><\/div>\n    <div class=\"st-in reveal\"><h2 style=\"font-style:italic\">The day ends early here.<br>The light goes gold, the garden<br>exhales, and there is nowhere<br>you have to be.<\/h2><\/div>\n    <div class=\"cap\">The garden, golden hour<\/div>\n  <\/section>\n\n  <section data-time=\"dusk\"><div class=\"wrap\">\n    <div class=\"strip-head reveal\"><div class=\"eyebrow\">Evening &middot; Moments<\/div><h2 class=\"title\" style=\"color:var(--cream)\">From around <em style=\"color:var(--gold)\">the house.<\/em><\/h2><\/div>\n    <div class=\"strip reveal\" id=\"strip\">\n      <div class=\"frame f1\"><img loading=\"lazy\" class=\"mz-eager\" loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"1800\" src=\"https:\/\/medusabungalow.com\/wp-content\/uploads\/2026\/06\/villa-a7400117.jpg\" alt=\"The Veranda \u2014 Medusa Bungalow\"><span class=\"fc\">The Veranda<\/span><\/div><div class=\"frame f2\"><img loading=\"lazy\" class=\"mz-eager\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"1500\" src=\"https:\/\/medusabungalow.com\/wp-content\/uploads\/2026\/06\/medusa-hero-plunge-pool.webp\" alt=\"The Plunge Pool \u2014 Medusa Bungalow\"><span class=\"fc\">The Plunge Pool<\/span><\/div>\n      <div class=\"frame f3\"><img loading=\"lazy\" class=\"mz-eager\" loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"1800\" src=\"https:\/\/medusabungalow.com\/wp-content\/uploads\/2026\/06\/nature-a7400007.jpg\" alt=\"First Light \u2014 Medusa Bungalow\"><span class=\"fc\">First Light<\/span><\/div><div class=\"frame f4\"><img loading=\"lazy\" class=\"mz-eager\" loading=\"lazy\" decoding=\"async\" width=\"1133\" height=\"1700\" src=\"https:\/\/medusabungalow.com\/wp-content\/uploads\/2026\/06\/medusa-floating-breakfast.webp\" alt=\"The Table \u2014 Medusa Bungalow\"><span class=\"fc\">The Table<\/span><\/div>\n      <div class=\"frame f5\"><img loading=\"lazy\" class=\"mz-eager\" loading=\"lazy\" decoding=\"async\" width=\"843\" height=\"1500\" src=\"https:\/\/medusabungalow.com\/wp-content\/uploads\/2026\/06\/medusa-ayurveda-massage-garden.webp\" alt=\"The Treatment \u2014 Medusa Bungalow\"><span class=\"fc\">The Treatment<\/span><\/div><div class=\"frame f6\"><img loading=\"lazy\" class=\"mz-eager\" loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"1800\" src=\"https:\/\/medusabungalow.com\/wp-content\/uploads\/2026\/06\/nature-a7400096.jpg\" alt=\"The Garden \u2014 Medusa Bungalow\"><span class=\"fc\">The Garden<\/span><\/div>\n    <\/div>\n  <\/div><\/section>\n\n  <section data-time=\"dusk\"><div class=\"wrap quote reveal\"><div class=\"mark\">&ldquo;<\/div>\n    <blockquote>We arrived tired, and left lighter than we came.<\/blockquote><cite>\u2014 A recent guest<\/cite><\/div><\/section>\n\n  <!-- ISLAND TIME (blended, on-theme) -->\n  <section data-time=\"night\"><div class=\"wrap\">\n  <div style=\"text-align:center\" class=\"reveal\">\n    <div class=\"eyebrow\">The house, right now<\/div>\n    <h2 class=\"title\" style=\"color:var(--cream)\">You&#8217;re on <em style=\"color:var(--gold)\">island time<\/em> now.<\/h2>\n    <p class=\"contrast\" id=\"contrast\">&nbsp;<\/p>\n    <div class=\"ahead\" id=\"ahead\">&nbsp;<\/div>\n  <\/div>\n  <div class=\"hero-clock big reveal\">\n    <div class=\"face\" id=\"faceLK\">\n      <div class=\"tod\" id=\"todLK\" aria-hidden=\"true\"><\/div>\n      <div class=\"flagin\"><img loading=\"lazy\" decoding=\"async\" class=\"flag-svg\" src=\"https:\/\/flagcdn.com\/lk.svg\" alt=\"\" aria-hidden=\"true\" loading=\"lazy\" width=\"40\" height=\"30\"><\/div>\n      <div class=\"hand hour\" id=\"lkh\"><\/div><div class=\"hand min\" id=\"lkm\"><\/div><div class=\"hand sec\" id=\"lks\"><\/div><div class=\"cap\"><\/div>\n    <\/div>\n    <div class=\"nm\">Galle &middot; Sri Lanka<\/div>\n    <div class=\"dg\" id=\"lkdg\">&#8211;:&#8211;<\/div>\n  <\/div>\n  <div class=\"facts reveal\">\n    <div class=\"fact\"><div class=\"fl\">In the garden<\/div><div class=\"fv\" id=\"weather\">&middot;<\/div><\/div>\n    <div class=\"fact\"><div class=\"fl\">The sun<\/div><div class=\"fv\" id=\"sun\">&middot;<\/div><div class=\"sub\" id=\"sunsub\">&nbsp;<\/div><\/div>\n    <div class=\"fact\"><div class=\"fl\">Tonight&#8217;s moon<\/div><div class=\"fv\" id=\"moon\">&middot;<\/div><div class=\"sub\" id=\"moonsub\">&nbsp;<\/div><\/div>\n  <\/div>\n  <div style=\"text-align:center\" class=\"reveal\"><button class=\"sbtn\" id=\"sbtn\" onclick=\"toggleSound()\"><span class=\"sdot\"><\/span><span id=\"slabel\">Wind the clock<\/span><\/button><\/div>\n  <div class=\"wall reveal\" id=\"wall\"><\/div>\n  <p class=\"hint reveal\">Each clock is tinted to its own daylight &mdash; gold where the sun is up, deep blue where it&#8217;s night. Your country appears automatically; the centre is always Galle.<\/p>\n<\/div><\/section>\n\n  <div class=\"pulse\" data-time=\"night\"><div class=\"line\"><\/div><div class=\"node\"><\/div><div class=\"line r\"><\/div><\/div>\n\n  <section data-time=\"night\"><div class=\"card dark reveal\"><div class=\"eyebrow\">Through the night<\/div>\n    <h2 class=\"title\"><em style=\"color:var(--gold)\">Alfred<\/em> is awake<br>whenever you are.<\/h2>\n    <p style=\"font-weight:300\">Our concierge answers in moments, at any hour \u2014 treatments, transfers, a table, a question about the house.<\/p>\n    <div style=\"margin-top:26px\"><button class=\"btn\" onclick=\"openAlfred()\">Speak to Alfred<\/button><\/div>\n  <\/div><\/section>\n\n  <section class=\"invite\" data-time=\"night\"><div class=\"wrap reveal\"><div class=\"eyebrow\">An invitation<\/div>\n    <h2>One house.<br>One booking <em>at a time.<\/em><\/h2>\n    <p>When you stay, the house is entirely yours. Tell us when, and we&#8217;ll hold it.<\/p>\n    <a class=\"btn solid\" href=\"https:\/\/medusabungalow.com\/en\/contact\/\">Check availability<\/a><\/div><\/section>\n<\/div><\/main>\n<footer><div class=\"fm\"><img decoding=\"async\" class=\"brandlogo-fm\" src=\"https:\/\/medusabungalow.com\/wp-content\/uploads\/2024\/03\/Medusa-Logo-Horizontal_@2x.png\" alt=\"Medusa Bungalow\"><\/div><div class=\"foot-live\" id=\"footLive\">Galle, Ceylon &middot; <span id=\"footTime\">&mdash;<\/span><\/div><div class=\"flinks\"><a href=\"https:\/\/medusabungalow.com\/en\/\">Home<\/a><a href=\"https:\/\/medusabungalow.com\/en\/ayurvedic-retreat\/\">The Retreat<\/a><a href=\"https:\/\/medusabungalow.com\/en\/ceylon-colonial-bungalow-experience\/\">The Villa<\/a><a href=\"https:\/\/medusabungalow.com\/en\/amenities\/\">The House<\/a><a href=\"https:\/\/medusabungalow.com\/en\/gallery\/\">Gallery<\/a><a href=\"https:\/\/medusabungalow.com\/en\/contact\/\">Contact<\/a><\/div><div class=\"contact\">Reservations &middot; <a href=\"mailto:hello@medusabungalow.com\">hello@medusabungalow.com<\/a> &middot; <a href=\"tel:+94777705398\">+94 77 770 5398<\/a><\/div><\/footer>\n<button class=\"alfred-btn\" id=\"alfredBtn\" onclick=\"openAlfred()\" aria-label=\"Speak to Alfred, concierge\"><span class=\"a-dot\"><\/span><\/button>\n<span class=\"a-label\">Speak to Alfred<\/span>\n<div class=\"a-hello\" id=\"aHello\"><span class=\"x\" onclick=\"hideHello()\">&times;<\/span><span class=\"nm2\">Good evening.<\/span> I&#8217;m Alfred, the concierge &mdash; may I help with anything?<\/div>\n<div class=\"alfred\" id=\"alfred\">\n  <div class=\"ah\"><div class=\"an\">Alfred<\/div><div class=\"ar\">Concierge &middot; always awake<\/div><\/div>\n  <div class=\"am\" id=\"am\"><div class=\"bub a\">Good evening. I&#8217;m Alfred, the concierge at Medusa Bungalow. How may I help \u2014 a stay, a treatment, or a question about the house?<\/div><\/div>\n  <div class=\"chips\">\n    <button class=\"chip\" onclick=\"ask('Check availability')\">Check availability<\/button>\n    <button class=\"chip\" onclick=\"ask('Tell me about the retreat')\">The retreat<\/button>\n    <button class=\"chip\" onclick=\"ask('Arrange a transfer')\">Airport transfer<\/button>\n  <\/div>\n  <div class=\"ainput\"><input id=\"ainput\" placeholder=\"Write to Alfred...\" onkeydown=\"if(event.key==='Enter')send()\"><button onclick=\"send()\">Send<\/button><\/div>\n<\/div>\n<script data-no-optimize=\"1\" data-no-defer=\"1\">window.MED_DT=\"dawn\";document.body.setAttribute(\"data-time\",window.MED_DT);\n\n  var reduce=matchMedia('(prefers-reduced-motion:reduce)').matches;\n  window.addEventListener('load',function(){setTimeout(function(){var o=document.getElementById('overture');if(o)o.classList.add('lift');document.getElementById('nav').classList.add('show')},reduce?0:2400)});\n  var nav=document.getElementById('nav');\n  addEventListener('scroll',function(){nav.classList.toggle('scrolled',scrollY>40)},{passive:true});\n\n  var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting)e.target.classList.add('in')})},{threshold:.14});\n  function observeReveals(scope){(scope||document).querySelectorAll('.reveal').forEach(function(el){io.observe(el)})}\n  observeReveals();\n  var tio=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting&&e.intersectionRatio>0){var t=e.target.getAttribute('data-time');if(t)document.body.setAttribute('data-time',t)}})},{threshold:.5});\n  function observeTimes(){document.querySelectorAll('.page.active [data-time]').forEach(function(s){tio.observe(s)})}\n  var defaultTime={home:'dawn',retreat:'gold',villa:'day',house:'day',gallery:'dusk',contact:'night'};\n  function showPage(id){\n    document.querySelectorAll('.page').forEach(function(p){p.classList.remove('active')});\n    var pg=document.getElementById('page-'+id);if(!pg)return;\n    tio.disconnect();pg.classList.add('active');\n    document.body.setAttribute('data-time',defaultTime[id]||'day');\n    document.querySelectorAll('.links a').forEach(function(a){a.classList.toggle('active',a.getAttribute('data-go')===id&&!a.classList.contains('resv'))});\n    window.scrollTo(0,0);observeReveals(pg);observeTimes();document.getElementById('links').classList.remove('open');\n  }\n  document.addEventListener('click',function(e){var t=e.target.closest('[data-go]');if(t){e.preventDefault();showPage(t.getAttribute('data-go'))}});\n  observeTimes();\n  document.getElementById('burger').addEventListener('click',function(){document.getElementById('links').classList.toggle('open')});\n\n  if(!reduce){\n    var m=document.getElementById('motes');\n    if(m){for(var i=0;10>i;i++){var d=document.createElement('div');d.className='mote';d.style.left=(8+Math.random()*84)+'%';d.style.bottom=(Math.random()*40)+'%';d.style.animationDuration=(13+Math.random()*10)+'s';d.style.animationDelay=(Math.random()*12)+'s';d.style.width=d.style.height=(3+Math.random()*3)+'px';m.appendChild(d)}}\n    var haze=document.querySelector('#page-home .l-haze'),fore=document.querySelector('#page-home .l-fore');\n    addEventListener('scroll',function(){var y=scrollY;if(haze&&innerHeight>y){haze.style.transform='translateY('+(y*.18)+'px)';if(fore)fore.style.transform='translateY('+(y*-.08)+'px)'}},{passive:true});\n    var g=document.getElementById('glow');addEventListener('mousemove',function(e){g.style.left=e.clientX+'px';g.style.top=e.clientY+'px'});\n    var s=document.getElementById('strip'),down=false,sx,sl;\n    if(s){s.addEventListener('pointerdown',function(e){down=true;s.classList.add('drag');sx=e.pageX;sl=s.scrollLeft});addEventListener('pointerup',function(){down=false;s.classList.remove('drag')});s.addEventListener('pointermove',function(e){if(!down)return;e.preventDefault();s.scrollLeft=sl-(e.pageX-sx)*1.5})}\n  }\n\n  \/\/ alfred\n  function toggleAlfred(){document.getElementById('alfred').classList.toggle('open')}\n  function openAlfred(){document.getElementById('alfred').classList.add('open')}\n  var am=document.getElementById('am');\n  function bub(t,who){var b=document.createElement('div');b.className='bub '+who;b.textContent=t;am.appendChild(b);am.scrollTop=am.scrollHeight}\n  var replies={'check availability':\"Delighted to help. May I ask your dates and how many guests? I'll check the house and reply with the best direct rate \u2014 always lower than the booking sites.\",'tell me about the retreat':\"The Retreat is our private Ayurveda programme: the whole house, a resident doctor, and twice-daily treatment shaped to you, over seven nights. From \u20ac2,800 for one or two guests, full board. Shall I hold some dates?\",'arrange a transfer':\"Of course. We can meet you at Colombo airport or anywhere in the south, in a private car. Tell me your arrival time and I'll arrange it.\",'default':\"A lovely question. I'll make sure the house takes care of it. Could you share your dates, and I'll see to the rest?\"};\n  function respond(t){var k=t.toLowerCase();setTimeout(function(){bub(replies[k]||replies['default'],'a')},500)}\n  function ask(t){bub(t,'u');respond(t)}\n  function send(){var i=document.getElementById('ainput');if(!i.value.trim())return;var v=i.value.trim();i.value='';bub(v,'u');respond(v)}\n\n  \/\/ ===== island time clocks =====\n  var ROMAN=['','I','II','III','IV','V','VI','VII','VIII','IX','X','XI','XII'];\n  function buildFace(id){var face=document.getElementById(id);if(!face)return;var r=face.clientWidth\/2||100;\n    for(var i=1;12>=i;i++){var ang=i*30,wrap=document.createElement('div');wrap.className='num';var sp=document.createElement('span');sp.textContent=ROMAN[i];var rad=ang*Math.PI\/180,dist=r-24;sp.style.left=(Math.sin(rad)*dist)+'px';sp.style.top=(-Math.cos(rad)*dist)+'px';wrap.appendChild(sp);face.appendChild(wrap);}\n    for(var t=0;60>t;t++){if(t%5===0)continue;var tm=document.createElement('div');tm.className='tickmark';tm.style.transform='rotate('+(t*6)+'deg) translateY(-'+(r-3)+'px)';face.appendChild(tm);}}\n  buildFace('faceGuest');buildFace('faceCeylon');\n\n  function flagEmoji(cc){try{return cc.toUpperCase().replace(\/.\/g,function(c){return String.fromCodePoint(127397+c.charCodeAt(0))})}catch(e){return''}}\n  var guestTz=Intl.DateTimeFormat().resolvedOptions().timeZone||'UTC';\n  var guestCity=guestTz.split('\/').pop().replace(\/_\/g,' ');\n  var region='';try{region=(new Intl.Locale(navigator.language||'en').maximize().region)||''}catch(e){}\n  var guestCountry='';if(region){try{guestCountry=new Intl.DisplayNames(['en'],{type:'region'}).of(region)}catch(e){}}\n  if(document.getElementById('gFlag'))document.getElementById('gFlag').textContent=region?flagEmoji(region):'';\n  if(document.getElementById('gName'))document.getElementById('gName').textContent=guestCountry||guestCity;\n\n  function tzParts(tz){var f=new Intl.DateTimeFormat('en-GB',{timeZone:tz,hour12:false,hour:'2-digit',minute:'2-digit',second:'2-digit',weekday:'short',day:'2-digit',month:'short'});var p={};f.formatToParts(new Date()).forEach(function(x){p[x.type]=x.value});return{h:(+p.hour)%24,m:+p.minute,s:+p.second,wd:p.weekday,day:p.day,mon:p.month}}\n  function setHands(pre,t){var el=document.getElementById(pre+'s');if(!el)return;var sec=t.s*6,min=t.m*6+t.s*.1,hr=(t.h%12)*30+t.m*.5;el.style.transform='translateX(-50%) rotate('+sec+'deg)';document.getElementById(pre+'m').style.transform='translateX(-50%) rotate('+min+'deg)';document.getElementById(pre+'h').style.transform='translateX(-50%) rotate('+hr+'deg)'}\n  function pad(n){return(n<10?'0':'')+n}\n  function digital(t){var ap=12>t.h?'am':'pm',h=t.h%12||12;return h+':'+pad(t.m)+' '+ap}\n  function tzOffsetMin(tz){var d=new Date(),u=new Date(d.toLocaleString('en-US',{timeZone:'UTC'})),l=new Date(d.toLocaleString('en-US',{timeZone:tz}));return Math.round((l-u)\/60000)}\n  (function(){var el=document.getElementById('ahead');if(!el)return;var diff=tzOffsetMin('Asia\/Colombo')-tzOffsetMin(guestTz);if(diff===0){el.textContent='Right now, Medusa keeps the very same hour as you.';return}var ahead=diff>0,mins=Math.abs(diff),h=Math.floor(mins\/60),mm=mins%60,hs=h+(mm===30?'\u00bd':'')+' hour'+(h!==1||mm===30?'s':'');if(h===0)hs=mm+' minutes';el.textContent='Medusa runs '+hs+(ahead?' ahead of you.':' behind you.')})();\n\n  var wxStr='';\n  function tick(){var c=tzParts('Asia\/Colombo'),g=tzParts(guestTz);setHands('c',c);setHands('g',g);\n    var cd=document.getElementById('ceylonDigital');if(cd)cd.textContent=digital(c)+'  \u00b7  '+c.wd+' '+c.day+' '+c.mon;\n    var gd=document.getElementById('guestDigital');if(gd)gd.textContent=digital(g)+'  \u00b7  '+g.wd+' '+g.day+' '+g.mon;\n    var ft=document.getElementById('footTime');if(ft)ft.textContent=digital(c)+(wxStr?(' \u00b7 '+wxStr):'');\n    if(soundOn)playTick(c.s);}\n  tick();setInterval(tick,1000);\n\n  function wText(code){if(code===0)return'Clear skies';if(2>=code)return'Soft sun';if(code===3)return'Overcast';if(48>=code)return'Morning mist';if(67>=code)return'Tropical rain';if(82>=code)return'Passing showers';if(99>=code)return'Distant thunder';return'Tropical air'}\n  var wEl=document.getElementById('weather');if(wEl)wEl.innerHTML='<span class=\"deg\">28&deg;<\/span> &middot; Tropical air';wxStr='28\u00b0';\n  fetch('https:\/\/api.open-meteo.com\/v1\/forecast?latitude=6.0535&longitude=80.221&current=temperature_2m,weather_code&timezone=Asia%2FColombo').then(function(r){return r.json()}).then(function(d){var t=Math.round(d.current.temperature_2m),c=wText(d.current.weather_code);if(wEl)wEl.innerHTML='<span class=\"deg\">'+t+'&deg;<\/span> &middot; '+c;wxStr=t+'\u00b0 \u00b7 '+c}).catch(function(){});\n\n  var soundOn=false,ac=null;\n  function playTick(sec){if(!ac)return;var freq=(sec%2===0)?1850:1200,o=ac.createOscillator(),gn=ac.createGain();o.type='square';o.frequency.value=freq;gn.gain.setValueAtTime(.0001,ac.currentTime);gn.gain.exponentialRampToValueAtTime(.15,ac.currentTime+.001);gn.gain.exponentialRampToValueAtTime(.0001,ac.currentTime+.045);o.connect(gn).connect(ac.destination);o.start();o.stop(ac.currentTime+.06)}\n  function toggleSound(){soundOn=!soundOn;var b=document.getElementById('sbtn');if(soundOn){ac=ac||new(window.AudioContext||window.webkitAudioContext)();if(ac.state==='suspended')ac.resume();b.classList.add('on');document.getElementById('slabel').textContent='Ticking \u2014 silence'}else{b.classList.remove('on');document.getElementById('slabel').textContent='Wind the clock'}}\n<\/script>\n<style id=\"home-real\">#page-home .hero{background:#0d0b07}#page-home .hero .hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:brightness(.6) saturate(1.05)}.brandlogo{height:26px;width:auto;display:block}@media(max-width:760px){.brandlogo{height:21px}}.brandlogo-om{height:clamp(44px,8vw,80px);width:auto;display:block}.brandlogo-fm{height:40px;width:auto;margin:0 auto;display:block}#page-home .plate-treatment{background-image:url('https:\/\/medusabungalow.com\/wp-content\/uploads\/2026\/06\/medusa-ayurveda-massage-garden.webp')!important;background-size:cover;background-position:center}#page-home .plate-garden{background-image:url('https:\/\/medusabungalow.com\/wp-content\/uploads\/2026\/06\/nature-a7400096.jpg')!important;background-size:cover;background-position:center}#page-home .db.retreat{background-image:url('https:\/\/medusabungalow.com\/wp-content\/uploads\/2026\/06\/medusa-ayurveda-massage-table.webp')!important;background-size:cover;background-position:center}#page-home .db.villa{background-image:url('https:\/\/medusabungalow.com\/wp-content\/uploads\/2026\/06\/medusa-villa-facade.webp')!important;background-size:cover;background-position:center}.flag-svg{width:1.85rem;height:auto;border-radius:2px;box-shadow:0 1px 5px rgba(0,0,0,.55);display:inline-block;vertical-align:middle}#page-home .dialmark .flag{font-size:0;line-height:0}<\/style>\n<script data-no-optimize=\"1\" data-no-defer=\"1\">(function(){function go(){try{var r=\"\";try{r=(new Intl.Locale(navigator.language||\"en\").maximize().region)||\"\";}catch(e){}if(!r)r=\"US\";var gf=document.getElementById(\"gFlag\");if(gf)gf.innerHTML='<img decoding=\"async\" class=\"flag-svg\" src=\"https:\/\/flagcdn.com\/'+r.toLowerCase()+'.svg\" alt=\"\">';}catch(e){}}if(document.readyState!==\"loading\")setTimeout(go,60);else document.addEventListener(\"DOMContentLoaded\",go);})();<\/script>\n\n<style id=\"mz-safetynet\">body main .page{color:var(--cream)}body main .page .card:not(.dark){color:var(--ink)}body main .page .stage h2,body main .page .stage p{color:var(--cream)}<\/style>\n<style id=\"mz-textfix\">body main .page h1,body main .page h2,body main .page h3,body main .page h4,body main .page h5{color:var(--cream)!important}body main .page h1 em,body main .page h2 em,body main .page h3 em{color:var(--gilt)!important}body main .page .btn{color:var(--cream)!important}body main .page .btn.solid,body main .page .btn.solid:hover{color:var(--ink)!important}body main .page .door h3,body main .page .door .enter{color:var(--cream)!important}body main .page .card:not(.dark),body main .page .card:not(.dark) h1,body main .page .card:not(.dark) h2,body main .page .card:not(.dark) h3,body main .page .card:not(.dark) h4,body main .page .card:not(.dark) p{color:var(--ink)!important}body main .page .card:not(.dark) h2 em{color:#9a7a33!important}body main .page .eyebrow{color:var(--gold)!important}body main .page .card:not(.dark) .eyebrow{color:#8a6d2e!important}<\/style>\n<style id=\"mz-textfix2\">body main .page .card.dark,body main .page .card.dark p,body main .page .card.dark h2,body main .page .card.dark h3{color:var(--cream)!important}body main .page .card.dark h2 em,body main .page .card.dark em{color:var(--gold)!important}body main .page .stage h2,body main .page .stage p,body main .page .invite h2,body main .page .invite p,body main .page .quote blockquote{color:var(--cream)!important}body main .page .stage p,body main .page .invite p{color:var(--soft)!important}<\/style>\n<style id=\"mz-moments\">#page-home .frame::before{display:none!important}#page-home .frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}#page-home .frame::after{content:\"\";position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 55%,rgba(8,6,3,.72));pointer-events:none}#page-home .frame .fc{z-index:2;color:var(--cream);text-shadow:0 1px 6px rgba(0,0,0,.8)}<\/style>\n\n\n<style id=\"mz-alfred\">.alfred-btn{position:fixed;bottom:26px;right:26px;z-index:300;width:62px;height:62px;border-radius:50%;background:radial-gradient(circle at 38% 32%,var(--gilt),var(--gold));color:var(--ink);border:none;cursor:pointer;box-shadow:0 14px 38px rgba(0,0,0,.5);transition:transform .4s;font-size:0;animation:mzbob 5s ease-in-out infinite}\n.alfred-btn:hover{transform:translateY(-3px) scale(1.04)}\n.alfred-btn::after{content:\"\";position:absolute;inset:0;background:url(data:image\/svg+xml,%3Csvg%20xmlns=%27http:\/\/www.w3.org\/2000\/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27%2316130d%27%20stroke-width=%271.7%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%27M12%203a6%206%200%200%200-6%206c0%203-1%205-2%206h16c-1-1-2-3-2-6a6%206%200%200%200-6-6Z%27\/%3E%3Cpath%20d=%27M10.5%2020a1.5%201.5%200%200%200%203%200%27\/%3E%3C\/svg%3E) center\/27px no-repeat;pointer-events:none}\n.alfred-btn::before{content:\"\";position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--gold);animation:mzring 3.2s ease-out infinite;pointer-events:none}\n.alfred-btn .a-dot{position:absolute;top:4px;right:4px;width:13px;height:13px;border-radius:50%;background:#7bbf6a;border:2px solid #0d0b07;box-shadow:0 0 8px rgba(123,191,106,.8);animation:mzpulse 2.2s ease-in-out infinite}\n.a-label{position:fixed;bottom:44px;right:100px;z-index:300;font-family:\"Cinzel\",serif;font-size:.52rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);background:rgba(15,12,8,.92);border:1px solid rgba(201,164,92,.4);padding:8px 13px;opacity:0;pointer-events:none;transition:.3s;white-space:nowrap}\n.alfred-btn:hover ~ .a-label{opacity:1}\n.a-hello{position:fixed;bottom:102px;right:26px;z-index:300;max-width:250px;background:rgba(15,12,8,.97);border:1px solid rgba(201,164,92,.4);box-shadow:0 18px 44px rgba(0,0,0,.55);padding:15px 18px;font-family:\"Cormorant Garamond\",serif;font-weight:300;font-size:.98rem;line-height:1.5;color:var(--cream);opacity:0;transform:translateY(10px);transition:.5s;pointer-events:none}\n.a-hello.show{opacity:1;transform:none;pointer-events:auto}\n.a-hello .nm2{font-style:italic;color:var(--gold);font-size:1.18em}\n.a-hello .x{position:absolute;top:6px;right:10px;color:var(--soft);cursor:pointer;font-size:1rem;line-height:1}\n@keyframes mzring{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.8);opacity:0}}\n@keyframes mzpulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.8);opacity:.6}}\n@keyframes mzbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}\n@media(prefers-reduced-motion:reduce){.alfred-btn,.alfred-btn::before,.alfred-btn .a-dot{animation:none!important}}<\/style>\n<script id=\"mz-alfred-js\" data-no-optimize=\"1\" data-no-defer=\"1\">function openAlfred(){var a=document.getElementById('alfred');if(a)a.classList.add('open');hideHello()}function hideHello(){var h=document.getElementById('aHello');if(h)h.classList.remove('show')}(function(){var rm=false;try{rm=matchMedia('(prefers-reduced-motion:reduce)').matches}catch(e){}if(rm)return;try{if(sessionStorage.getItem('medAlfredHello'))return}catch(e){}setTimeout(function(){var h=document.getElementById('aHello'),a=document.getElementById('alfred');if(h&&a&&!a.classList.contains('open')){h.classList.add('show');try{sessionStorage.setItem('medAlfredHello','1')}catch(e){}setTimeout(hideHello,9000)}},4500)})();<\/script>\n\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"LodgingBusiness\",\"name\":\"Medusa Bungalow\",\"description\":\"A restored colonial villa and private Ayurveda retreat above the Galle coast in southern Sri Lanka.\",\"url\":\"https:\/\/medusabungalow.com\/\",\"telephone\":\"+94777705398\",\"email\":\"hello@medusabungalow.com\",\"image\":\"https:\/\/medusabungalow.com\/wp-content\/uploads\/2026\/06\/medusa-villa-facade.webp\",\"priceRange\":\"$$$\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Galle\",\"addressRegion\":\"Southern Province\",\"addressCountry\":\"LK\"},\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":6.0535,\"longitude\":80.221},\"aggregateRating\":{\"@type\":\"AggregateRating\",\"ratingValue\":\"9.2\",\"reviewCount\":\"55\",\"bestRating\":\"10\",\"worstRating\":\"1\"}}<\/script>\n\n<style id=\"mz-rightnow\">#page-home .contrast{font-family:\"Cormorant Garamond\",serif;font-style:italic;font-weight:300;font-size:clamp(1.15rem,2.4vw,1.6rem);line-height:1.4;color:var(--cream);max-width:24em;margin:18px auto 6px}\n#page-home .contrast b{font-style:normal;color:var(--gilt)}\n#page-home .ahead{font-family:\"Cinzel\",serif;font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:42px}\n#page-home .hero-clock{display:flex;flex-direction:column;align-items:center;margin-bottom:14px}\n#page-home .face{position:relative;border-radius:50%;transition:background 1.5s}\n#page-home .big .face{width:clamp(180px,38vw,224px);height:clamp(180px,38vw,224px);border:2px solid var(--gold);box-shadow:0 0 0 6px rgba(201,164,92,.14),0 0 0 7px rgba(201,164,92,.5),inset 0 4px 26px rgba(0,0,0,.6),0 26px 60px rgba(0,0,0,.55),0 0 60px rgba(201,164,92,.22)}\n#page-home .small .face{width:120px;height:120px;border:1.5px solid var(--gold);box-shadow:0 0 0 4px rgba(201,164,92,.1),0 0 0 5px rgba(201,164,92,.3),inset 0 3px 16px rgba(0,0,0,.6),0 14px 36px rgba(0,0,0,.45)}\n#page-home .num{position:absolute;top:50%;left:50%;width:0;height:0}\n#page-home .num span{position:absolute;font-family:\"Cinzel\",serif;font-weight:500;transform:translate(-50%,-50%);white-space:nowrap}\n#page-home .big .num span{font-size:.72rem;color:var(--gilt)}\n#page-home .tickmark{position:absolute;top:50%;left:50%;width:1px;background:rgba(201,164,92,.4);transform-origin:50% 0}\n#page-home .small .tickmark{height:4px}#page-home .big .tickmark{height:5px}\n#page-home .hand{position:absolute;left:50%;bottom:50%;transform-origin:50% 100%;border-radius:4px;transform:translateX(-50%) rotate(0deg)}\n#page-home .hand.hour{background:linear-gradient(var(--gilt),var(--gold));z-index:3}\n#page-home .hand.min{background:linear-gradient(var(--gilt),var(--gold));z-index:3}\n#page-home .hand.sec{background:#d9534f;z-index:4;transition:transform .12s cubic-bezier(.4,2.3,.6,1)}\n#page-home .big .hand.hour{width:5px;height:25%}#page-home .big .hand.min{width:3px;height:35%}#page-home .big .hand.sec{width:1.5px;height:39%}\n#page-home .small .hand.hour{width:3px;height:26%}#page-home .small .hand.min{width:2px;height:35%}#page-home .small .hand.sec{width:1px;height:38%}\n#page-home .cap{position:absolute;top:50%;left:50%;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%);z-index:5;box-shadow:0 0 8px rgba(201,164,92,.7)}\n#page-home .big .cap{width:12px;height:12px}#page-home .small .cap{width:8px;height:8px}\n#page-home .flagin{position:absolute;left:50%;transform:translateX(-50%);z-index:2;line-height:1;border-radius:2px;overflow:hidden}\n#page-home .big .flagin{top:64%}#page-home .small .flagin{top:62%}\n#page-home .flagin .flag-svg{display:block;border-radius:2px;box-shadow:0 1px 4px rgba(0,0,0,.5)}\n#page-home .big .flagin .flag-svg{width:1.4rem;height:auto}#page-home .small .flagin .flag-svg{width:1rem;height:auto}\n#page-home .tod{position:absolute;left:50%;transform:translateX(-50%);z-index:2;top:20%;width:16px;height:16px}\n#page-home .small .tod{width:12px;height:12px;top:18%}\n#page-home .tod svg{width:100%;height:100%;opacity:.85;display:block}\n#page-home .nm{font-family:\"Cinzel\",serif;letter-spacing:.2em;text-transform:uppercase;color:var(--cream);margin-top:14px}\n#page-home .big .nm{font-size:.66rem;color:var(--gilt)}#page-home .small .nm{font-size:.46rem}\n#page-home .nm .you{color:var(--gold)}\n#page-home .dg{font-family:\"Cormorant Garamond\",serif;color:var(--gold);margin-top:5px;letter-spacing:.02em}\n#page-home .big .dg{font-size:1.4rem}#page-home .small .dg{font-size:.95rem}\n#page-home .face.night{background:radial-gradient(circle at 50% 35%,#1b2640,#0a0e1a 80%)}\n#page-home .face.dawn{background:radial-gradient(circle at 50% 60%,#5a3f2a,#1a130c 80%)}\n#page-home .face.day{background:radial-gradient(circle at 50% 38%,#2a2416,#120f08 80%)}\n#page-home .face.dusk{background:radial-gradient(circle at 50% 70%,#5a3320,#1a0f0a 80%)}\n#page-home .facts{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(20px,5vw,54px);margin:30px 0 8px}\n#page-home .fact{text-align:center}\n#page-home .fact .fl{font-family:\"Cinzel\",serif;font-size:.5rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}\n#page-home .fact .fv{font-size:clamp(1.1rem,2.4vw,1.5rem);font-weight:300;margin-top:5px}\n#page-home .fact .fv .deg{color:var(--gilt)}\n#page-home .fact .sub{font-size:.92rem;color:var(--soft);font-style:italic;margin-top:2px}\n#page-home .sbtn{margin-top:26px;font-family:\"Cinzel\",serif;font-size:.52rem;letter-spacing:.26em;text-transform:uppercase;color:var(--cream);background:none;border:1px solid var(--gold);padding:11px 22px;cursor:pointer;transition:.4s;display:inline-flex;align-items:center;gap:9px}\n#page-home .sbtn:hover,#page-home .sbtn.on{background:var(--gold);color:var(--ink)}\n#page-home .sdot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4}\n#page-home .sbtn.on .sdot{animation:mzbeat 1s steps(1) infinite;opacity:1}\n@keyframes mzbeat{50%{opacity:.25}}\n#page-home .wall{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(14px,2.6vw,30px);margin-top:48px}\n#page-home .clock{display:flex;flex-direction:column;align-items:center}\n#page-home .hint{margin-top:50px;font-style:italic;font-weight:300;color:rgba(243,236,221,.4);font-size:.93rem;max-width:34em;margin-left:auto;margin-right:auto}\n@media(prefers-reduced-motion:reduce){#page-home .hand.sec{transition:none}#page-home .sbtn.on .sdot{animation:none}}<\/style>\n<script id=\"mz-rightnow-js\" data-no-optimize=\"1\" data-no-defer=\"1\">(function(){var ROMAN=['','I','II','III','IV','V','VI','VII','VIII','IX','X','XI','XII'];var NS='http:\/\/www.w3.org\/2000\/svg';function svgEl(n,a){var e=document.createElementNS(NS,n);for(var k in a){e.setAttribute(k,a[k]);}return e;}function makeSun(){var s=svgEl('svg',{viewBox:'0 0 24 24',fill:'none',stroke:'#e6cd93','stroke-width':'1.6','aria-hidden':'true',width:'100%',height:'100%'});s.appendChild(svgEl('circle',{cx:12,cy:12,r:4}));s.appendChild(svgEl('path',{d:'M12 2v2M12 20v2M2 12h2M20 12h2M5 5l1.5 1.5M17.5 17.5L19 19M19 5l-1.5 1.5M6.5 17.5L5 19','stroke-linecap':'round'}));return s;}function makeMoon(){var s=svgEl('svg',{viewBox:'0 0 24 24',fill:'none',stroke:'#a9b6d6','stroke-width':'1.6','aria-hidden':'true',width:'100%',height:'100%'});s.appendChild(svgEl('path',{d:'M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z','stroke-linejoin':'round'}));return s;}function isNight(h){return(h>=19||6>h);}function todClass(h){if(h>=19||6>h)return'night';if(9>h)return'dawn';if(17>h)return'day';return'dusk';}var guestTz=Intl.DateTimeFormat().resolvedOptions().timeZone||'UTC';var guestCity=guestTz.split('\/').pop().replace(\/_\/g,' ');var region='';try{region=(new Intl.Locale(navigator.language||'en').maximize().region)||'';}catch(e){}var guestCountry='';if(region){try{guestCountry=new Intl.DisplayNames(['en'],{type:'region'}).of(region);}catch(e){}}var MARKETS=[{tz:'Europe\/Berlin',cc:'de',name:'Germany'},{tz:'Europe\/London',cc:'gb',name:'England'},{tz:'Europe\/Paris',cc:'fr',name:'France'},{tz:'Europe\/Zurich',cc:'ch',name:'Switzerland'},{tz:'Asia\/Dubai',cc:'ae',name:'UAE'},{tz:'Asia\/Kolkata',cc:'in',name:'India'},{tz:'Australia\/Sydney',cc:'au',name:'Australia'},{tz:'America\/New_York',cc:'us',name:'USA'}];var matched=false;MARKETS.forEach(function(m){if(region&&m.cc.toUpperCase()===region.toUpperCase()){m.you=true;matched=true;}});if(!matched&&guestTz!=='Asia\/Colombo'){MARKETS.push({tz:guestTz,cc:region||'',name:guestCountry||guestCity,you:true});}function flagInto(el,cc){if(cc){var im=document.createElement('img');im.className='flag-svg';im.src='https:\/\/flagcdn.com\/'+cc.toLowerCase()+'.svg';im.alt='';im.loading='lazy';im.width=40;im.height=30;im.setAttribute('aria-hidden','true');im.onerror=function(){this.style.display='none';};el.appendChild(im);}}var wall=document.getElementById('wall');if(!wall)return;var small=[];MARKETS.forEach(function(m){var el=document.createElement('div');el.className='clock small';var face=document.createElement('div');face.className='face';var tod=document.createElement('div');tod.className='tod';tod.setAttribute('aria-hidden','true');var fl=document.createElement('div');fl.className='flagin';flagInto(fl,m.cc);face.appendChild(tod);face.appendChild(fl);var r=60;for(var t=0;60>t;t++){if(t%5===0)continue;var tm=document.createElement('div');tm.className='tickmark';tm.style.transform='rotate('+(t*6)+'deg) translateY(-'+(r-3)+'px)';face.appendChild(tm);}var hh=document.createElement('div');hh.className='hand hour';var mh=document.createElement('div');mh.className='hand min';var sh=document.createElement('div');sh.className='hand sec';var cp=document.createElement('div');cp.className='cap';face.appendChild(hh);face.appendChild(mh);face.appendChild(sh);face.appendChild(cp);el.appendChild(face);var nm=document.createElement('div');nm.className='nm';nm.appendChild(document.createTextNode(m.name));if(m.you){nm.appendChild(document.createTextNode(' '));var ys=document.createElement('span');ys.className='you';ys.textContent='(you)';nm.appendChild(ys);}var dg=document.createElement('div');dg.className='dg';dg.textContent='--:--';el.appendChild(nm);el.appendChild(dg);wall.appendChild(el);small.push({tz:m.tz,face:face,tod:tod,hh:hh,mh:mh,sh:sh,dg:dg,n:null});});var faceLK=document.getElementById('faceLK');if(faceLK){var r=100;for(var i=1;12>=i;i++){var ang=i*30;var wrap=document.createElement('div');wrap.className='num';var sp=document.createElement('span');sp.textContent=ROMAN[i];var rad=ang*Math.PI\/180,dist=r-22;sp.style.left=(Math.sin(rad)*dist)+'px';sp.style.top=(-Math.cos(rad)*dist)+'px';wrap.appendChild(sp);faceLK.appendChild(wrap);}for(var t2=0;60>t2;t2++){if(t2%5===0)continue;var tm2=document.createElement('div');tm2.className='tickmark';tm2.style.transform='rotate('+(t2*6)+'deg) translateY(-'+(r-3)+'px)';faceLK.appendChild(tm2);}}function tzParts(tz){var f=new Intl.DateTimeFormat('en-GB',{timeZone:tz,hour12:false,hour:'2-digit',minute:'2-digit',second:'2-digit'});var p={};f.formatToParts(new Date()).forEach(function(x){p[x.type]=x.value;});return{h:(+p.hour)%24,m:+p.minute,s:+p.second};}function pad(n){return(10>n?'0':'')+n;}function digital(t){var ap=(12>t.h)?'am':'pm',h=t.h%12||12;return h+':'+pad(t.m)+' '+ap;}function setHands(o,t){var sec=t.s*6,min=t.m*6+t.s*.1,hr=(t.h%12)*30+t.m*.5;o.sh.style.transform='translateX(-50%) rotate('+sec+'deg)';o.mh.style.transform='translateX(-50%) rotate('+min+'deg)';o.hh.style.transform='translateX(-50%) rotate('+hr+'deg)';}function setTod(faceEl,todEl,ref,h){faceEl.className='face '+todClass(h);var ni=isNight(h);if(ref.n!==ni){ref.n=ni;while(todEl.firstChild)todEl.removeChild(todEl.firstChild);todEl.appendChild(ni?makeMoon():makeSun());}}function scene(h){if(h>=5&&6>h)return'the first light is touching the garden.';if(h>=6&&9>h)return'the garden is waking and the air is still cool.';if(h>=9&&12>h)return'the sun is high and the verandahs hold the shade.';if(h>=12&&15>h)return'the heat sits heavy; the pool is the place to be.';if(h>=15&&17>h)return'the afternoon is softening.';if(h>=17&&19>h)return'the light is going gold and the garden exhales.';if(h>=19&&22>h)return'the lamps are lit and the night is warm and quiet.';return'the house is asleep under the stars.';}var contrastEl=document.getElementById('contrast'),cB1,cB2,cT4;if(contrastEl){contrastEl.textContent='';contrastEl.appendChild(document.createTextNode(\"It's \"));cB1=document.createElement('b');contrastEl.appendChild(cB1);contrastEl.appendChild(document.createTextNode(' where you are. In Galle it'+String.fromCharCode(8217)+'s '));cB2=document.createElement('b');contrastEl.appendChild(cB2);contrastEl.appendChild(document.createTextNode(' '+String.fromCharCode(8212)+' '));cT4=document.createTextNode('');contrastEl.appendChild(cT4);}var lkRef={n:null};function tick(){var lk=tzParts('Asia\/Colombo');if(faceLK){setHands({sh:document.getElementById('lks'),mh:document.getElementById('lkm'),hh:document.getElementById('lkh')},lk);setTod(faceLK,document.getElementById('todLK'),lkRef,lk.h);var d=document.getElementById('lkdg');if(d)d.textContent=digital(lk);}small.forEach(function(c){var t=tzParts(c.tz);setHands(c,t);setTod(c.face,c.tod,c,t.h);c.dg.textContent=digital(t);});if(cB1){var g=tzParts(guestTz);cB1.textContent=digital(g);cB2.textContent=digital(lk);cT4.textContent=scene(lk.h);}}tick();setInterval(tick,1000);(function(){var names=['New moon','Waxing crescent','First quarter','Waxing gibbous','Full moon','Waning gibbous','Last quarter','Waning crescent'];var lp=2551442.8,nm=947182440,now=Date.now()\/1000;var ph=((now-nm)%lp)\/lp;if(0>ph)ph+=1;var idx=Math.floor(ph*8+.5)%8;var mEl=document.getElementById('moon'),mSub=document.getElementById('moonsub');if(mEl)mEl.textContent=String.fromCodePoint(127761+idx);if(mSub)mSub.textContent=names[idx];})();function wText(c){if(c===0)return'Clear skies';if(2>=c)return'Soft sun';if(c===3)return'Overcast';if(48>=c)return'Morning mist';if(67>=c)return'Tropical rain';if(82>=c)return'Passing showers';if(99>=c)return'Distant thunder';return'Tropical air';}function setWfv(deg,txt){var w=document.getElementById('weather');if(!w)return;w.textContent='';var d=document.createElement('span');d.className='deg';d.textContent=deg+String.fromCharCode(176);w.appendChild(d);w.appendChild(document.createTextNode(' '+String.fromCharCode(183)+' '+txt));}function hm(iso){var t=(iso.split('T')[1]||'');var p=t.split(':');var h=+p[0],m=+p[1],ap=(12>h)?'am':'pm',hh=h%12||12;return hh+':'+pad(m)+' '+ap;}var sunEl=document.getElementById('sun'),sunSub=document.getElementById('sunsub');fetch('https:\/\/api.open-meteo.com\/v1\/forecast?latitude=6.0535&longitude=80.221&current=temperature_2m,weather_code&daily=sunrise,sunset&timezone=Asia%2FColombo').then(function(r){return r.json();}).then(function(d){setWfv(Math.round(d.current.temperature_2m),wText(d.current.weather_code));var sr=d.daily.sunrise[0],ss=d.daily.sunset[0];if(sunEl)sunEl.textContent=hm(sr)+' '+String.fromCharCode(8212)+' '+hm(ss);var lk=tzParts('Asia\/Colombo');var nowMin=lk.h*60+lk.m;var ssP=ss.split('T')[1].split(':');var ssMin=(+ssP[0])*60+(+ssP[1]);var diff=ssMin-nowMin;if(sunSub){if(diff>0){sunSub.textContent='sets in '+Math.floor(diff\/60)+'h '+(diff%60)+'m';}else{sunSub.textContent='now after dark in Galle';}}}).catch(function(){});})();<\/script>\n<script id=\"mz-living\" data-no-optimize=\"1\" data-no-defer=\"1\">(function(){function run(){var nm2=document.querySelector(\".a-hello .nm2\");var bub=document.querySelector(\"#alfred .am .bub.a\");var hero=document.querySelector(\".page.active .hero[data-time], .hero[data-time]\");if(!nm2&&!bub&&!hero)return;var vh=new Date().getHours();var greet=(12>vh)?\"Good morning\":(17>vh)?\"Good afternoon\":\"Good evening\";if(nm2)nm2.textContent=greet+\".\";if(bub)bub.textContent=bub.textContent.replace(\/^Good (morning|afternoon|evening)\/,greet);if(hero){try{var f=new Intl.DateTimeFormat(\"en-GB\",{timeZone:\"Asia\/Colombo\",hour:\"2-digit\",hour12:false});var gh=parseInt(f.format(new Date()),10)%24;var tod=(gh>=5&&8>gh)?\"dawn\":(gh>=8&&16>gh)?\"day\":(gh>=16&&18>gh)?\"gold\":(gh>=18&&20>gh)?\"dusk\":\"night\";hero.setAttribute(\"data-time\",tod);document.body.setAttribute(\"data-time\",tod);}catch(e){}}}if(document.readyState!==\"loading\")run();else document.addEventListener(\"DOMContentLoaded\",run);})();<\/script>","protected":false},"excerpt":{"rendered":"<p>A day kept &middot; Galle, Ceylon HomeThe RetreatThe VillaThe HouseGalleryContactReserve Galle &middot; Southern Ceylon An old house thatstill breathes. A restored colonial villa above the Galle coast \u2014 and a private Ayurveda sanctuary, kept for one guest at a time. Check availabilityThe retreat Let the day begin 9.2Guest rating 55Reviews \u2605Airbnb Superhost DirectBest rate, always [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":10475,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-10454","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/medusabungalow.com\/en\/wp-json\/wp\/v2\/pages\/10454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/medusabungalow.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/medusabungalow.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/medusabungalow.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/medusabungalow.com\/en\/wp-json\/wp\/v2\/comments?post=10454"}],"version-history":[{"count":29,"href":"https:\/\/medusabungalow.com\/en\/wp-json\/wp\/v2\/pages\/10454\/revisions"}],"predecessor-version":[{"id":10576,"href":"https:\/\/medusabungalow.com\/en\/wp-json\/wp\/v2\/pages\/10454\/revisions\/10576"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/medusabungalow.com\/en\/wp-json\/wp\/v2\/media\/10475"}],"wp:attachment":[{"href":"https:\/\/medusabungalow.com\/en\/wp-json\/wp\/v2\/media?parent=10454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}