:root{--paper:#f4efdf;--ink:#3f493f;--muted:#837e70;--line:#d8ceb8;--red:#b9654d;--sage:#738365;--card:#fffbed}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 "Hiragino Sans","Noto Sans CJK SC","PingFang SC",sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}
.catalog-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding:10px clamp(24px,5.5vw,84px);height:85px;border-bottom:1px solid var(--line);background:#faf6e9ed;backdrop-filter:blur(14px)}
.brand{display:block;width:190px;height:54px;overflow:hidden}.brand img{display:block;width:150px;height:auto;margin-top:-17px;mix-blend-mode:multiply}.catalog-header nav{display:flex;gap:30px}.catalog-header nav a,.home-link{font-size:12px;color:var(--muted)}.catalog-header nav a:hover,.catalog-header nav a[aria-current=page],.home-link:hover{color:var(--red)}.home-link{justify-self:end}
main{max-width:1440px;margin:auto;padding:0 clamp(24px,5.5vw,84px) 110px}.eyebrow{margin:0;color:var(--red);font:10px monospace;letter-spacing:2.6px}.catalog-hero{position:relative;padding:86px 0 76px;border-bottom:1px solid var(--line)}.catalog-hero h1{margin:18px 0 20px;font:400 clamp(48px,6.2vw,88px)/1.1 Georgia,"Noto Serif CJK SC",serif}.catalog-hero h1 span{margin-left:12vw;color:#596657}.catalog-hero>p:not(.eyebrow){max-width:620px;margin:0;color:var(--muted);line-height:2}.hero-count{position:absolute;right:3%;bottom:76px;display:flex;align-items:center;gap:15px}.hero-count strong{font:400 64px/1 Georgia,serif;color:var(--red)}.hero-count span{padding-left:15px;border-left:1px solid var(--line);font-size:11px;color:var(--muted)}
.availability{position:relative;display:grid;grid-template-columns:1.1fr minmax(170px,1fr) repeat(3,minmax(115px,.72fr)) .78fr;align-items:end;gap:14px;margin:38px 0 92px;padding:25px 27px 24px;border:1px solid var(--line);border-radius:8px;background:var(--card);box-shadow:0 15px 45px #5d554512}.availability h2{margin:4px 0 0;font:400 23px "Noto Serif CJK SC",serif}.availability label{display:grid;gap:6px;font-size:10px;color:var(--muted)}.availability input,.availability select{width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:3px;background:#faf6e9}.availability button{padding:11px 13px;border:0;border-radius:3px;background:var(--sage);color:white;cursor:pointer}.availability button span{float:right}.availability button:disabled{opacity:.55;cursor:wait}.form-status{position:absolute;left:27px;right:27px;bottom:-31px;margin:0;color:var(--red);font-size:11px}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:32px}.section-heading h2{margin:7px 0 0;font:400 clamp(34px,4vw,50px) "Noto Serif CJK SC",serif}.section-heading>p{margin:0 0 8px;color:var(--muted);font-size:11px}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 28px}.loading{grid-column:1/-1;padding:80px;text-align:center;color:var(--muted)}
.catalog-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:7px;background:var(--card);overflow:hidden;transition:transform .25s,box-shadow .25s}.catalog-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px #554d3d18}.catalog-card:nth-child(even){margin-top:56px}.card-image{position:relative;height:330px;overflow:hidden;background:#e7e0d1}.card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s}.catalog-card:hover .card-image img{transform:scale(1.025)}.card-area{position:absolute;left:17px;top:16px;padding:6px 10px;border-radius:15px;background:#fffbedeb;font:9px monospace;letter-spacing:1px}.card-price{position:absolute;right:17px;bottom:16px;padding:8px 11px;border-radius:3px;background:#fffbedee;color:var(--sage);font-size:12px;font-weight:600}.card-body{display:flex;flex-direction:column;flex:1;padding:24px 25px 22px}.card-index{color:var(--red);font:9px monospace;letter-spacing:2px}.card-body h3{margin:8px 0 10px;font:400 29px/1.3 Georgia,"Noto Serif CJK SC",serif}.card-summary{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.9}.card-facts{display:flex;flex-wrap:wrap;gap:7px 18px;padding:14px 0;margin-top:auto;border-top:1px solid var(--line);font-size:11px}.card-facts span:before{content:'·';margin-right:7px;color:var(--red)}.card-action{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:var(--sage);font-size:12px}.card-action b{font-size:18px;font-weight:400}.catalog-card.unavailable .card-price{color:var(--red)}
.catalog-map-callout{display:flex;align-items:center;justify-content:space-between;gap:45px;margin-top:105px;padding:42px 48px;border:1px solid #b7bfa9;border-radius:8px;background:#e7ebd9}.catalog-map-callout h2{margin:7px 0 8px;font:400 31px "Noto Serif CJK SC",serif}.catalog-map-callout p:not(.eyebrow){margin:0;color:#6f7866;font-size:12px}.catalog-map-callout a{min-width:220px;padding:13px 16px;border:1px solid #819473;border-radius:3px;background:#f7f4e8;color:#5d7051;font-size:12px}.catalog-map-callout a span{float:right}
footer{display:flex;justify-content:space-between;gap:20px;padding:28px clamp(24px,5.5vw,84px);border-top:1px solid var(--line);color:var(--muted);font:9px monospace;letter-spacing:1px}
@media(max-width:900px){.catalog-header{grid-template-columns:1fr auto}.catalog-header nav{display:none}.catalog-hero h1 span{margin-left:0}.hero-count{position:static;margin-top:35px}.availability{grid-template-columns:1fr 1fr}.availability>div,.availability button{grid-column:1/-1}.room-grid{grid-template-columns:1fr}.catalog-card:nth-child(even){margin-top:0}.catalog-map-callout{align-items:flex-start;flex-direction:column}.catalog-map-callout a{width:100%}}
@media(max-width:600px){.catalog-header{height:66px;padding:7px 18px}.brand{width:145px;height:48px}.brand img{width:130px;margin-top:-15px}.home-link{font-size:11px}main{padding-inline:18px}.catalog-hero{padding:55px 0 50px}.catalog-hero h1{font-size:45px}.availability{grid-template-columns:1fr;margin-bottom:65px;padding:21px 18px}.availability>div,.availability button{grid-column:auto}.room-grid{gap:24px}.card-image{height:235px}.card-body{padding:20px}.section-heading>p{display:none}.catalog-map-callout{margin-top:65px;padding:30px 24px}footer{display:block}footer span{display:block;margin:4px 0}}

/* The current brand asset is square rather than the previous horizontal lockup. */
.brand{width:84px;height:74px}.brand img{width:74px;height:74px;margin:0 0 0 5px;object-fit:contain;transform:scale(1.42)}
@media(max-width:600px){.catalog-header{padding-block:4px}.brand{width:66px;height:58px}.brand img{width:58px;height:58px;margin:0 0 0 4px;transform:scale(1.42)}}
.empty-state{grid-column:1/-1;padding:72px 28px;border:1px dashed var(--line);border-radius:8px;background:#faf6e9;text-align:center}.empty-state span{color:var(--red);font:9px monospace;letter-spacing:2px}.empty-state h3{margin:12px 0 8px;font:400 28px "Noto Serif CJK SC",serif}.empty-state p{margin:0;color:var(--muted);font-size:12px}
.catalog-header .header-tools{display:flex;align-items:center;justify-self:end;gap:14px}.catalog-header .home-link{justify-self:auto;white-space:nowrap}
.availability{grid-template-columns:1.1fr minmax(145px,1fr) repeat(5,minmax(95px,.7fr)) .8fr}.currency-disclaimer{grid-column:1/-1;margin:0;color:var(--muted);font-size:10px;line-height:1.5}
@media(max-width:1100px){.availability{grid-template-columns:repeat(4,minmax(0,1fr))}.availability>div,.availability button,.currency-disclaimer{grid-column:1/-1}}
@media(max-width:600px){.availability{grid-template-columns:1fr}.availability>div,.availability button,.currency-disclaimer{grid-column:auto}}

@media(max-width:600px){
  .availability{gap:0;padding:20px 18px}
  .availability>div{margin-bottom:9px}
  .availability label{min-width:0;padding:11px 0;border-bottom:1px solid var(--line);gap:5px}
  .availability input,.availability select{min-height:42px;background:#fffdf8}
  .availability button{min-height:48px;margin-top:18px}
  .currency-disclaimer{padding-top:10px}
}
