:root{--ink: #171511;--ink-soft: #2a2721;--charcoal: #12110f;--gold: #c9a56a;--gold-dark: #9e7b43;--sand: #f1ece2;--cream: #faf8f3;--white: #fff;--muted: #716b62;--line: rgba(23, 21, 17, .14);--shadow: 0 24px 70px rgba(18, 17, 15, .13);--radius: 4px;--container: 1240px;--serif: "Playfair Display", Georgia, serif;--sans: "DM Sans", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.035em}h2{font-size:clamp(2.25rem,4vw,4rem)}h3{font-size:1.25rem}::selection{background:var(--gold);color:var(--ink)}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.section{padding:112px 0}.section--sand{background:var(--sand)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:9999;top:12px;left:12px;padding:10px 16px;background:var(--white);transform:translateY(-160%)}.skip-link:focus{transform:none}.eyebrow{display:inline-block;margin-bottom:20px;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.22em;line-height:1.4;text-transform:uppercase}.eyebrow--dark{color:var(--gold-dark)}.section-heading{margin-bottom:54px}.section-heading h2{max-width:780px;margin-bottom:0}.section-heading--row{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading--center{max-width:760px;margin-inline:auto;text-align:center}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:13px 24px;border:1px solid transparent;border-radius:0;cursor:pointer;font-size:.78rem;font-weight:700;letter-spacing:.09em;line-height:1.2;text-align:center;text-transform:uppercase;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}.button:hover{transform:translateY(-2px)}.button--gold{color:#18140d;background:var(--gold);border-color:var(--gold)}.button--gold:hover{background:#dfbd81;border-color:#dfbd81}.button--whatsapp{color:var(--white);background:#238c51;border-color:#238c51}.button--whatsapp:hover{color:var(--white);background:#197442;border-color:#197442}.button--glass{color:var(--white);background:#ffffff14;border-color:#ffffff73;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.button--glass:hover{background:var(--white);color:var(--ink)}.button--outline{color:var(--ink);border-color:var(--line)}.button--outline:hover,.button--outline-dark:hover{border-color:var(--gold-dark);color:var(--gold-dark)}.button--outline-dark{border-color:#17151159;color:var(--ink);background:transparent}.button--small{min-height:42px;padding:10px 16px;font-size:.7rem}.button--large{min-height:60px;padding-inline:34px}.button--block{width:100%}.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:.79rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.text-link span{color:var(--gold-dark);font-size:1.1rem;transition:transform .2s ease}.text-link:hover span{transform:translate(4px)}.topbar{position:relative;z-index:80;color:#d8d1c4;background:#090806;border-bottom:1px solid rgba(255,255,255,.09);font-size:.75rem;letter-spacing:.04em}.topbar__inner{display:flex;min-height:37px;align-items:center;justify-content:space-between}.topbar__links{display:flex;gap:30px}.topbar a:hover{color:var(--gold)}.site-header{position:sticky;z-index:70;top:0;height:86px;color:var(--white);background:#12110ff7;border-bottom:1px solid rgba(255,255,255,.09);transition:height .25s ease,box-shadow .25s ease}.site-header.is-scrolled{height:74px;box-shadow:0 10px 35px #00000038}.site-header__inner{display:flex;height:100%;align-items:center;justify-content:space-between}.brand img{width:225px;height:auto}.primary-nav{display:flex;align-items:center;gap:clamp(20px,2.4vw,36px)}.primary-nav>a:not(.button){position:relative;padding:10px 0;color:#e8e2d8;font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.primary-nav>a:not(.button):after{position:absolute;right:0;bottom:4px;left:0;height:1px;background:var(--gold);content:"";transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.primary-nav>a:hover:after,.primary-nav>a.is-active:after{transform:scaleX(1);transform-origin:left}.nav-booking{min-height:44px;padding:10px 20px}.menu-toggle{display:none;width:44px;height:44px;padding:10px;border:0;background:transparent;cursor:pointer}.menu-toggle span:not(.sr-only){display:block;width:24px;height:1px;margin:6px 0;background:var(--white)}.home-hero{position:relative;display:grid;min-height:calc(100svh - 123px);align-items:center;color:var(--white);background-image:linear-gradient(90deg,#090806db,#09080685 48%,#09080614 82%),var(--hero-image);background-position:center;background-size:cover;overflow:hidden}.home-hero:after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,8,6,.36),transparent 45%);content:""}.home-hero__content{position:relative;z-index:2;padding-top:40px;padding-bottom:120px}.home-hero h1{max-width:830px;margin-bottom:28px;font-size:clamp(3.5rem,7.5vw,7.2rem);line-height:.98}.home-hero p{max-width:630px;margin-bottom:38px;color:#e0d9ce;font-size:clamp(1.05rem,1.6vw,1.3rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}.home-hero__scroll{position:absolute;z-index:3;right:38px;bottom:94px;display:flex;align-items:center;gap:14px;color:#d2cabd;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;transform:rotate(90deg);transform-origin:right center}.home-hero__scroll span{display:block;width:58px;height:1px;background:var(--gold)}.booking-strip{position:relative;z-index:10;margin-top:-66px}.booking-form{display:grid;grid-template-columns:repeat(4,1fr) auto;align-items:stretch;background:var(--white);box-shadow:var(--shadow)}.booking-form label{display:flex;min-height:132px;flex-direction:column;justify-content:center;padding:26px 28px;border-right:1px solid var(--line)}.booking-form label span{margin-bottom:8px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.booking-form input,.booking-form select{width:100%;padding:0;color:var(--ink);background:transparent;border:0;outline:0;font-size:.95rem;font-weight:600}.booking-form .button{min-width:220px}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px 100px;align-items:start}.intro-grid .section-heading{margin-bottom:0}.intro-copy{padding-top:37px}.intro-copy .rich-text{color:var(--muted);font-size:1.08rem}.intro-numbers{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro-numbers div{display:flex;align-items:baseline;gap:14px;padding:30px;border-right:1px solid var(--line)}.intro-numbers div:last-child{border:0}.intro-numbers strong{font-family:var(--serif);font-size:3rem;font-weight:500}.intro-numbers span{color:var(--muted);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}.apartment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.apartment-card{min-width:0;background:var(--white);box-shadow:0 14px 40px #201b1212;transition:transform .35s ease,box-shadow .35s ease}.apartment-card:hover{transform:translateY(-6px);box-shadow:0 24px 55px #201b1221}.apartment-card__image{position:relative;display:block;aspect-ratio:16 / 10;overflow:hidden}.apartment-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.apartment-card:hover .apartment-card__image img{transform:scale(1.035)}.apartment-card__price{position:absolute;right:0;bottom:0;padding:13px 18px;color:var(--ink);background:var(--gold);font-size:.75rem}.apartment-card__price strong{font-size:1.15rem}.apartment-card__body{padding:30px 32px 28px}.apartment-card__meta{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:15px;color:var(--muted);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.apartment-card__meta span{position:relative}.apartment-card__meta span:not(:last-child):after{position:absolute;top:50%;right:-13px;width:3px;height:3px;border-radius:50%;background:var(--gold);content:""}.apartment-card h3{margin-bottom:12px;font-family:var(--serif);font-size:1.9rem;font-weight:500}.apartment-card p{min-height:52px;margin-bottom:24px;color:var(--muted)}.apartment-card__actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:22px;border-top:1px solid var(--line)}.benefits-section{background:var(--cream)}.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.benefit{position:relative;min-height:320px;padding:35px 28px;border-right:1px solid var(--line)}.benefit:last-child{border:0}.benefit>span{position:absolute;top:22px;right:22px;color:var(--gold-dark);font-size:.64rem;font-weight:700}.benefit svg{width:48px;height:48px;margin:18px 0 50px;fill:none;stroke:var(--gold-dark);stroke-width:1.3}.benefit h3{font-family:var(--serif);font-size:1.45rem;font-weight:500}.benefit p{margin:0;color:var(--muted);font-size:.9rem}.destination-section{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px;color:var(--white);background:var(--charcoal)}.destination-section__image img{width:100%;height:100%;object-fit:cover}.destination-section__content{display:flex;max-width:650px;flex-direction:column;align-items:flex-start;justify-content:center;padding:90px 9vw}.destination-section__content h2{margin-bottom:24px;font-size:clamp(2.7rem,4.8vw,5rem)}.destination-section__content>p{color:#cfc8bc}.check-list{display:grid;gap:13px;margin:20px 0 34px;padding:0;list-style:none}.check-list li{position:relative;padding-left:25px;color:#e8e0d3}.check-list li:before{position:absolute;top:.75em;left:0;width:10px;height:1px;background:var(--gold);content:""}.check-list--dark li{color:var(--ink-soft)}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.event-card{background:var(--white);border:1px solid var(--line)}.event-card__image{position:relative;display:block;aspect-ratio:3 / 2;overflow:hidden}.event-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.event-card:hover img{transform:scale(1.04)}.event-card time{position:absolute;bottom:0;left:0;display:flex;width:72px;height:75px;flex-direction:column;align-items:center;justify-content:center;color:var(--ink);background:var(--gold);font-size:.62rem;font-weight:700;letter-spacing:.08em}.event-card time strong{font-family:var(--serif);font-size:1.7rem;font-weight:500;line-height:1}.event-card__body{padding:26px}.event-card__location{display:block;margin-bottom:11px;color:var(--gold-dark);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.event-card h3{margin-bottom:12px;font-family:var(--serif);font-size:1.55rem;font-weight:500}.event-card p{color:var(--muted);font-size:.9rem}.closing-cta{position:relative;display:grid;min-height:610px;place-items:center;color:var(--white);text-align:center;background-image:linear-gradient(#090806b8,#090806b8),var(--hero-image);background-position:center;background-size:cover}.closing-cta__inner{position:relative;max-width:820px}.closing-cta h2{margin-bottom:20px;font-size:clamp(3rem,6vw,6rem)}.closing-cta p{max-width:630px;margin:0 auto 34px;color:#ded7cb;font-size:1.1rem}.page-hero{position:relative;display:grid;min-height:500px;align-items:end;color:var(--white);background-image:linear-gradient(90deg,#090806d1,#09080652),var(--hero-image);background-position:center;background-size:cover}.page-hero:after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,8,6,.65),transparent 70%);content:""}.page-hero__inner{position:relative;z-index:2;padding-bottom:76px}.page-hero h1{max-width:940px;margin-bottom:20px;font-size:clamp(3.2rem,6.5vw,6.3rem)}.page-hero p{max-width:760px;margin:0;color:#e3ddd2;font-size:1.12rem}.content-intro{display:flex;align-items:start;justify-content:space-between;gap:40px;margin-bottom:52px;padding-bottom:34px;border-bottom:1px solid var(--line)}.content-intro .rich-text{max-width:720px}.content-intro>p{max-width:360px;color:var(--muted)}.apartment-grid--all{grid-template-columns:repeat(2,1fr)}.empty-state{grid-column:1 / -1;padding:50px;color:var(--muted);background:var(--white);border:1px solid var(--line);text-align:center}.direct-booking-bar{padding:55px 0;color:var(--white);background:var(--charcoal)}.direct-booking-bar .container{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:60px}.direct-booking-bar .eyebrow{margin-bottom:8px}.direct-booking-bar h2{margin:0;font-size:2rem}.direct-booking-bar p{margin:0;color:#cfc8bc}.direct-booking-bar p a{color:var(--gold)}.detail-hero{padding:70px 0 0;background:var(--sand)}.detail-hero__heading{margin-bottom:42px}.back-link{display:inline-block;margin-bottom:36px;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.back-link:hover{color:var(--gold-dark)}.back-link--light{color:#e7dfd2}.detail-hero h1{margin-bottom:22px;font-size:clamp(3.5rem,6vw,6rem)}.detail-facts{display:flex;flex-wrap:wrap;gap:14px 35px;color:var(--muted);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.gallery-grid{display:grid;height:660px;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:10px}.gallery-grid__item{padding:0;border:0;cursor:zoom-in;overflow:hidden}.gallery-grid__item--main{grid-row:1 / -1}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-grid__item:hover img{transform:scale(1.025)}.gallery-more{padding-top:36px;padding-bottom:48px}.gallery-more__heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;color:var(--muted);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.gallery-more__heading .eyebrow{margin-bottom:0}.gallery-more__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gallery-more__item{aspect-ratio:4 / 3;padding:0;background:var(--ink-soft);border:0;cursor:zoom-in;overflow:hidden}.gallery-more__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-more__item:hover img{transform:scale(1.035)}.apartment-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:90px;align-items:start}.apartment-detail__content h2{max-width:780px;font-size:clamp(2rem,3.2vw,3.2rem)}.rich-text{color:var(--ink-soft)}.rich-text p:last-child{margin-bottom:0}.apartment-detail hr{margin:45px 0;border:0;border-top:1px solid var(--line)}.amenities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 26px;padding:0;list-style:none}.amenities-grid li{display:flex;align-items:center;gap:12px}.amenities-grid svg{width:20px;height:20px;fill:none;stroke:var(--gold-dark);stroke-width:1.8}.notice-box{margin-top:46px;padding:24px;color:var(--muted);background:var(--sand);border-left:3px solid var(--gold)}.booking-card{position:sticky;top:104px;padding:34px;background:var(--white);box-shadow:var(--shadow)}.booking-card__price{display:flex;align-items:baseline;gap:6px;padding-bottom:22px;border-bottom:1px solid var(--line)}.booking-card__price strong{font-family:var(--serif);font-size:3.2rem;font-weight:500}.booking-card>p{color:var(--muted);font-size:.9rem}.booking-card .button{margin-top:10px}.booking-card ul{display:grid;gap:9px;margin:25px 0 0;padding:22px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;list-style:none}.booking-card li:before{margin-right:10px;color:var(--gold-dark);content:"✓"}.cms-section--cream{background:var(--cream)}.cms-section--sand{background:var(--sand)}.cms-section--dark{color:var(--white);background:var(--charcoal)}.cms-section--dark .rich-text,.cms-section--dark p{color:#d6cec1}.cms-section--dark .eyebrow--dark{color:var(--gold)}.cms-copy{max-width:880px}.cms-copy--center{margin-inline:auto;text-align:center}.cms-copy h2{margin-bottom:28px}.cms-copy .rich-text{font-size:1.08rem}.cms-split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:80px;align-items:center}.cms-split--image-left .cms-split__image{grid-column:1;grid-row:1}.cms-split--image-left .cms-split__content{grid-column:2}.cms-split__content h2{margin-bottom:28px}.cms-split__content .rich-text{margin-bottom:32px;font-size:1.06rem}.cms-split__image{min-height:520px;overflow:hidden}.cms-split__image img{width:100%;height:100%;min-height:520px;object-fit:cover}.cms-section--stats{padding:0}.cms-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cms-stats>div{display:flex;min-height:150px;align-items:baseline;gap:14px;padding:42px 30px;border-right:1px solid var(--line)}.cms-stats>div:last-child{border-right:0}.cms-stats strong{font-family:var(--serif);font-size:3rem;font-weight:500}.cms-stats span{color:var(--muted);font-size:.73rem;letter-spacing:.1em;text-transform:uppercase}.cms-section--dark .cms-stats{border-color:#ffffff24}.cms-section--dark .cms-stats>div{border-color:#ffffff24}.cms-section--dark .cms-stats span{color:#cfc7ba}.cms-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.cms-feature{min-height:290px;padding:34px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cms-feature>span{display:block;margin-bottom:70px;color:var(--gold-dark);font-size:.72rem;letter-spacing:.13em}.cms-feature h3{margin-bottom:16px;font-family:var(--serif);font-size:1.7rem;font-weight:500}.cms-feature p{margin:0;color:var(--muted)}.cms-section--dark .cms-features,.cms-section--dark .cms-feature{border-color:#ffffff24}.cms-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cms-gallery__item{aspect-ratio:4 / 3;padding:0;background:var(--ink-soft);border:0;cursor:zoom-in;overflow:hidden}.cms-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.cms-gallery__item:hover img{transform:scale(1.035)}.cms-gallery__count{color:var(--muted);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}.cms-cta{position:relative;display:grid;min-height:620px;color:var(--white);background-image:linear-gradient(90deg,#090806de,#09080647),var(--hero-image);background-position:center;background-size:cover;place-items:center}.cms-cta__inner{position:relative;z-index:2}.cms-cta__inner h2{max-width:760px;margin-bottom:25px;font-size:clamp(3rem,5.7vw,5.7rem)}.cms-cta__inner p{max-width:620px;margin-bottom:34px;color:#ddd6ca;font-size:1.1rem}.lightbox{position:fixed;z-index:999;inset:0;display:grid;padding:50px;place-items:center;background:#000000f0}.lightbox[hidden]{display:none}.lightbox img{max-width:92vw;max-height:86vh;object-fit:contain}.lightbox button{position:absolute;z-index:2;display:grid;width:52px;height:52px;padding:0;color:var(--white);background:#ffffff1a;border:1px solid rgba(255,255,255,.22);border-radius:50%;cursor:pointer;font-size:2rem;line-height:1;place-items:center}.lightbox button:hover{background:#fff3}.lightbox__close{top:24px;right:24px}.lightbox__previous{top:50%;left:24px;transform:translateY(-50%)}.lightbox__next{top:50%;right:24px;transform:translateY(-50%)}.lightbox__counter{position:absolute;bottom:22px;left:50%;color:var(--white);font-size:.78rem;letter-spacing:.12em;transform:translate(-50%)}.event-grid--all{row-gap:38px}.pagination-wrap{margin-top:50px}.pagination-wrap nav{display:flex;justify-content:center}.event-detail__hero{position:relative;min-height:640px;color:var(--white);background-image:linear-gradient(0deg,#090806cc,#0908062e),var(--hero-image);background-position:center;background-size:cover}.event-detail__heading{position:absolute;right:0;bottom:75px;left:0}.event-detail h1{max-width:1000px;margin-bottom:24px;font-size:clamp(3.3rem,7vw,6.8rem)}.event-detail__meta{display:flex;gap:14px 32px;color:#dfd8cd}.event-detail__body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:90px;padding-top:100px;padding-bottom:110px}.event-detail .lead{font-family:var(--serif);font-size:1.8rem;line-height:1.45}.event-info-card{padding:30px;background:var(--sand)}.event-info-card dl{display:grid;grid-template-columns:90px 1fr;gap:14px;margin-bottom:30px}.event-info-card dt{color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.event-info-card dd{margin:0;font-weight:600}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.contact-details>h2,.form-card>h2{font-size:clamp(2.3rem,4vw,3.7rem)}.contact-cards{display:grid;gap:1px;margin:40px 0;background:var(--line);border:1px solid var(--line)}.contact-cards>*{display:flex;flex-direction:column;padding:24px;background:var(--cream)}.contact-cards span{color:var(--gold-dark);font-size:.67rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.contact-cards strong{margin:6px 0 2px;font-size:1.12rem}.contact-cards small{color:var(--muted)}.map-card{position:relative;display:block;height:250px;overflow:hidden}.map-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.6);transition:transform .5s ease}.map-card:hover img{transform:scale(1.03)}.map-card span{position:absolute;right:0;bottom:0;padding:13px 18px;color:var(--ink);background:var(--gold);font-size:.73rem;font-weight:700;text-transform:uppercase}.arrival-note{margin-top:18px;padding:22px 24px;background:var(--sand);border-left:3px solid var(--gold)}.arrival-note strong{display:block;margin-bottom:7px}.arrival-note p{margin-bottom:9px;color:var(--muted);font-size:.9rem}.arrival-note span{color:var(--gold-dark);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.form-card{padding:clamp(30px,5vw,58px);background:var(--white);box-shadow:var(--shadow)}.site-form{display:grid;gap:20px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.site-form label{display:grid;gap:8px;color:var(--ink-soft);font-size:.77rem;font-weight:700;letter-spacing:.04em}.site-form input,.site-form select,.site-form textarea{width:100%;padding:14px 15px;color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:0;outline:none;font-weight:400;letter-spacing:0;transition:border-color .2s ease,box-shadow .2s ease}.site-form input:focus,.site-form select:focus,.site-form textarea:focus{border-color:var(--gold-dark);box-shadow:0 0 0 3px #c9a56a26}.alert{margin-bottom:24px;padding:18px 20px;font-size:.9rem}.alert ul{margin:8px 0 0}.alert--success{color:#245b3a;background:#e7f5eb;border-left:3px solid #3b8b59}.alert--error{color:#7d2d27;background:#fff0ee;border-left:3px solid #b64e43}.reservation-hero{padding:90px 0 110px;color:var(--white);background:var(--charcoal)}.reservation-hero h1{max-width:900px;margin-bottom:22px;font-size:clamp(3.2rem,6.8vw,6.3rem)}.reservation-hero p{max-width:730px;margin:0;color:#d5cec2;font-size:1.1rem}.reservation-section{margin-top:-40px;padding-top:0}.reservation-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:42px;align-items:start}.reservation-form-wrap{padding:clamp(30px,5vw,62px);background:var(--white);box-shadow:var(--shadow)}.form-heading{display:flex;align-items:flex-start;gap:22px;margin-bottom:32px}.form-heading--second{margin-top:34px;padding-top:40px;border-top:1px solid var(--line)}.form-heading .eyebrow{margin-bottom:7px}.form-heading h2{margin:0;font-family:var(--serif);font-size:2rem;font-weight:500}.step-number{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;color:var(--ink);background:var(--gold);font-size:.72rem;font-weight:700}.price-preview{display:flex;min-height:88px;flex-direction:column;justify-content:center;padding:13px 16px;background:var(--sand)}.price-preview span,.price-preview small{color:var(--muted);font-size:.68rem}.price-preview strong{font-family:var(--serif);font-size:1.3rem;font-weight:500}.checkbox-label{display:flex!important;grid-template-columns:none;flex-direction:row;align-items:flex-start;gap:12px!important;color:var(--muted)!important;font-weight:400!important}.checkbox-label input{width:18px;height:18px;flex:0 0 auto;margin-top:3px;accent-color:var(--gold-dark)}.reservation-sidebar{background:var(--sand)}.reservation-sidebar>img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.reservation-sidebar>div{padding:36px}.reservation-sidebar h2{font-size:2.2rem}.reservation-sidebar hr{margin:30px 0;border:0;border-top:1px solid var(--line)}.reservation-sidebar p{margin-bottom:2px;color:var(--muted)}.phone-link{color:var(--gold-dark);font-family:var(--serif);font-size:2rem}.reservation-sidebar .button{margin-top:22px}.booking-policy{padding:18px 20px;background:#ffffff9e;border:1px solid var(--line)}.booking-policy strong{display:block;margin-bottom:6px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.booking-policy p{margin:0;font-size:.86rem}.success-panel{min-height:480px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.success-panel>span{display:grid;width:58px;height:58px;margin-bottom:28px;place-items:center;color:var(--ink);background:var(--gold);border-radius:50%;font-size:1.5rem}.success-panel h2{font-size:3rem}.faq-section{background:var(--sand)}.faq-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:90px;align-items:start}.faq-heading{position:sticky;top:110px}.faq-heading h2{max-width:500px;margin-bottom:20px}.faq-heading p{max-width:430px;color:var(--muted)}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{display:grid;grid-template-columns:44px 1fr 24px;gap:14px;align-items:center;min-height:92px;padding:22px 0;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary>span{color:var(--gold-dark);font-size:.68rem;font-weight:700;letter-spacing:.09em}.faq-item summary strong{font-family:var(--serif);font-size:1.35rem;font-weight:500}.faq-item summary i{position:relative;width:20px;height:20px}.faq-item summary i:before,.faq-item summary i:after{position:absolute;top:9px;left:3px;width:14px;height:1px;background:var(--ink);content:"";transition:transform .2s ease}.faq-item summary i:after{transform:rotate(90deg)}.faq-item[open] summary i:after{transform:rotate(0)}.faq-answer{padding:0 38px 28px 58px}.faq-answer p{margin:0;color:var(--muted)}.site-footer{padding-top:84px;color:#d6d0c5;background:#0b0a08}.footer-grid{display:grid;grid-template-columns:1.25fr .75fr 1fr 1.1fr;gap:55px;padding-bottom:64px}.footer-brand img{width:235px;margin-bottom:20px}.footer-brand p{max-width:300px;color:#999288}.site-footer h2{margin-bottom:22px;color:var(--white);font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.footer-links{display:grid;gap:10px;margin:0;padding:0;color:#aaa398;font-size:.88rem;list-style:none}.footer-links a:hover{color:var(--gold)}.footer-contact{gap:8px}.footer-cta{padding-left:34px;border-left:1px solid rgba(255,255,255,.11)}.footer-cta .eyebrow{margin-bottom:10px}.footer-cta h2{margin-bottom:24px;font-family:var(--serif);font-size:1.75rem;font-weight:500;letter-spacing:-.02em;line-height:1.2;text-transform:none}.social-links{display:flex;gap:9px}.social-links a{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.18);font-size:.65rem}.social-links a:hover{color:var(--ink);background:var(--gold);border-color:var(--gold)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:22px 0;color:#756f66;border-top:1px solid rgba(255,255,255,.09);font-size:.74rem}.footer-bottom a:hover{color:var(--gold)}.whatsapp-button{position:fixed;z-index:60;right:23px;bottom:23px;display:grid;width:56px;height:56px;place-items:center;color:var(--white);background:#238c51;border-radius:50%;box-shadow:0 10px 25px #00000040;transition:transform .25s ease}.whatsapp-button:hover{transform:translateY(-3px)}.whatsapp-button svg{width:27px;fill:currentColor}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}@media(max-width:1100px){.booking-form{grid-template-columns:repeat(2,1fr)}.booking-form .button{grid-column:1 / -1;min-height:64px}.booking-form label{min-height:105px}.benefits-grid{grid-template-columns:repeat(2,1fr)}.benefit:nth-child(2){border-right:0}.benefit:nth-child(-n+2){border-bottom:1px solid var(--line)}.destination-section{grid-template-columns:1fr 1fr}.destination-section__content{padding:70px 6vw}.footer-grid{grid-template-columns:1.2fr .8fr 1fr}.footer-cta{grid-column:1 / -1;padding:30px 0 0;border-top:1px solid rgba(255,255,255,.11);border-left:0}}@media(max-width:900px){.topbar{display:none}.site-header{height:74px}.brand img{width:195px}.menu-toggle{display:block}.primary-nav{position:fixed;z-index:80;inset:74px 0 0;display:flex;padding:45px 28px;flex-direction:column;align-items:stretch;gap:7px;background:#0c0b09fc;transform:translate(100%);transition:transform .3s ease}.primary-nav.is-open{transform:none}.primary-nav>a:not(.button){padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1);font-family:var(--serif);font-size:1.55rem;font-weight:500;letter-spacing:0;text-transform:none}.primary-nav>a:after{display:none}.nav-booking{margin-top:15px}body.menu-open{overflow:hidden}.home-hero{min-height:calc(100svh - 74px);background-position:60% center}.home-hero__content{padding-bottom:120px}.home-hero__scroll{display:none}.booking-strip{margin-top:-35px}.intro-grid{grid-template-columns:1fr;gap:15px}.intro-copy{padding-top:0}.apartment-grid,.destination-section{grid-template-columns:1fr}.destination-section__image{height:520px}.destination-section__content{max-width:none;padding:80px 40px}.event-grid{grid-template-columns:repeat(2,1fr)}.direct-booking-bar .container{grid-template-columns:1fr auto;gap:25px}.direct-booking-bar p{grid-column:1 / -1;grid-row:2}.gallery-grid{height:560px}.cms-split{gap:45px}.cms-split__image,.cms-split__image img{min-height:430px}.cms-features{grid-template-columns:repeat(2,minmax(0,1fr))}.apartment-detail__grid,.event-detail__body{grid-template-columns:1fr;gap:50px}.booking-card{position:static}.contact-grid,.reservation-grid{grid-template-columns:1fr}.faq-layout{grid-template-columns:1fr;gap:35px}.faq-heading{position:static}.reservation-sidebar{display:grid;grid-template-columns:1fr 1fr}.reservation-sidebar>img{height:100%}}@media(max-width:680px){.container{width:min(calc(100% - 28px),var(--container))}.section{padding:78px 0}h2{font-size:2.4rem}.home-hero{min-height:740px;background-position:65% center}.home-hero:before{position:absolute;inset:0;background:#09080633;content:""}.home-hero__content{padding-top:30px;padding-bottom:110px}.home-hero h1{font-size:clamp(3.25rem,16vw,5.1rem)}.home-hero p{font-size:1rem}.hero-actions{display:grid}.booking-form{grid-template-columns:1fr}.booking-form label{min-height:88px;padding:18px 22px;border-right:0;border-bottom:1px solid var(--line)}.booking-form .button{grid-column:auto}.intro-numbers{grid-template-columns:1fr}.intro-numbers div{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.intro-numbers div:last-child{border-bottom:0}.section-heading--row{display:block}.section-heading--row .text-link{margin-top:20px}.apartment-card__body{padding:24px 22px}.apartment-card__actions{align-items:flex-start;flex-direction:column}.benefits-grid{grid-template-columns:1fr}.benefit{min-height:auto;padding:26px 24px;border-right:0;border-bottom:1px solid var(--line)}.benefit:nth-child(3){border-bottom:1px solid var(--line)}.benefit svg{margin:15px 0 35px}.destination-section__image{height:380px}.destination-section__content{padding:65px 24px}.event-grid{grid-template-columns:1fr}.closing-cta{min-height:540px}.page-hero{min-height:440px}.page-hero__inner{padding-bottom:48px}.page-hero h1{font-size:3.2rem}.content-intro{display:block}.content-intro>p{margin-top:22px}.direct-booking-bar .container{display:block}.direct-booking-bar p{margin:20px 0}.detail-hero{padding-top:45px}.detail-hero h1{font-size:3.4rem}.gallery-grid{height:auto;grid-template-columns:1fr;grid-template-rows:auto}.gallery-grid__item,.gallery-grid__item--main{grid-row:auto;aspect-ratio:4 / 3}.gallery-more{padding-top:22px;padding-bottom:35px}.gallery-more__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-more__heading{align-items:flex-start;flex-direction:column;gap:8px}.cms-split,.cms-split--image-left{grid-template-columns:1fr;gap:36px}.cms-split--image-left .cms-split__image,.cms-split--image-left .cms-split__content{grid-column:auto;grid-row:auto}.cms-split--image-left .cms-split__image{order:2}.cms-split__image,.cms-split__image img{min-height:340px}.cms-stats{grid-template-columns:1fr}.cms-stats>div{min-height:auto;padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.cms-stats>div:last-child{border-bottom:0}.cms-features{grid-template-columns:1fr}.cms-feature{min-height:auto}.cms-feature>span{margin-bottom:38px}.cms-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-cta{min-height:530px}.cms-cta__inner h2{font-size:3.4rem}.amenities-grid{grid-template-columns:1fr}.lightbox{padding:18px}.lightbox button{width:44px;height:44px}.lightbox__previous{left:10px}.lightbox__next{right:10px}.event-detail__hero{min-height:570px}.event-detail__heading{bottom:45px}.event-detail h1{font-size:3.5rem}.event-detail__meta{flex-direction:column;gap:2px}.form-card,.reservation-form-wrap{padding:28px 22px}.form-row{grid-template-columns:1fr}.reservation-hero{padding:70px 0 90px}.reservation-hero h1{font-size:3.3rem}.form-heading{gap:13px}.form-heading h2{font-size:1.6rem}.reservation-sidebar{display:block}.reservation-sidebar>img{height:auto}.faq-item summary{grid-template-columns:32px 1fr 20px;min-height:80px}.faq-item summary strong{font-size:1.15rem}.faq-answer{padding:0 20px 24px 46px}.footer-grid{grid-template-columns:1fr;gap:40px}.footer-cta{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.whatsapp-button{right:16px;bottom:16px;width:50px;height:50px}}
