@font-face{font-family:DIN;src:url('/assets/din.woff2')}@font-face{font-family:Proxima;src:url('/assets/proxima.woff2')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f3ed;color:#292b2b;font-family:Proxima,Arial,sans-serif;font-size:17px;line-height:1.6}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8a3d4b;outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,h4{font-family:DIN,Arial,sans-serif;font-weight:400;line-height:1.05;margin:0}h1{font-size:clamp(48px,6.2vw,94px);letter-spacing:-.035em}h2{font-size:clamp(38px,4vw,61px);letter-spacing:-.025em}h3{font-size:32px}p{margin:22px 0;max-width:620px;color:#64635e}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;margin:0 0 24px;color:#7c3545;font-weight:600}.demo-bar{font-size:10px;letter-spacing:.13em;text-align:center;background:#30322f;color:#f6f3ed;padding:7px 12px;text-transform:uppercase}header{height:102px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:24px;background:#f6f3ed;position:relative;z-index:10;border-bottom:1px solid #dedbd3}.wordmark{font-family:DIN;font-size:27px;letter-spacing:.04em;line-height:1.05;white-space:nowrap;color:#722e40}.wordmark small{display:block;font-family:Proxima;font-size:8px;letter-spacing:.25em;text-transform:uppercase;margin-top:10px;color:#64635e}nav{display:flex;align-items:center;gap:29px;font-size:13px}nav a:not(.btn):hover,nav a[aria-current=page]{color:#7c3545}nav a[aria-current=page]{border-bottom:1px solid}.btn{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:#762f41;color:white;padding:17px 26px;border:1px solid #762f41;font-size:12px;letter-spacing:.06em}.btn:hover{background:#57202f}.btn.light{background:transparent;color:inherit;border-color:currentColor}.btn.light:hover{background:#ffffff16}.text-link{display:inline-flex;gap:32px;border-bottom:1px solid #a6a198;padding:10px 0;font-size:13px}.menu-btn{display:none;background:transparent;border:0;font-size:13px;color:#722e40}.hero{position:relative;height:min(760px,79vh);min-height:560px;color:white;background:#303a39;isolation:isolate}.hero>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-position:50% 48%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101e27a8,#15212916 85%),linear-gradient(0deg,#14202577,transparent 70%)}.hero-content{position:absolute;left:8%;top:50%;transform:translateY(-42%);max-width:800px}.hero .eyebrow,.hero p{color:#fff}.hero p{max-width:440px;font-size:18px;line-height:1.5;margin:28px 0 32px}.hero-bottom{position:absolute;bottom:32px;left:8%;right:6%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.hero h1{max-width:850px}.hero .btn{background:#f6f3ed;border-color:#f6f3ed;color:#292b2b}.hero .btn:hover{background:#fff}.section{padding:110px 8%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:48px}.section-head p{margin:0;max-width:360px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.intro .photo{position:relative}.intro img{width:100%;height:570px}.photo-note{font-size:11px;letter-spacing:.04em;color:#74746b;margin:12px 0}.intro .number{position:absolute;right:-28px;bottom:45px;background:#762f41;color:white;width:140px;height:140px;padding:28px;font-family:DIN;font-size:28px;line-height:1.1}.number small{display:block;font-family:Proxima;font-size:10px;letter-spacing:.12em;margin-top:12px}.rooms{background:#ece8e0}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.room-card{min-width:0}.room-image{height:350px;overflow:hidden;position:relative;background:#ddd8cd}.room-image img{height:100%;width:100%;transition:transform .7s}.room-card:hover img{transform:scale(1.035)}.room-image span{position:absolute;bottom:16px;left:16px;background:#f6f3edee;padding:7px 12px;font-size:10px;letter-spacing:.04em}.room-card h3{margin:23px 0 10px}.room-card p{font-size:15px;margin:12px 0 18px;min-height:48px}.room-card .meta{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7c3545}.suite-placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #bfb8ac;margin:0;background:#e5dfd4;color:#7a6c62}.suite-placeholder strong{font-family:DIN;font-size:38px;font-weight:400}.suite-placeholder small{font-size:10px;letter-spacing:.12em;margin-top:20px}.wide-image{height:600px;position:relative;color:white}.wide-image img{width:100%;height:100%}.wide-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#162223aa,transparent)}.wide-caption{position:absolute;left:8%;top:50%;transform:translateY(-50%);z-index:1;max-width:520px}.wide-caption p{color:white}.wide-caption .eyebrow{color:white}.cta{background:#762f41;color:white;display:flex;justify-content:space-between;align-items:center;gap:50px;padding:75px 8%}.cta p{color:#e2cfd3;max-width:460px}.cta .eyebrow{color:#e2cfd3}.cta h2{font-size:50px}.cta .btn{white-space:nowrap}.foot{padding:65px 8% 25px;background:#262a28;color:#eeeae0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:60px}.foot .wordmark{color:#eeeae0}.foot .wordmark small{color:#adafa5}.foot p{color:#b5b7ae;font-size:14px}.foot a{font-size:14px;display:block;margin:8px 0}.foot a:hover{text-decoration:underline}.foot h4{font-family:Proxima;font-size:10px;letter-spacing:.15em;margin:0 0 24px}.foot-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff26;margin-top:50px;padding-top:22px;font-size:10px;color:#a5a89e;gap:20px}.foot-bottom a{display:inline;font-size:10px}.page-intro{padding:65px 8% 60px}.breadcrumb{font-size:11px;letter-spacing:.08em;color:#746f64;margin-bottom:30px}.page-intro h1{font-size:clamp(52px,6vw,88px)}.page-intro .sub{font-family:DIN;font-size:26px;color:#817567;margin:20px 0 0}.apartment-cover{margin:0 5%;height:550px;position:relative}.apartment-cover img{width:100%;height:100%}.apartment-cover .image-label{position:absolute;bottom:18px;left:20px;background:#f6f3edee;padding:10px 15px;font-size:11px}.detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:11%}.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #cfc8bc;margin:32px 0}.facts div{border-bottom:1px solid #cfc8bc;padding:24px 0;font-size:15px}.facts small{display:block;font-size:10px;color:#7c3545;letter-spacing:.12em;text-transform:uppercase}.request-box{background:#ece8e0;padding:40px;align-self:start}.request-box h3{font-size:32px}.request-box p{font-size:15px}.notice{background:#ece8e0;border-left:2px solid #762f41;padding:22px;font-size:14px;color:#5d594f;margin:24px 0}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:15px;margin-top:30px}.amenities div{padding:16px 0;border-bottom:1px solid #d8d1c5}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px}.gallery img{width:100%;height:440px}.gallery button{background:transparent;border:0;padding:0;width:100%;text-align:left}.gallery button:hover img{filter:brightness(.92)}dialog{border:0;max-width:90vw;background:#f6f3ed;padding:20px;color:#292b2b}dialog::backdrop{background:#15201ee6}dialog img{max-height:75vh;width:auto;margin:auto}dialog button{margin-bottom:15px;background:transparent;border:1px solid #8b8070;padding:8px 20px}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px}.calendar{background:#ece8e0;padding:32px}.cal-head{display:flex;justify-content:space-between;align-items:center;margin:25px 0}.cal-head button{border:1px solid #b5ada0;background:transparent;width:38px;height:38px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.cal-grid span{font-size:13px;padding:9px 0;background:#dedbd4;color:#77736a}.cal-grid .dayname{background:transparent;font-size:10px;color:#4b4e48}.cal-grid .empty{background:transparent}.cal-legend{font-size:12px;margin-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;letter-spacing:.025em}input,select,textarea{width:100%;padding:13px 10px;border:1px solid #bfb7ab;border-radius:0;background:#faf8f3;color:#292b2b;margin-top:7px;font-size:15px}textarea{resize:vertical}.full{grid-column:1/-1}.check{display:flex;gap:12px;align-items:flex-start;line-height:1.5}.check input{width:17px;height:17px;margin-top:2px}.status{padding:20px;border:1px solid #762f41;color:#762f41;margin-top:20px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.experience-grid img{width:100%;height:330px}.experience-grid h3{margin-top:20px}.experience-grid p{font-size:15px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-grid h3{margin-top:35px}.contact-grid img{height:550px;width:100%}.spaced{margin-top:40px}.hidden{display:none!important}@media(min-width:1600px){.section{padding-left:max(8%,calc((100vw - 1400px)/2));padding-right:max(8%,calc((100vw - 1400px)/2))}}@media(max-width:1100px){nav{gap:18px;font-size:12px}header{padding:0 4%}.wordmark{font-size:23px}.room-image{height:290px}.intro{gap:7%}.intro img{height:470px}.section{padding:80px 6%}.detail-grid{gap:7%}.booking-layout{gap:30px}.request-box{padding:28px}}@media(max-width:800px){header{height:85px;padding:0 6%}.wordmark{font-size:24px}.menu-btn{display:block}nav{display:none;position:absolute;top:85px;left:0;right:0;padding:28px 6%;background:#f6f3ed;flex-direction:column;align-items:stretch;font-size:16px;gap:22px;border-bottom:1px solid #bdb6a8}nav.open{display:flex}nav .btn{margin-top:8px}.demo-bar{font-size:8px;letter-spacing:.07em}.hero{height:700px;min-height:520px;max-height:calc(100svh - 110px)}.hero-content{left:7%;right:7%;transform:translateY(-45%)}.hero-content p{font-size:16px;max-width:310px}.hero h1{font-size:56px}.hero .eyebrow{font-size:9px;letter-spacing:.17em}.hero-bottom{left:7%;right:7%;font-size:8px;gap:20px}.hero-bottom span:last-child{display:none}.section{padding:70px 7%}.intro,.detail-grid,.booking-layout,.contact-grid{grid-template-columns:1fr;gap:40px}.intro .photo{margin-right:15px}.intro img{height:430px}.intro .number{width:120px;height:120px;font-size:25px;right:-15px;bottom:35px}.section-head{display:block;margin-bottom:32px}.section-head p{margin-top:25px}.section-head .text-link{margin-top:20px}.room-grid{grid-template-columns:1fr;gap:50px}.room-image{height:420px}.room-card p{min-height:0}.wide-image{height:530px}.wide-caption{left:7%;right:7%}.cta{padding:60px 7%;display:block}.cta h2{font-size:43px}.cta .btn{margin-top:16px}.footer-grid{grid-template-columns:1fr;gap:30px}.foot{padding:55px 7% 25px}.foot-bottom{display:block;line-height:2}.page-intro{padding:40px 7%}.page-intro .sub{font-size:23px}.apartment-cover{margin:0;height:400px}.gallery{gap:18px;grid-template-columns:1fr}.gallery img{height:350px}.experience-grid{grid-template-columns:1fr;gap:35px}.experience-grid img{height:360px}.calendar{padding:22px}.contact-grid img{height:400px}.request-box{padding:30px}}@media(max-width:420px){.hero h1{font-size:49px}.room-image{height:350px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.amenities{grid-template-columns:1fr}.facts{gap:15px}.apartment-cover .image-label{left:12px;right:12px;font-size:10px}.page-intro h1{font-size:54px}}

/* Original SVG artwork: preserve its palette and aspect ratio. */
header{height:146px}.brand-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.brand-logo img{width:98px;height:auto;object-fit:contain}.footer-logo{background:#f6f3ed;padding:18px 25px}.footer-logo img{width:120px;height:auto}@media(max-width:800px){header{height:116px}.brand-logo img{width:80px;height:auto}nav{top:116px}.footer-logo img{width:110px}.hero{max-height:calc(100svh - 141px)}}

/* Original excursion texts, arranged for long-form reading. */
.territory-panorama{margin:0 5%;height:430px}.territory-panorama img{width:100%;height:100%;object-position:center}.territory-copy{max-width:850px;margin:auto}.territory-copy p{max-width:none;line-height:1.8;margin:25px 0}.territory-copy h2{margin-bottom:40px}.territory-copy p a{border-bottom:1px solid #a69b8d}.territory-copy p a:hover{color:#762f41}.territory-destinations{display:grid;grid-template-columns:1fr 1fr;gap:55px 35px}.territory-destinations img{width:100%;height:390px}.territory-destinations h3{margin-top:26px}.territory-destinations p{font-size:16px;margin:15px 0 0}.territory-figure{margin:60px 0 0}.territory-figure img{width:100%;height:580px}.territory-figure figcaption{font-size:13px;color:#64635e;margin-top:14px}@media(max-width:800px){.territory-panorama{margin:0;height:300px}.territory-destinations{grid-template-columns:1fr;gap:40px}.territory-destinations img{height:320px}.territory-figure{margin-top:35px}.territory-figure img{height:330px}.territory-copy p{line-height:1.75}}

.maison-map{max-width:1000px;margin:55px auto 0}.maison-map img{width:100%;height:auto;object-fit:contain}.maison-map figcaption{font-size:12px;color:#64635e;margin-top:14px}@media(max-width:800px){.maison-map{margin-top:35px}}

.duplex-cover img{object-position:center 58%}.duplex-gallery img{object-fit:contain;background:#ece8e0}.duplex-gallery button{align-self:start}.duplex-gallery button:last-child{grid-column:1/-1}.duplex-gallery button:last-child img{height:500px}@media(max-width:800px){.duplex-gallery button:last-child{grid-column:auto}.duplex-gallery button:last-child img{height:350px}}

.comfort-cover img{object-position:center 52%}.comfort-gallery img{object-fit:contain;background:#ece8e0}.comfort-gallery button{align-self:start}.comfort-gallery button:last-child{grid-column:1/-1}.comfort-gallery button:last-child img{height:500px}@media(max-width:800px){.comfort-gallery button:last-child{grid-column:auto}.comfort-gallery button:last-child img{height:350px}}

.suite-cover{background:#e9e5dd}.suite-cover img{object-fit:cover;object-position:center 65%}.suite-gallery img{object-fit:contain;background:#ece8e0}.suite-gallery button{align-self:start}

/* Consistent photo captions for apartment cards on phones. */
@media(max-width:800px){
  .room-image span{
    left:12px;
    right:12px;
    bottom:12px;
    min-height:48px;
    display:flex;
    align-items:center;
    padding:10px 12px;
    line-height:1.4;
    letter-spacing:.03em;
    text-align:left;
    overflow-wrap:break-word;
  }
}

/* Keep mobile gallery captions directly below each natural-height photograph. */
@media(max-width:800px){
  .gallery button.zoom{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    align-self:start;
  }
  .gallery button.zoom img{
    display:block;
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
  }
  .gallery button.zoom .photo-note{
    margin:0;
    padding:0;
    line-height:1.5;
  }
  .gallery{row-gap:32px}
}

/* Language controls remain visible when the mobile navigation is closed. */
.header-tools{display:flex;align-items:center;gap:14px;flex-shrink:0}
.language-switch{display:flex;align-items:center;gap:4px;white-space:nowrap}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:38px;padding:5px;font-size:11px;letter-spacing:.06em;border-bottom:1px solid transparent}
.language-switch a[aria-current=true]{color:#762f41;border-bottom-color:#762f41;font-weight:600}
.language-switch a:hover{color:#762f41}
header{gap:18px}header nav{gap:20px}
@media(max-width:1100px){header nav{gap:14px}.header-tools{gap:10px}}
@media(max-width:1000px){
 header{height:116px;padding:0 6%}
 header .brand-logo img{width:80px}
 header .menu-btn{display:block;min-height:44px;padding:8px 0 8px 8px}
 header nav{display:none;position:absolute;top:116px;left:0;right:0;padding:28px 6%;background:#f6f3ed;flex-direction:column;align-items:stretch;font-size:16px;gap:22px;border-bottom:1px solid #bdb6a8}
 header nav.open{display:flex}
 header nav .btn{margin-top:8px}
 .language-switch a{min-width:28px;min-height:44px;font-size:10px}
}
@media(max-width:360px){header{gap:10px}.header-tools{gap:5px}.language-switch{gap:0}}

/* Let the translated home badge fit its complete text. */
.intro .number{width:260px;max-width:calc(100% - 16px);height:auto;min-height:150px;padding:24px;line-height:1.15}
.intro .number small{line-height:1.4}
@media(max-width:800px){.intro .number{width:230px;height:auto;min-height:140px;padding:20px}}
/* Imported blocked nights; unblocked nights always remain on request. */
.cal-grid span.blocked-date{background:#762f41;color:#fff;text-decoration:line-through;border-color:#762f41}
.cal-grid span.request-date{background:#f7f4ec;color:#292b29;border:1px solid #c8c3b9}
.field-error{color:#8f1d32;font-size:14px;margin:8px 0}.form-grid>div>label{display:block;margin-bottom:8px}.form-grid .check{display:flex}.form-grid button:disabled{opacity:.6;cursor:wait}
#request-form{display:none}
.legal-copy{width:min(100% - 48px,850px);margin:64px auto 96px;line-height:1.7;overflow-wrap:anywhere}
.legal-copy h1,.legal-copy h2,.legal-copy h3,.legal-copy h4{line-height:1.2;margin:1.4em 0 .6em}
.legal-copy a{text-decoration:underline;text-underline-offset:3px}
.legal-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px}
