@font-face{font-family:Manrope;src:url('/assets/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/manrope-medium.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/manrope-semibold.ttf') format('truetype');font-weight:600 800;font-display:swap}
:root{--ink:#303234;--paper:#f3f1ec;--copper:#977054;--muted:#646565;--line:#d6d4cf;--white:#fff;--gutter:clamp(1.25rem,5.2vw,6rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6.5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}p,h1,h2,h3,figure{margin:0}button{color:inherit}h1,h2,h3{font-weight:500;line-height:1.12}h2{font-size:clamp(2.1rem,3.6vw,3.5rem);letter-spacing:-.05em}p{max-width:65ch}::selection{background:#bda088;color:#fff}:focus-visible{outline:3px solid var(--copper);outline-offset:5px}section[id]{scroll-margin-top:5.5rem}.section-shell{padding:6.5rem var(--gutter)}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.18em;line-height:1.6;margin-bottom:1.4rem}.copper{color:#80593e}.button{min-height:3.2rem;padding:.9rem 1.45rem;display:inline-flex;justify-content:center;align-items:center;text-align:center;gap:.5rem;border:1px solid transparent;border-radius:0;font-size:.875rem;font-weight:600;line-height:1.4;transition:background .2s,color .2s,border-color .2s;white-space:normal}.button-dark{color:var(--paper);background:var(--ink)}.button-dark:hover{background:#515456}.button-light{color:var(--ink);background:var(--paper)}.button-light:hover{background:#fff}.button-outline{background:transparent;border-color:#b5b4af}.button-outline:hover{border-color:var(--ink);background:#e8e5df}.button-small{min-height:2.8rem;padding:.75rem 1.1rem}.text-link{font-size:.875rem;display:inline-block;border-bottom:1px solid var(--copper);padding:.4rem 0}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:100;background:var(--paper);padding:1rem}.skip-link:focus{top:1rem}
.site-header{height:6.4rem;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--paper);position:relative;z-index:20}.brand{display:inline-flex;align-items:center;gap:.9rem;flex-shrink:0}.brand-mark{display:block;width:45px;height:41px;background-image:url('/assets/ancona-identidad.png');background-size:263px 175.3px;background-position:-56.8px -41px;background-repeat:no-repeat;mix-blend-mode:multiply;flex-shrink:0}.brand-type{font-size:1.37rem;letter-spacing:.22em;line-height:1.2;font-weight:500}.brand-type small{display:block;font-size:.75rem;letter-spacing:.65em;text-align:center;margin-top:.37rem;margin-right:-.36em}#main-nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.5rem)}#main-nav>a:not(.button){font-size:.875rem;position:relative}#main-nav>a:not(.button):after{content:'';position:absolute;left:0;right:100%;bottom:-.4rem;height:1px;background:var(--copper);transition:right .2s}#main-nav>a:hover:after{right:0}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:41% 59%;min-height:39rem;background:var(--ink);color:var(--paper)}.hero-copy{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:4.5rem 3rem 2rem var(--gutter);position:relative}.hero-copy .eyebrow{color:#c5b8aa;font-size:.75rem;margin-bottom:2rem}.hero h1{font-size:clamp(3.5rem,5.7vw,6rem);letter-spacing:-.055em;font-weight:400;line-height:1.04}.hero h1 span{color:#c6a98f}.hero-description{font-size:1rem;color:#dfded9;margin:1.75rem 0 2rem;line-height:1.8}.hero-bottom{display:flex;align-items:center;gap:1rem;font-size:.75rem;color:#c6c5c0;margin-top:3.5rem;letter-spacing:.015em}.tiny-line{display:block;width:2rem;height:1px;background:#af8a6c}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo img{height:100%;position:absolute;inset:0;object-position:48% center}.hero-photo:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.48))}.hero-photo figcaption{position:absolute;left:2rem;right:2rem;bottom:1.9rem;display:flex;justify-content:space-between;gap:1rem;z-index:1;font-size:.75rem;letter-spacing:.1em}.hero-photo figcaption span:last-child{letter-spacing:.02em}
.booking-wrap{display:grid;grid-template-columns:1.1fr 3.1fr;gap:3rem;padding:2.2rem var(--gutter);border-bottom:1px solid var(--line);background:#eeece6}.booking-intro .eyebrow{font-size:.75rem;margin-bottom:.5rem;color:#716454;letter-spacing:.13em}.booking-intro h2{font-size:1.3rem;line-height:1.4;letter-spacing:-.035em}.booking-form{display:grid;grid-template-columns:1fr 1fr .8fr 1.2fr;gap:1.25rem;align-items:center;position:relative}.field{min-width:0}.field label{display:block;font-size:.75rem;line-height:1.5;color:#6e6b66;margin-bottom:.55rem}.field input,.field select{background:transparent;border:0;border-bottom:1px solid #c5c2bb;border-radius:0;padding:0 0 .55rem;color:var(--ink);width:100%;font-size:.875rem;line-height:1.5;min-height:2.2rem}.field select{cursor:pointer}.booking-form>.button{align-self:center;margin-top:.7rem}.booking-note{grid-column:1/-1;font-size:.75rem;line-height:1.5;color:#6d6963;margin-top:-.5rem}
.intro{display:grid;grid-template-columns:1fr 1.3fr .6fr;gap:4rem;align-items:start}.intro-description p:first-child{font-size:1.28rem;line-height:1.55;letter-spacing:-.025em;margin:.1rem 0 1.1rem}.intro-description p:nth-child(2){font-size:.95rem;color:var(--muted);margin-bottom:1.5rem}.intro-detail{border-left:1px solid var(--line);padding-left:2.3rem;display:flex;flex-direction:column;gap:.4rem;margin-top:.3rem}.detail-number{font-size:4.7rem;letter-spacing:-.055em;line-height:1.2;color:#8e7762}.intro-detail>span:last-child{font-size:.75rem;line-height:1.8;color:#6a6a66}.rooms{padding-top:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:2.6rem}.section-heading>p{font-size:.95rem;line-height:1.8;color:var(--muted);max-width:25rem}.room-gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:1.25rem}.room-card{position:relative;border:0;padding:0;text-align:left;background:#e3e0d9;overflow:hidden;min-height:22rem}.room-card img{height:100%;position:absolute;inset:0;transition:transform .7s ease}.room-card:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.room-card:hover img{transform:scale(1.035)}.room-card-label{position:absolute;z-index:1;left:1.4rem;bottom:1.4rem;color:#fff;font-size:.9375rem}.room-card-label small{display:block;font-size:.75rem;letter-spacing:.12em;opacity:.85;margin-bottom:.45rem}.room-card-zoom{position:absolute;z-index:2;right:1rem;top:1rem;width:2rem;height:2rem;display:grid;place-items:center;border:1px solid #ffffff85;color:#fff;font-size:1.15rem;background:#30323440}.rooms-footer{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1.8rem}.rooms-footer>p{font-size:.8125rem;letter-spacing:.015em;color:var(--muted)}
.services{background:var(--ink);color:var(--paper)}.services .section-heading .eyebrow{color:#c4a58a}.services .section-heading>p{color:#d2d1cd}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:3.6rem}.service-grid article{padding:0 2rem;border-left:1px solid #555658}.service-grid article:first-child{padding-left:0;border-left:0}.service-grid article:last-child{padding-right:0}.service-grid svg{width:2rem;height:2rem;fill:none;stroke:#c9af97;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;margin-bottom:1.7rem}.service-grid h3{font-size:1.15rem;letter-spacing:-.025em;margin-bottom:.9rem}.service-grid p{font-size:.875rem;line-height:1.8;color:#cdcec9}.business{display:grid;grid-template-columns:.65fr 2fr 1fr;gap:3rem;align-items:center;border-bottom:1px solid var(--line)}.business-index{font-size:.75rem;letter-spacing:.15em;align-self:start;margin-top:.3rem;line-height:2}.business h2{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:1.5rem}.business p:not(.eyebrow){font-size:.95rem;color:var(--muted);max-width:31rem}.business>.button{justify-self:end}.location{display:grid;grid-template-columns:1fr 1fr;background:#eae7e0}.location-text{padding:5.7rem 3rem 5.7rem var(--gutter)}.location-text>p:not(.eyebrow){margin-top:1.5rem;color:var(--muted);font-size:.95rem}.location-text address{font-style:normal;font-size:.95rem;line-height:1.9;margin:2rem 0}.location-text address strong{font-weight:600}.location-photo{min-height:30rem;position:relative;overflow:hidden}.location-photo img{position:absolute;height:100%;object-position:25% center;transform:scale(1.03)}.location-label{position:absolute;left:2rem;bottom:2rem;right:2rem;background:var(--paper);padding:1rem 1.3rem;font-size:.75rem;letter-spacing:.1em;display:flex;align-items:center;gap:.8rem}.location-dot{display:block;height:.45rem;width:.45rem;background:var(--copper);border-radius:50%;flex-shrink:0}.contact{display:flex;align-items:center;justify-content:space-between;gap:3rem}.contact-details>p{font-size:.875rem;color:var(--muted)}.phone{font-size:clamp(1.6rem,3vw,2.7rem);letter-spacing:-.035em;display:block;margin:.4rem 0 1rem}.phone:hover{color:var(--copper)}.contact-secondary{font-size:.8125rem;border-bottom:1px solid var(--line);padding-bottom:.3rem}.site-footer{background:var(--ink);color:var(--paper);padding:2.3rem var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:2rem}.footer-brand .brand-mark{filter:grayscale(1) invert(1);mix-blend-mode:screen}.site-footer>p,.site-footer>span{font-size:.75rem;color:#ccccc7}.site-footer .brand-type{font-size:1.08rem}.site-footer .brand-type small{font-size:.56rem}
dialog{background:var(--paper);color:var(--ink);border:0;padding:2.2rem;max-width:35rem;width:calc(100% - 2rem);max-height:90dvh;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#111b;backdrop-filter:blur(4px)}body.modal-open{overflow:hidden}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.dialog-header .eyebrow{margin-bottom:1.5rem}.close-dialog{border:0;background:transparent;line-height:1;width:2.5rem;height:2.5rem;font-size:1.7rem;padding:0;display:grid;place-items:center;flex-shrink:0}.dialog-header>.close-dialog{margin-top:-.7rem;margin-right:-.7rem}dialog h2{font-size:2.1rem;margin-bottom:1.1rem}dialog>p{font-size:.9375rem;color:var(--muted)}dialog textarea{resize:vertical;background:#fff8;border:1px solid #cbc8c0;width:100%;margin:1.5rem 0;font-size:.9375rem;color:var(--ink);padding:1rem;border-radius:0;line-height:1.7}.dialog-actions{display:flex;gap:.75rem;flex-wrap:wrap}.dialog-actions>.button{flex:1}.dialog-status{margin-top:.9rem;min-height:1.5rem;font-size:.8125rem!important}.dialog-small{font-size:.75rem!important;padding-top:.7rem;border-top:1px solid var(--line)}.gallery-dialog{max-width:65rem;padding:1rem;background:#26282a;color:#fff;overflow:visible}.gallery-dialog>.close-dialog{position:absolute;right:.6rem;top:.6rem;background:#222a;color:#fff;z-index:1}.gallery-dialog>img{width:100%;max-height:73dvh;object-fit:contain;background:#202123}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem}.gallery-controls p{font-size:.8125rem;text-align:center;color:#e5e4e0}.gallery-controls button{border:1px solid #626365;background:transparent;color:#fff;padding:.55rem .8rem;font-size:.8125rem}
@media(min-width:1600px){.hero{min-height:46rem}.hero-copy{padding-right:5rem}.room-card{min-height:29rem}.section-shell{padding-top:7.5rem;padding-bottom:7.5rem}.rooms{padding-top:0}}
@media(max-width:1100px){:root{--gutter:2.5rem}.site-header{height:5.7rem;gap:1.5rem}#main-nav{gap:1.25rem}#main-nav>a:not(.button){font-size:.8125rem}.brand-type{font-size:1.1rem}.brand{gap:.5rem}.hero{grid-template-columns:44% 56%;min-height:37rem}.hero-copy{padding-right:2rem}.hero h1{font-size:4.5rem}.hero-photo figcaption{left:1.5rem;right:1.5rem}.hero-photo figcaption span:last-child{display:none}.booking-wrap{gap:1.5rem;grid-template-columns:1fr 3.5fr}.booking-form{gap:.8rem;grid-template-columns:1fr 1fr .8fr 1.1fr}.booking-form>.button{font-size:.8125rem;padding:.8rem}.intro{grid-template-columns:1fr 1.35fr;gap:3rem}.intro-detail{display:none}.section-shell{padding-top:5rem;padding-bottom:5rem}.rooms{padding-top:0}.room-card{min-height:18rem}.service-grid article{padding:0 1.2rem}.business{grid-template-columns:1.6fr 1fr;gap:2rem}.business-index{display:none}.location-text{padding-top:4.5rem;padding-bottom:4.5rem}.site-footer>p{display:none}}
@media(max-width:800px){:root{--gutter:1.5rem}.site-header{height:5.25rem}.menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:2.7rem;height:2.7rem;background:transparent;border:1px solid #c6c4bf}.menu-toggle span{display:block;width:1rem;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}#main-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:1.4rem var(--gutter) 1.8rem;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #0001;flex-direction:column;align-items:stretch;gap:1.1rem}#main-nav.is-open{display:flex}#main-nav>a:not(.button){font-size:1rem;padding:.3rem 0}.hero{min-height:35rem;grid-template-columns:48% 52%}.hero-copy{padding-top:3rem;padding-bottom:2rem;padding-right:1.5rem}.hero h1{font-size:3.6rem}.hero-description{font-size:.9375rem}.hero-copy .eyebrow{font-size:.75rem;margin-bottom:1.7rem}.hero-bottom{font-size:.75rem;margin-top:3rem;gap:.65rem}.hero-bottom .tiny-line{width:1rem;flex-shrink:0}.hero-photo img{object-position:43% center}.booking-wrap{grid-template-columns:1fr;padding-top:1.8rem;padding-bottom:1.6rem;gap:1.2rem}.booking-intro{display:flex;align-items:center;justify-content:space-between;gap:1rem}.booking-intro h2{font-size:1.1rem}.booking-intro h2 br{display:none}.booking-intro .eyebrow{margin:0;font-size:.75rem}.booking-form{grid-template-columns:1fr 1fr .9fr 1.25fr;gap:1rem}.section-shell{padding-top:4rem;padding-bottom:4rem}.intro{gap:2rem}.intro-description p:first-child{font-size:1.15rem}.rooms{padding-top:0}.section-heading{gap:2rem}.section-heading>p{max-width:15rem;font-size:.875rem}.room-gallery{grid-template-columns:1fr 1fr;gap:1rem}.room-card{min-height:19rem}.room-card:first-child{grid-column:1/-1;min-height:24rem}.room-card:first-child img{object-position:center 54%}.service-grid{grid-template-columns:1fr 1fr;gap:2rem 0}.service-grid article:nth-child(3){border:0;padding-left:0}.service-grid article:nth-child(2){padding-right:0}.business{grid-template-columns:1.4fr 1fr}.location{grid-template-columns:1fr 1fr}.location-text{padding:3.5rem 1.5rem}.location-text h2{font-size:2rem}.location-text p br{display:none}.location-label{left:1rem;right:1rem;bottom:1rem;font-size:.75rem;padding:.8rem;letter-spacing:.04em}.location-photo{min-height:29rem}.contact{gap:2rem}.contact-secondary{font-size:.75rem}.site-footer{padding-top:1.8rem;padding-bottom:1.8rem}}
@media(max-width:580px){:root{--gutter:1.25rem}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:2.5rem var(--gutter) 2rem;display:block}.hero-copy .eyebrow{margin-bottom:1.3rem}.hero h1{font-size:clamp(3.25rem,12.2vw,4.5rem);line-height:1.07}.hero h1 br:first-of-type{display:none}.hero h1 br:first-of-type:after{content:' '}.hero h1{max-width:30rem}.hero-description{margin:1.25rem 0 1.5rem}.hero-bottom{display:none}.hero-photo{min-height:22rem;aspect-ratio:1.16}.hero-photo img{object-position:50% 50%}.hero-photo figcaption{bottom:1rem;left:1.25rem;font-size:.75rem}.hero-photo figcaption span:last-child{display:block}.booking-intro{display:block}.booking-intro .eyebrow{margin-bottom:.45rem;font-size:.75rem}.booking-intro h2{font-size:1.3rem}.booking-form{grid-template-columns:1fr 1fr;gap:1rem}.booking-form>.button{margin-top:1rem;font-size:.875rem;min-height:3rem}.field input,.field select{font-size:1rem}.field label{font-size:.8125rem}.booking-note{margin:0;font-size:.75rem}.section-shell{padding-top:3.5rem;padding-bottom:3.5rem}.eyebrow{font-size:.75rem;letter-spacing:.13em;margin-bottom:1rem}h2{font-size:2.3rem;letter-spacing:-.045em}.intro{grid-template-columns:1fr;gap:1.5rem}.intro h2 br{display:none}.intro-description p:first-child{font-size:1.15rem}.intro-description p:nth-child(2){font-size:.9375rem}.rooms{padding-top:0}.section-heading{display:block;margin-bottom:1.7rem}.section-heading>p{max-width:100%;margin-top:1.3rem;font-size:.9375rem}.room-gallery{grid-template-columns:1fr;gap:1rem}.room-card,.room-card:first-child{min-height:18rem;grid-column:auto;aspect-ratio:1.3}.room-card-label{font-size:1rem}.room-card-label small{font-size:.75rem}.rooms-footer{display:block;margin-top:1.2rem}.rooms-footer>p{font-size:.75rem;margin-bottom:1.3rem}.rooms-footer .button{width:100%}.service-grid{margin-top:2.5rem;gap:2rem}.service-grid article{padding:0!important;border:0!important}.service-grid h3{font-size:1rem;line-height:1.3}.service-grid p{font-size:.875rem;line-height:1.75}.service-grid svg{margin-bottom:1.25rem}.business{display:block}.business h2{font-size:2.1rem}.business>.button{margin-top:1.8rem}.location{display:flex;flex-direction:column}.location-text{padding:3.5rem var(--gutter)}.location-text h2{font-size:2.3rem}.location-text address{margin:1.5rem 0}.location-photo{min-height:22rem}.location-label{font-size:.75rem;max-width:23rem}.contact{display:block}.contact h2 br{display:none}.contact-details{margin-top:2rem}.phone{font-size:2rem}.contact-secondary{font-size:.8125rem}.site-footer{display:block;padding-top:2rem;padding-bottom:2rem}.site-footer>span{display:block;margin-top:1.5rem}.site-footer .brand-type{font-size:1.2rem}dialog{padding:1.4rem}dialog h2{font-size:1.8rem}.dialog-actions{flex-direction:column}.gallery-dialog{padding:.5rem}.gallery-controls{gap:.5rem}.gallery-controls button{padding:.55rem;font-size:.75rem}.gallery-controls p{font-size:.75rem}.gallery-dialog>img{max-height:70dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Main reading text and regularly used control labels. */
.intro-description p:nth-child(2),.section-heading>p,.service-grid p,.business p:not(.eyebrow),.location-text>p:not(.eyebrow),.location-text address{font-size:1rem}.field label{font-size:.875rem}

/* Renovation gallery and direct WhatsApp contact. */
.room-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.room-card,.room-card:first-child{grid-column:auto;min-height:22rem;aspect-ratio:4/3}
.room-card:first-child img{object-position:50% 57%}
.whatsapp-floating{position:fixed;right:1.25rem;bottom:1.25rem;z-index:25;padding:.85rem 1.35rem;border-radius:2rem;background:#176b43;color:#fff;font-size:1rem;font-weight:600;box-shadow:0 4px 20px #0003;border:1px solid #ffffff40}
.whatsapp-floating:hover{background:#125737}
.site-footer{padding-bottom:6rem}
@media(max-width:580px){.room-gallery{grid-template-columns:1fr}.room-card,.room-card:first-child{min-height:18rem;aspect-ratio:4/3}.whatsapp-floating{right:1rem;bottom:1rem}}
