/* Mobile-only layer. The desktop design and layout remain unchanged. */
.app-dock,.app-card-media,.app-moods,.app-search-launch,.app-booking-bar,.app-property-actions,.app-scroll-film,.app-area-scene{display:none}
@media(max-width:760px){
body.palmera-app{padding-bottom:calc(88px + env(safe-area-inset-bottom));--app-radius:22px}.palmera-app .header{height:70px;padding:10px 20px;gap:14px;background:#faf6f0f2}.palmera-app .header .logo img{width:91px}.palmera-app .language-control select{width:78px;font-size:11px;border:0}.palmera-app .menu-toggle{font-size:12px;border:1px solid var(--line);border-radius:25px;padding:7px 13px;gap:12px;min-height:40px}.palmera-app .mobile-nav{top:70px;padding-bottom:110px}.palmera-app .mobile-main-link{font-family:var(--font-display,'Fraunces',serif);font-size:36px}.palmera-app .mobile-search{display:none!important}
.app-dock{position:fixed;z-index:55;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);padding:10px 12px calc(9px + env(safe-area-inset-bottom));background:#faf6f0f5;border-top:1px solid #17141216;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.app-dock>a,.app-dock>button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:48px;font-size:10px;font-weight:500;padding:3px;color:#756a62}.app-dock svg{width:22px;height:22px}.app-dock [aria-current=page]{color:var(--accent-text)}.app-dock [aria-current=page]:after{content:'';width:4px;height:4px;background:currentColor;border-radius:50%;position:absolute;top:0;right:calc(50% - 22px)}.app-saved-count{position:absolute;top:0;right:calc(50% - 24px);font-size:9px;min-width:15px;height:15px;border-radius:10px;background:var(--accent-text);color:white;text-align:center;line-height:15px}.menu-open .app-dock,body:has(dialog[open]) .app-dock,body:has(dialog[open]) .app-booking-bar{visibility:hidden;pointer-events:none}
.palmera-app .hero{padding:25px 20px 22px;border-radius:0 0 28px 28px}.palmera-app .hero h1{font-size:clamp(42px,11.6vw,66px);margin:19px 0 14px;letter-spacing:-.055em}.palmera-app .hero-intro{font-size:14px;line-height:1.5;max-width:290px}.palmera-app .hero-link{display:none}.palmera-app .contact-sheet{margin-top:23px}.palmera-app .contact-sheet .hero-room{border-radius:18px;overflow:hidden;position:relative}.palmera-app .contact-sheet .hero-room img{aspect-ratio:1.2;height:auto}.palmera-app .contact-sheet figcaption{position:absolute;left:0;right:0;bottom:0;padding:35px 16px 14px;background:linear-gradient(transparent,#171412b0);color:white}.palmera-app .contact-sheet figcaption a{font-size:12px}.palmera-app main #search{display:none}.app-search-launch{display:flex;align-items:center;gap:13px;width:100%;min-height:69px;padding:14px 17px;background:var(--paper);border:1px solid #17141220;border-radius:16px;text-align:left;box-shadow:0 4px 0 #17141208;margin-top:19px}.app-search-launch>svg{width:23px;height:23px;flex:none}.app-search-launch>span{display:flex;flex-direction:column;gap:3px}.app-search-launch strong{font-size:14px;font-weight:600}.app-search-launch small{font-size:11px;color:var(--muted)}.app-search-launch>b{margin-left:auto;font-size:25px;font-weight:400}.page-search{padding:0 20px 24px}.page-search .app-search-launch{margin-top:0}.palmera-app .hero .search-wrap{transform:none}
.app-moods{display:block;padding:27px 0 24px;overflow:hidden}.app-section-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:0 20px 17px;font-size:13px;font-weight:600}.app-section-label>span:last-child{font-size:10px;color:var(--muted);font-weight:400}.app-mood-rail{display:flex;gap:17px;overflow-x:auto;scroll-snap-type:x proximity;padding:0 20px 5px;scrollbar-width:none}.app-mood-rail::-webkit-scrollbar{display:none}.app-mood-rail>a{flex:0 0 83px;text-align:center;scroll-snap-align:start}.app-mood-rail>a>span{display:block;padding:3px;border:1px solid #cba493;border-radius:50%;margin-bottom:8px}.app-mood-rail img{width:75px;height:75px;border-radius:50%;object-fit:cover}.app-mood-rail strong{font-size:10px;font-weight:500;line-height:1.35;display:block}.palmera-app .opening-line{padding:25px 20px 30px;gap:12px}.palmera-app .opening-line p{font-size:31px}.palmera-app .opening-line>span{font-size:12px}.palmera-app .section{padding:36px 20px}.palmera-app .section-head h2{font-size:36px}.palmera-app .section-head>p{font-size:12px}.palmera-app .category-bar{border:0;gap:8px;padding:4px 20px 10px 0}.palmera-app .category-bar button{border:1px solid #d8cfc5;border-radius:30px;padding:10px 15px;min-height:40px;font-size:12px;background:var(--paper)}.palmera-app .category-bar button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.palmera-app .category-bar button:after{display:none}.palmera-app .category-bar button span{font-size:9px;opacity:.65}.palmera-app .browse-tools{gap:8px;padding:11px 0 20px;font-size:10px}.palmera-app .browse-tools select{font-size:12px;max-width:48%}.palmera-app .property-grid{grid-template-columns:minmax(0,1fr);gap:29px}.palmera-app .property-card{position:relative}.palmera-app .property-card[data-mobile-ready]>.card-image-button{display:none}.app-card-media{display:block;position:relative;border-radius:20px;overflow:hidden;background:#e8dfd4;isolation:isolate}.app-photo-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;position:relative}.app-photo-rail::-webkit-scrollbar{display:none}.app-photo-rail>a{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;min-width:0;display:block}.app-photo-rail img{width:100%;height:min(105vw,425px);object-fit:cover}.app-save,.app-share{width:43px;height:43px;display:grid;place-items:center;background:#faf6f0f0;border:1px solid #ffffffb0;border-radius:50%;color:var(--ink);padding:11px}.app-save svg,.app-share svg{width:21px;height:21px}.app-card-media>.app-save{position:absolute;z-index:2;right:13px;top:13px}.app-save[aria-pressed=true]{color:var(--accent-text);background:var(--paper)}.app-save[aria-pressed=true] svg{fill:currentColor}.app-photo-count{position:absolute;bottom:13px;right:13px;background:#171412ab;color:white;border:1px solid #ffffff35;border-radius:20px;font-size:10px;font-variant-numeric:tabular-nums;padding:5px 10px;pointer-events:none}.app-photo-tag{position:absolute;top:15px;left:13px;background:#faf6f0ed;border-radius:20px;padding:7px 12px;font-size:10px;pointer-events:none}.palmera-app .card-meta{padding-top:13px}.palmera-app .card-meta h3{font-size:31px}.palmera-app .card-type{display:block;font-size:10px}.palmera-app .card-description{font-size:12px;margin-top:3px}.palmera-app .card-specs{border:0;margin-top:9px;padding:0;font-size:12px;color:var(--muted)}.palmera-app .card-bottom{margin-top:7px}.palmera-app .card-bottom>a{font-size:12px;border-bottom:0;font-weight:600}.palmera-app .card-bottom>button{font-size:11px}.palmera-app .collection-card{border-radius:20px;overflow:hidden}.palmera-app .collection-image img{aspect-ratio:1.3}.palmera-app .collection-content{padding:22px}.palmera-app .stays-end{margin-top:24px}
.palmera-app .stay-stories{padding:30px 0;background:#eee3d8}.palmera-app .stories-heading{padding:0 20px;gap:15px}.palmera-app .stories-heading h2{font-size:35px}.palmera-app .stories-controls{gap:6px}.palmera-app .stories-controls button{width:34px;height:34px}.palmera-app .stories-track{padding-left:20px;padding-right:20px;gap:12px;scroll-padding-left:20px}.palmera-app .stay-story{position:relative;flex-basis:calc(100vw - 56px);min-width:calc(100vw - 56px);border-radius:22px;overflow:hidden;min-height:480px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink);color:var(--paper)}.palmera-app .stay-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;aspect-ratio:auto}.palmera-app .story-copy{position:relative;padding:100px 23px 26px;background:linear-gradient(transparent,#171412e8);z-index:1}.palmera-app .story-copy h3{font-size:43px;line-height:1.02;max-width:95%;margin:15px 0}.palmera-app .story-copy p{color:var(--paper);font-size:12px}.palmera-app .story-copy .eyebrow{font-size:10px}.palmera-app .story-copy a{font-size:12px;color:var(--paper)}.palmera-app .stories-hint{padding:0 20px;margin-top:18px;font-size:10px}.palmera-app .stories-hint span{display:block;margin-top:6px}.palmera-app .life-film-stage{border-radius:21px;overflow:hidden;min-height:430px}.palmera-app .life-film{padding-inline:20px}.palmera-app .life-film-stage video{height:430px;object-fit:cover}.palmera-app .life-film-copy{padding:25px}.palmera-app .life-film-copy h2{font-size:40px}.palmera-app .life-film-toggle{right:16px;bottom:16px;font-size:10px}.palmera-app .page-heading{padding:34px 20px}.palmera-app .page-heading h1{font-size:45px}.palmera-app footer{padding-bottom:30px}
.app-sheet{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:calc(100dvh - 32px);margin:0;padding:10px 22px calc(25px + env(safe-area-inset-bottom));border-radius:27px 27px 0 0;background:var(--paper);color:var(--ink);border:0;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -12px 60px #17141220}.app-sheet::backdrop{background:#17141277;backdrop-filter:blur(3px)}.app-sheet-handle{width:34px;height:4px;background:#b8afa5;border-radius:8px;margin:0 auto 19px}.app-sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px}.app-sheet-heading h2{font-family:var(--font-display,'Fraunces',serif);font-size:33px;letter-spacing:-.045em}.app-sheet-close{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;padding:10px;flex:none}.app-sheet-close svg{width:20px;height:20px}.app-sheet-open{overflow:hidden}.app-search-body .search-wrap{display:block!important;transform:none;margin:0;padding:0}.app-search-body #booking-search{border:0;padding:0;gap:10px;background:none;grid-template-columns:1fr 1fr}.app-search-body .search-field{border:1px solid var(--line)!important;border-radius:13px;background:white;padding:14px;min-height:83px}.app-search-body .search-field:first-child{grid-column:1/-1}.app-search-body .guest-field{grid-column:1/-1}.app-search-body .search-submit{grid-column:1/-1;margin:8px 0 0;border-radius:30px;min-height:56px;padding:0 22px}.app-search-body .search-foot{display:flex;font-size:11px;margin-top:15px;gap:10px}.app-search-body .search-foot>span{max-width:100%}.app-standalone-search{display:grid;gap:15px}.app-standalone-search label{display:grid;gap:8px;font-size:12px}.app-standalone-search>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.app-standalone-search input,.app-standalone-search select{width:100%;min-width:0;padding:15px 9px;min-height:55px;border:1px solid var(--line);border-radius:12px;background:white;font-size:16px}.app-standalone-search .button{margin-top:10px;border-radius:30px}.app-saved-intro{font-size:12px;color:var(--muted);margin:-10px 0 22px}.app-saved-list{display:grid;gap:17px}.app-saved-card{position:relative;border-bottom:1px solid var(--line);padding-bottom:17px}.app-saved-card>a{display:flex;gap:16px;align-items:center;padding-right:42px}.app-saved-card img{width:95px;height:115px;object-fit:cover;border-radius:14px}.app-saved-card h3{font-family:var(--font-display,'Fraunces',serif);font-size:27px;line-height:1.1;margin:6px 0}.app-saved-card p,.app-saved-card span{font-size:11px;color:var(--muted)}.app-saved-card>.app-save{position:absolute;right:0;top:33px;border-color:var(--line)}.app-empty{text-align:center;padding:30px 10px 40px}.app-empty>svg{width:42px;height:42px;color:var(--accent-text);margin:auto auto 20px}.app-empty h3{font-family:var(--font-display,'Fraunces',serif);font-size:33px}.app-empty p{font-size:13px;color:var(--muted);max-width:270px;margin:15px auto 25px}.app-empty .button{border-radius:30px}
.app-property-page .app-dock{display:none}.app-property-page .booking-breadcrumb{font-size:10px;padding-top:20px}.app-property-page .booking-title{position:relative;padding-right:78px}.app-property-page .booking-title h1{font-size:47px}.app-property-page .booking-title>.text-link{display:none}.app-property-actions{display:flex;position:absolute;right:0;top:35px;gap:6px}.app-property-actions .app-save,.app-property-actions .app-share{width:36px;height:36px;padding:8px;border-color:var(--line)}.app-property-page .booking-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;border-radius:20px;scrollbar-width:thin}.app-property-page .booking-gallery>.booking-photo{display:block;flex:0 0 92%;scroll-snap-align:start;min-width:0;width:auto;height:350px}.app-property-page .booking-gallery>.booking-photo img{width:100%;height:350px;object-fit:cover}.app-property-page .booking-gallery>.booking-photo>span{font-size:11px;bottom:15px;left:15px;right:auto}.app-property-page .booking-panel{scroll-margin-top:90px;border-radius:20px}.app-property-page .booking-reassurance{display:none}.app-property-page .booking-details>h2{font-size:34px}.app-property-page .booking-description{font-size:14px}.app-booking-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:55;background:#faf6f0f5;backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:13px 20px calc(13px + env(safe-area-inset-bottom));gap:15px;justify-content:space-between;align-items:center}.app-booking-bar>div{min-width:0;display:flex;flex-direction:column;gap:4px}.app-booking-bar strong{font-size:14px}.app-booking-bar span{font-size:10px;color:var(--muted)}.app-booking-bar>button{border-radius:28px;background:var(--ink);color:var(--paper);padding:15px 18px;font-size:12px;white-space:nowrap}.app-property-page #booking-review{border-radius:24px;width:calc(100% - 24px);max-height:calc(100dvh - 32px)}.app-property-page #photo-viewer{width:100%;max-height:100dvh;border-radius:0}.app-property-page .booking-review-content{padding:45px 23px 24px}
@media(prefers-reduced-motion:no-preference){.app-sheet[open]{animation:app-sheet-in .22s ease-out}.app-save{transition:transform .15s,background .15s}.app-save:active{transform:scale(.92)}}@keyframes app-sheet-in{from{transform:translateY(35px);opacity:.6}to{transform:translateY(0);opacity:1}}body[data-reduced-motion=true] .app-sheet{animation:none}
}
@media(max-width:760px){body.palmera-app{overflow-x:clip}.palmera-app .category-bar{margin-right:-20px}.motion-reduced .app-sheet{animation:none!important}.app-photo-rail>a:focus-visible{outline-offset:-4px}.app-sheet-heading h2{overflow-wrap:break-word;min-width:0}.app-sheet-close{min-width:40px}}
@media(max-width:350px){.app-search-body input[type=date]{font-size:14px}.app-search-body .search-field{padding:12px 9px}}
/* Immersive, freely scrolling mobile chapters. */
@media(max-width:760px){
html:has(body.palmera-app){scroll-snap-type:y proximity;scroll-padding-top:70px}.palmera-app .property-card:not(.collection-card),.app-scroll-film,.palmera-app .area-card,.palmera-app .area-grid>.area-link{scroll-snap-align:start;scroll-margin-top:0;scroll-snap-stop:normal}
.app-scroll-film{display:block;position:relative;isolation:isolate;width:100%;height:calc(100svh - 145px);min-height:480px;overflow:hidden;background:#171412;color:#faf6f0}.app-scroll-film video{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}.app-film-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#17141260,transparent 25%,transparent 50%,#171412b8)}.app-film-top{position:absolute;top:25px;left:22px;right:22px;display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:.12em}.app-film-copy{position:absolute;left:23px;bottom:30px;right:80px}.app-film-copy>p{font-size:12px;margin-bottom:12px}.app-film-copy h2{font-family:var(--font-display,'Fraunces',serif);font-size:clamp(42px,13vw,65px);line-height:1.03;letter-spacing:-.045em}.app-film-copy>span{display:block;font-size:11px;margin-top:22px}.app-film-controls{position:absolute;right:18px;bottom:29px;display:flex;flex-direction:column;align-items:center;gap:11px}.app-film-play{width:45px;height:45px;border:1px solid #ffffff75;border-radius:50%;color:#faf6f0;background:#17141240;font-size:20px}.app-film-sound{color:#faf6f0;font-size:9px;max-width:64px;border:1px solid #ffffff75;border-radius:20px;padding:10px;background:#17141240}.app-film-error{position:absolute;left:23px;right:23px;top:75px;font-size:12px}.palmera-app:has(.app-scroll-film) .life-film{display:none}
.palmera-app .property-grid{margin-inline:-20px;gap:12px}.palmera-app .property-card:not(.collection-card){height:calc(100svh - 145px);min-height:490px;overflow:hidden;background:var(--ink);color:var(--paper);isolation:isolate}.palmera-app .app-card-media{height:100%;border-radius:0}.palmera-app .app-photo-rail{height:100%}.palmera-app .app-photo-rail>a{height:100%}.palmera-app .app-photo-rail img{height:100%;width:100%;object-fit:cover}.palmera-app .app-card-caption{display:block!important;position:absolute;left:0;right:0;bottom:0;padding:95px 23px 22px;background:linear-gradient(transparent,#171412d9 58%);pointer-events:none}.app-card-caption a,.app-card-caption button{pointer-events:auto}.palmera-app .app-card-caption .card-meta{padding-top:0;align-items:center;gap:15px}.palmera-app .app-card-caption .card-meta h3{font-size:43px;line-height:1.1}.palmera-app .app-card-caption .card-type{color:#faf6f0;font-size:10px;opacity:.8}.palmera-app .app-card-caption .card-description{font-size:12px;color:#faf6f0;margin-top:5px;opacity:.9}.palmera-app .app-card-caption .card-specs{color:#faf6f0;opacity:.9;margin-top:11px;font-size:11px}.palmera-app .app-card-caption .card-price{font-size:13px;margin-top:9px;color:#faf6f0}.palmera-app .app-card-caption .card-price:empty{display:none}.palmera-app .app-card-caption .card-price span{color:#faf6f0}.palmera-app .app-card-caption .card-bottom{margin-top:16px;gap:20px;justify-content:space-between}.palmera-app .app-card-caption .card-bottom>a{background:var(--paper);color:var(--ink);border-radius:30px;padding:12px 19px;min-height:44px;font-size:12px}.palmera-app .app-card-caption .card-bottom>button{color:var(--paper);font-size:12px}.palmera-app .app-photo-count{bottom:auto;top:22px;right:70px;padding:5px 9px;font-size:10px}.palmera-app .app-card-media>.app-save{top:15px;right:17px}.palmera-app .app-photo-tag{top:22px;left:20px;padding:6px 10px}.palmera-app .collection-card{margin-inline:20px}
.palmera-app .area-grid{display:grid;grid-template-columns:1fr;border:0;gap:12px;margin-inline:calc(-1 * var(--pad))}.palmera-app .area-grid>.area-link{position:relative;isolation:isolate;padding:0 23px 30px!important;border:0!important;min-height:calc(100svh - 145px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#171412}.app-area-scene{display:block;position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:-2}.palmera-app .area-grid>.area-link:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#171412d9);z-index:-1}.palmera-app .area-link .area-index{color:var(--paper)}.palmera-app .area-link h3{font-family:var(--font-display,'Fraunces',serif);font-size:57px;margin:18px 0 12px}.palmera-app .area-link p{color:var(--paper);font-size:14px;max-width:260px}.palmera-app .area-link .area-action{align-self:flex-start;color:var(--paper);font-size:12px}
.palmera-app .area-track{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible;padding:0;margin-inline:-20px;gap:12px;scroll-snap-type:none}.palmera-app .area-card{position:relative;display:block;min-width:0;width:100%;height:calc(100svh - 145px);min-height:490px;overflow:hidden;color:var(--paper);background:var(--ink);border:0;border-radius:0}.palmera-app .area-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}.palmera-app .area-photo>img{height:100%;width:100%;object-fit:cover;aspect-ratio:auto}.palmera-app .area-photo-label{top:19px;left:20px;bottom:auto;right:auto;font-size:11px;padding:8px 13px;background:#faf6f0ef;color:var(--ink);border-radius:25px}.palmera-app .area-copy{position:absolute;left:0;right:0;bottom:0;padding:110px 23px 28px;background:linear-gradient(transparent,#171412e3);pointer-events:none}.palmera-app .area-copy a{pointer-events:auto}.palmera-app .area-copy h3{font-family:var(--font-display,'Fraunces',serif);font-size:44px;line-height:1.03;margin:16px 0 20px;max-width:310px;color:var(--paper)}.palmera-app .area-card-top,.palmera-app .area-count{color:var(--paper)}.palmera-app .area-copy .text-link{color:var(--paper);font-size:12px}.palmera-app .area-toolbar{position:relative}.palmera-app .area-explorer{overflow:clip}
html.motion-reduced:has(body.palmera-app){scroll-snap-type:none}
}@media(max-width:760px) and (prefers-reduced-motion:reduce){html:has(body.palmera-app){scroll-snap-type:none}}
@media(max-width:760px){.palmera-app .app-photo-tag{color:var(--ink)}}
