[hidden]{display:none!important}:root{--color-bg:#fcfbfa;--color-surface:#fff;--color-surface-2:#f6f1ef;--color-fill:#ece9ea;--color-fill-hover:#e5e1e2;--color-fill-active:#ded9da;--color-border:#e3dcdc;--color-border-strong:#bbb1b3;--color-text:#251e20;--color-text-muted:#625a5c;--color-text-faint:#8e8285;--color-accent:#b02a2d;--color-accent-hover:#9f141e;--color-on-accent:#fff;--color-accent-soft:#f6e6e4;--color-accent-soft-hover:#fad7d4;--color-accent-border:#e5a7a1;--color-accent-text:#a8282b;--color-focus:#da8e88;--color-whatsapp:#0f7a43;--color-whatsapp-soft:#e3f2e8;--color-danger:#e5484d;--color-danger-soft:#f8e5e4;--color-danger-text:#c42533;--color-success:#30a46c;--color-success-soft:#dff0e5;--color-success-text:#007b46;--color-warning:#ffc21f;--color-on-warning:#2b2009;--color-warning-soft:#ffecbd;--color-warning-text:#946800;--color-accent-12:#5f1f1e;--font-body:"Geologica", ui-sans-serif, system-ui, sans-serif;--font-display:"Abhaya Libre", ui-serif, Georgia, serif;--font-size-xs:.68rem;--font-size-sm:.85rem;--font-size-base:1.063rem;--font-size-md:1.328rem;--font-size-lg:1.66rem;--font-size-xl:2.075rem;--font-size-2xl:2.594rem;--font-size-3xl:3.242rem;--font-size-4xl:4.053rem;--font-leading-tight:1.1;--font-leading-snug:1.4;--font-leading-body:1.55;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem;--space-11:6rem;--space-12:8rem;--space-bar:5.5rem;--space-page:1120px;--space-strip:3.25rem;--space-measure:58ch;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:999px;--radius-stone:4.75rem;--shadow-bar:0 -1px 0 #251e200f, 0 -8px 24px -8px #251e201f;--ease-out:cubic-bezier(.23, 1, .32, 1);--duration-fast:.15s;--duration:.2s}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--font-leading-body);caret-color:var(--color-accent);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--color-accent-soft-hover);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:var(--color-accent-text);text-underline-offset:.2em}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-weight:var(--font-weight-bold);margin:0}p{margin:0}svg{flex:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page{min-height:100vh;padding-bottom:var(--space-bar);flex-direction:column;display:flex}.wrap{width:100%;max-width:var(--space-page);padding:0 var(--space-5);margin:0 auto}main{flex:1}.topbar{z-index:10;background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0}.topbar .wrap{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:3.75rem;display:flex}.brand{min-height:2.75rem;color:var(--color-text);flex-direction:column;justify-content:center;line-height:1;text-decoration:none;display:flex}.brand-name{font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-md)}.brand-place{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.menu{position:relative}.menu summary{align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-medium);background:var(--color-surface);list-style:none;display:inline-flex}.menu summary::-webkit-details-marker{display:none}.menu summary svg{font-size:1.25rem}.menu .icon-close{display:none}.menu[open] .icon-close{display:inline}.menu[open] .icon-open,.menu:not([open]) .menu-list{display:none}.menu-list{right:0;top:calc(100% + var(--space-2));width:min(18rem, calc(100vw - 2 * var(--space-5)));padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:0;list-style:none;position:absolute}.menu-list a{min-height:3rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-md);align-items:center;text-decoration:none;display:flex}.menu-list a:hover{background:var(--color-surface-2)}.menu-list a[aria-current=page]{color:var(--color-accent-text);font-weight:var(--font-weight-medium)}.navbar{display:none}.navbar a{color:var(--color-text);padding:var(--space-2) 0;border-bottom:2px solid #0000;text-decoration:none}.navbar a:hover{color:var(--color-accent-text)}.navbar a[aria-current=page]{border-bottom-color:var(--color-accent)}@media (min-width:900px){.menu{display:none}.navbar{align-items:center;gap:var(--space-6);display:flex}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:3.25rem;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font:inherit;font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;border:1px solid #0000;text-decoration:none;display:inline-flex}.btn svg{font-size:1.25rem}.btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-surface-2)}.btn-small{min-height:2.75rem;padding:var(--space-2) var(--space-4)}.navbar .btn{color:var(--color-on-accent);padding:var(--space-2) var(--space-4);border-bottom:0;min-height:2.75rem}@media (prefers-reduced-motion:no-preference){.btn,.menu-list a,.navbar a{transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out)}}.contact-bar{z-index:20;gap:var(--space-3);padding:var(--space-3) var(--space-5) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--color-surface);box-shadow:var(--shadow-bar);grid-template-columns:1fr 1fr;display:grid;position:fixed;bottom:0;left:0;right:0}.contact-bar a{justify-content:center;align-items:center;gap:var(--space-2);min-height:3.25rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-weight:var(--font-weight-medium);text-decoration:none;display:inline-flex}.contact-bar svg{font-size:1.375rem}.contact-call{background:var(--color-accent);color:var(--color-on-accent)}.contact-call:hover{background:var(--color-accent-hover)}.contact-wa{background:var(--color-surface);color:var(--color-whatsapp);border:1.5px solid var(--color-whatsapp)}.contact-wa:hover{background:var(--color-whatsapp-soft)}@media (min-width:900px){.page{padding-bottom:0}.contact-bar{z-index:11;justify-content:flex-end;align-items:center;gap:var(--space-3);height:var(--space-strip);padding:0 max(var(--space-5), calc((100% - var(--space-page)) / 2 + var(--space-5)));background:var(--color-surface-2);box-shadow:none;order:-1;display:flex;position:sticky;top:0}.contact-bar a{height:2.25rem;min-height:0;padding:0 var(--space-4);font-size:var(--font-size-sm)}.contact-bar svg{font-size:1.125rem}.topbar{top:var(--space-strip)}}.page-head{padding:var(--space-7) 0 var(--space-5)}.page-title{font-family:var(--font-display);font-size:var(--font-size-2xl);line-height:var(--font-leading-tight);letter-spacing:-.01em}.page-lede{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-md);line-height:var(--font-leading-snug);max-width:36rem}.section{padding:var(--space-8) 0}.section+.section{border-top:1px solid var(--color-border)}.section-title{font-family:var(--font-display);font-size:var(--font-size-xl);line-height:var(--font-leading-tight);margin-bottom:var(--space-4)}.muted{color:var(--color-text-muted)}.small{font-size:var(--font-size-sm)}.lead-photo{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-lg);background:var(--color-surface-2);width:100%}.actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.actions .btn{flex:10rem}.milestone{background:var(--color-surface);border:1.5px solid var(--color-text);border-radius:var(--radius-stone) var(--radius-stone) var(--radius-sm) var(--radius-sm);text-align:center;flex-direction:column;align-items:center;min-width:9.5rem;display:inline-flex;overflow:hidden}.milestone-cap{background:var(--color-accent);align-self:stretch;height:2.5rem}.milestone-place{padding:var(--space-2) var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--font-leading-snug)}.milestone-dist{padding:0 var(--space-3) var(--space-3);font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;line-height:1.1}.milestone-row{align-items:center;gap:var(--space-4);display:flex}.milestone-note{gap:var(--space-1);flex-direction:column;display:flex}.milestone-note p{align-items:center;gap:var(--space-2);display:flex}.hero{padding:var(--space-4) 0 var(--space-6)}.hero-photo{aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-lg);width:100%}.hero-body{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-top:var(--space-4);display:flex}.hero-title{font-family:var(--font-display);font-size:var(--font-size-2xl);letter-spacing:-.02em;line-height:1}.hero-line{margin-top:var(--space-2);color:var(--color-text-muted);line-height:var(--font-leading-snug)}.hero .milestone{min-width:7.5rem}.hero .milestone-cap{height:1.75rem}.hero .milestone-dist{font-size:var(--font-size-lg)}.hero .actions{margin-top:var(--space-5)}@media (min-width:900px){.hero{gap:var(--space-8);padding:var(--space-8) 0;grid-template-columns:1.3fr 1fr;align-items:center;display:grid}.hero-photo{aspect-ratio:4/3}.hero-body{margin-top:0}.hero-title{font-size:var(--font-size-4xl)}.hero-line{font-size:var(--font-size-md)}}.tariff{gap:var(--space-6);margin:0;padding:0;list-style:none;display:grid}.room{gap:var(--space-4);color:inherit;text-decoration:none;display:grid}.room-photo{aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-lg);background:var(--color-surface-2);width:100%}.room-top{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.room-name{font-family:var(--font-display);font-size:var(--font-size-lg);line-height:var(--font-leading-tight)}.room-price{font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);white-space:nowrap;font-variant-numeric:tabular-nums}.room-price span{font-family:var(--font-body);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--color-text-muted)}.facts{margin:var(--space-2) 0 0;gap:var(--space-2) var(--space-4);color:var(--color-text-muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.facts li{align-items:center;gap:var(--space-2);display:inline-flex}.facts svg{color:var(--color-text)}.tariff-compact{border-top:1px solid var(--color-border);gap:0}.tariff-compact li{border-bottom:1px solid var(--color-border)}.tariff-compact a{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:4rem;padding:var(--space-3) 0;color:var(--color-text);text-decoration:none;display:flex}.tariff-compact a:hover .room-name{color:var(--color-accent-text)}.tariff-compact .room-name{font-size:var(--font-size-md)}@media (min-width:700px){.tariff:not(.tariff-compact){gap:var(--space-8) var(--space-6);grid-template-columns:1fr 1fr}}.info{border-top:1px solid var(--color-border);gap:0;margin:0;display:grid}.info>div{gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);grid-template-columns:7.5rem 1fr;display:grid}.info dt{color:var(--color-text-muted)}.info dd{margin:0}.info dd a{min-height:2.75rem;margin:calc(-1 * var(--space-3)) 0;align-items:center;display:inline-flex}.panel{background:var(--color-surface-2);border-radius:var(--radius-lg);padding:var(--space-5)}.two-col{gap:var(--space-6);display:grid}@media (min-width:900px){.two-col{gap:var(--space-8);grid-template-columns:1fr 1fr;align-items:start}}.map{aspect-ratio:4/3;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-2);text-align:center;padding:var(--space-5);color:var(--color-text-muted);justify-content:center;align-items:center;display:flex;position:relative}.map svg{color:var(--color-accent);font-size:2rem}.gallery{gap:var(--space-3);grid-template-columns:1fr 1fr;margin:0;display:grid}.gallery figure{margin:0}.gallery img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);width:100%}.gallery figure.wide{grid-column:1/-1}.gallery figure.wide img{aspect-ratio:3/2}.gallery figcaption{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}@media (min-width:900px){.gallery{grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:var(--space-5)}.gallery figure.wide{grid-column:span 2}.gallery figure.wide img{aspect-ratio:2}}.form{gap:var(--space-5);max-width:36rem;display:grid}.field{gap:var(--space-1);display:grid}.field label{min-height:2.75rem;font-weight:var(--font-weight-medium);align-items:flex-end;display:flex}.field{min-width:0}.field .hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.input{width:100%;min-width:0;max-width:100%;min-height:3.25rem;padding:var(--space-3) var(--space-4);font:inherit;font-size:var(--font-size-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);display:block}.input:hover{border-color:var(--color-text-muted)}.input:focus-visible{outline:2px solid var(--color-focus);outline-offset:0;border-color:var(--color-accent)}.row-2{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.notice{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-success-soft);color:var(--color-text);align-items:flex-start;display:flex}.notice svg{color:var(--color-success-text);margin-top:2px;font-size:1.5rem}.footer{margin-top:var(--space-9);background:var(--color-surface-2);padding:var(--space-8) 0}.footer .wrap{gap:var(--space-5);display:grid}.footer-name{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1}.footer address{color:var(--color-text-muted);font-style:normal}.footer address a{align-items:center;min-height:2.75rem;display:inline-flex}.footer-links{gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.footer-links a{color:var(--color-text);align-items:center;min-height:2.75rem;display:inline-flex}.sample-note{font-size:var(--font-size-sm);color:var(--color-text-muted)}.back{padding-top:var(--space-4)}.back a{align-items:center;gap:var(--space-1);min-height:2.75rem;color:var(--color-text);font-weight:var(--font-weight-medium);text-decoration:none;display:inline-flex}.back a:hover{color:var(--color-accent-text)}.back svg{font-size:1.25rem}.room-photo-link{border-radius:var(--radius-lg);display:block}.room-name a{color:inherit;text-decoration:none}.room-name a:hover{color:var(--color-accent-text)}.room .actions .btn{flex:8rem}.room-detail{gap:var(--space-6);padding-top:var(--space-3);display:grid}.room-gallery{gap:var(--space-2);margin:0;display:grid}.room-gallery-main{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-lg);background:var(--color-surface-2);width:100%}.room-gallery-strip{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.room-gallery-strip img{aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-md);background:var(--color-surface-2);width:100%}.room-detail-price{margin-top:var(--space-3);font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;line-height:1}.room-detail-price span{font-family:var(--font-body);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--color-text-muted)}.amenities{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.amenities li{align-items:center;gap:var(--space-3);display:flex}.amenities svg{font-size:1.25rem}@media (min-width:900px){.room-detail{gap:var(--space-8);grid-template-columns:1.2fr 1fr;align-items:start}}.pick-set{border:0;min-width:0;margin:0;padding:0}.pick-legend{margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);padding:0}.pick-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.pick{align-items:center;gap:var(--space-3);min-height:4rem;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;display:flex}.pick:hover{border-color:var(--color-text-muted)}.pick:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.pick:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.pick input{width:1.25rem;height:1.25rem;accent-color:var(--color-accent);flex:none;margin:0}.pick-main{flex-direction:column;flex:1;min-width:0;display:flex}.pick-main .room-name{font-size:var(--font-size-md)}.pick-label{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-medium);display:inline-flex}.pick-label svg{font-size:1.25rem}.pick-note{font-size:var(--font-size-sm);color:var(--color-text-muted)}.pick .room-price{font-size:var(--font-size-md)}.pick-full{cursor:not-allowed;background:var(--color-surface-2);border-color:var(--color-border)}.pick-full:hover{border-color:var(--color-border)}.pick-full .room-name,.pick-full .room-price{color:var(--color-text-muted)}.pick-full .pick-note{color:var(--color-danger-text)}.sum-head{font-weight:var(--font-weight-medium)}.sum{margin:var(--space-2) 0 var(--space-3);gap:var(--space-2);display:grid}.sum>div{justify-content:space-between;gap:var(--space-4);display:flex}.sum dt{color:var(--color-text-muted)}.sum dd{font-variant-numeric:tabular-nums;margin:0}.sum-total{padding-top:var(--space-2);border-top:1px solid var(--color-border)}.sum-total dt{color:var(--color-text);font-weight:var(--font-weight-medium)}.sum-total dd{font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);line-height:1.1}.notice-warn{background:var(--color-warning-soft)}.notice-warn svg{color:var(--color-warning-text)}.map-figure{gap:var(--space-2);margin:0;display:grid}.map-figure .map{aspect-ratio:1;padding:0;display:block;overflow:hidden}.map-tiles{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;display:grid;position:absolute;inset:0}.map-tiles img{object-fit:cover;width:100%;height:100%}.map-pin{color:var(--color-accent);flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.map-pin svg{font-size:2.5rem}.map-label{margin-top:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap}main p,footer p,.info dd,figcaption{max-width:var(--space-measure)}.page-head+.two-col{margin-top:var(--space-6)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{left:var(--space-4);z-index:30;padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);position:absolute;top:-4rem}.skip:focus{top:var(--space-2)}.soon{margin-bottom:var(--space-9)}select.input{appearance:none;padding-right:var(--space-8);cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--color-text) 50%), linear-gradient(135deg, var(--color-text) 50%, transparent 50%);background-position:calc(100% - 1.4rem),calc(100% - 1rem);background-repeat:no-repeat;background-size:.4rem .4rem}.input[aria-invalid=true]{border-color:var(--color-danger)}.field-error{font-size:var(--font-size-sm);color:var(--color-danger-text);font-weight:var(--font-weight-medium)}.notice-error{background:var(--color-danger-soft)}.form .btn{justify-self:start;min-width:12rem}.btn:disabled{cursor:progress;opacity:.7}.form-note{font-size:var(--font-size-sm);color:var(--color-text-muted)}.btn-off:disabled,.btn-off:disabled:hover{background:var(--color-fill);color:var(--color-text-faint);cursor:not-allowed;opacity:1}
