/* H+ — architectural editorial direction */
:root{--ink:#2c2620;--muted:#6f6353;--paper:#f6efe4;--line:#e0d4c2;--accent:#9a6b42}
.header{position:absolute;inset:0 0 auto;height:108px;background:transparent;color:white;padding:0 5%;display:grid;grid-template-columns:1fr auto 1fr;border-bottom:1px solid #ffffff2d;z-index:20}
.header>.brand{grid-column:2;grid-row:1;text-align:center;align-items:center}
.brand-name{font-family:var(--serif);font-weight:500;font-size:52px;letter-spacing:-.065em;line-height:1}
.brand-cn{font-family:var(--sans);font-size:10px;letter-spacing:.2em;padding-left:12px;border-color:#ffffff55}
.brand-caption{font-size:10px;letter-spacing:.2em;margin-top:8px}
.desktop-nav{grid-column:1;grid-row:1;margin:0;gap:27px;font-size:14px}
.desktop-nav a:after{background:currentColor}
.header-actions{grid-column:3;grid-row:1;justify-content:flex-end;gap:22px}
.language select{color:inherit;font-size:14px}.language option{color:var(--ink);background:var(--paper)}
.header-cta{background:transparent;color:white;border:1px solid #ffffff88;min-height:42px;padding:10px 20px;font-size:12px;gap:22px}.header-cta:hover{background:#ffffff1a}
.header-cta span:last-child{display:none}
.hero{margin:0;height:min(900px,100svh);min-height:690px;max-height:none;background:#655c50}
.hero-image{object-position:center 52%;height:100%;width:100%}
.hero-shade{background:linear-gradient(180deg,#241c1478,transparent 26%,transparent 43%,#241c142e 61%,#221a128c 100%)}
.hero-content{position:absolute;inset:auto 6% 108px;max-width:none;padding:0;text-align:center;display:flex;flex-direction:column;align-items:center}
.hero-location{font-size:12px;letter-spacing:.22em;margin-bottom:20px}.hero-location .tiny-line{display:none}
.hero h1{font-size:clamp(3.4rem,5.5vw,5.7rem);line-height:1.12;letter-spacing:-.015em;text-shadow:0 2px 25px #0002}
.hero-description{font-size:15px;letter-spacing:.04em;line-height:1.8;margin:23px 0 27px}
.button-light{background:transparent;color:white;border:1px solid #ffffffaa;padding:11px 26px;min-height:45px;font-size:13px;gap:32px}.button-light:hover{background:#fff;color:var(--ink)}
.hero-bottom{inset:auto 5% 27px;font-size:12px;letter-spacing:.08em}.scroll-link{font-size:10px;letter-spacing:.16em}.hero-side{display:none}
html:lang(zh) .hero h1,html:lang(ja) .hero h1,html:lang(ko) .hero h1{font-family:var(--serif);font-size:clamp(2.5rem,4.2vw,4.4rem);line-height:1.45;letter-spacing:.16em;font-weight:400}
html:not(:lang(en)) .hero-content{padding-top:0}
.menu-toggle span{background:white}.mobile-nav{background:var(--paper);color:var(--ink)}
.section-shell{max-width:1600px;padding:108px 7.5%}
.section-label{font-size:11px;letter-spacing:.2em;color:#7f715b;margin-bottom:29px;font-weight:500}
.section-number{display:none}
.hotel>.section-label{margin-bottom:38px}
.intro-grid{grid-template-columns:.85fr 1.15fr;gap:9%;align-items:center}
.intro-story h2{font-size:clamp(2.8rem,4.3vw,4.3rem);line-height:1.12}
.intro-copy{padding-top:29px;line-height:1.95;font-size:16px;color:#6f6353}
.intro-copy p+p{margin-top:22px}
.intro-copy .text-link{margin-top:29px}
.text-link{font-size:14px;letter-spacing:.04em;padding:0 0 8px;gap:30px;font-weight:400;border-color:#b6b6a6}
.design-image{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.design-image img{aspect-ratio:1.18;width:100%;height:auto;object-position:59% 50%}
.design-image figcaption{font-size:10px;letter-spacing:.12em;margin-top:14px;color:#79776b;line-height:1.7}
.amenities{margin-top:70px;padding:29px 0;border-color:#ddded3}
.amenities>div{font-size:13px;gap:16px;color:#666b5f}
.amenities svg{width:26px;height:26px;stroke-width:1.05}
.hotel-extras{font-size:14px;line-height:1.85;margin-top:21px;max-width:1000px;color:#7a7d73}
.rooms{background:#f0e7d8;padding-top:90px;padding-bottom:85px;max-width:none}
.rooms>.section-label,.rooms>.section-heading,.rooms>.room-grid,.rooms>.room-compare{max-width:1360px;margin-left:auto;margin-right:auto}
.rooms>.section-heading{align-items:flex-end;margin-bottom:54px;gap:50px}
.rooms .section-heading h2{font-size:clamp(2.8rem,4.5vw,4.4rem);line-height:1.12;max-width:750px}
.rooms .section-heading>p{font-size:15px;line-height:1.9;max-width:310px}
.room-grid{display:flex;flex-direction:column;gap:65px}
.room-card{display:grid;grid-template-columns:1.65fr 1fr;gap:0;align-items:center;background:#f8f7f3}
.room-image-button{height:100%;min-height:420px}
.room-image-button img{height:100%;min-height:420px;aspect-ratio:1.45;object-position:54% 60%;transition:transform 1.1s ease}
.room-card:nth-child(2){grid-template-columns:1fr 1.65fr}
.room-card:nth-child(2) .room-image-button{grid-column:2;grid-row:1}
.room-card:nth-child(2) .room-content{grid-column:1;grid-row:1}
.room-content{padding:40px 12%}
.room-heading{margin:0 0 19px;display:block}
.room-heading h3{font-size:37px;line-height:1.2;font-weight:400}
.room-index{display:none}
.room-meta{font-size:12px;letter-spacing:.02em;line-height:1.9;color:#6f6353}
.room-description{font-size:15px;line-height:1.95;margin-top:25px;max-width:none;color:#787b70}
.room-card .text-link{margin-top:28px}
.room-tag{top:22px;left:23px;font-size:10px;letter-spacing:.16em;color:white;padding:0;background:none;text-shadow:0 1px 8px #0008}
.image-arrow{display:none}
.room-compare{margin-top:45px;border-color:#e0d4c2}.room-compare>summary{font-size:14px;letter-spacing:.04em;padding:22px 0}.table-scroll thead th{background:#ece2d1}
.destination{display:flex;flex-direction:column;background:var(--paper);color:var(--ink)}
.destination-image{height:550px;min-height:0;width:100%}
.destination-image img{object-position:center 50%}
.destination-image:after{inset:70% 0 0;background:linear-gradient(transparent,#171f2066)}
.image-caption{left:7.5%;bottom:30px;color:#fff;font-size:10px;letter-spacing:.18em}
.destination-content{max-width:1600px;margin:auto;width:100%;padding:90px 7.5% 100px;display:grid;grid-template-columns:1fr 1fr;column-gap:10%}
.destination-content>.section-label{grid-column:1 / -1}
.destination-content>h2{font-size:64px;line-height:1.08;grid-column:1;grid-row:2 / 4;align-self:start}
.destination-content>p{margin:0 0 25px;color:#797c71;font-size:16px;line-height:1.95;grid-column:2;grid-row:2;max-width:none}
.destination-places{grid-column:2;border-color:#d8dbcd}
.destination-places details{border-color:#d8dbcd}.destination-places summary{padding:20px 0;font-size:15px}.destination-places small{color:#93856b}
.destination-places details p{color:#7a7d70;font-size:14px;line-height:1.9;padding-bottom:23px}
.destination-note{grid-column:1;grid-row:4;align-self:end;color:#8b806b;font-size:24px;margin-top:45px}
.guide{background:#2b241c;color:#f7f6ef;max-width:none;padding-top:80px;padding-bottom:80px;gap:10%}
.guide .section-label{color:#c5baa0}.guide h2{font-size:49px;line-height:1.14}.guide-list{padding-top:9px}.guide-list details{border-color:#ffffff2d}.guide-list summary{font-size:15px;padding:22px 0}.guide-list p{color:#ced2c7;font-size:14px;line-height:1.95}
.contact-strip{padding-top:74px;padding-bottom:71px;align-items:center;border:0}.contact-strip .eyebrow{font-size:11px;color:#8e7f64;letter-spacing:.16em}.contact-address{font-size:18px;margin-top:22px}.taxi-address{margin-top:7px;font-size:14px}.contact-phone{font-size:39px}.contact-strip .text-link{margin-top:22px;font-size:13px}
.footer{background:#efe7d8;padding-top:44px}.footer-brand .brand-name{font-family:var(--serif);font-size:46px}.footer .brand-cn{border-color:#8c927d;font-size:10px}.footer-brand .brand-caption{font-size:9px}.footer-top p{font-size:25px;color:#68725d}.footer-bottom{font-size:11px;padding-top:20px;color:#8a8f80}.source-link{text-decoration:none}.source-link:hover{text-decoration:underline}
dialog{width:min(960px,92vw)}dialog>img{height:350px;object-position:center 57%}.dialog-content{padding:36px 45px 40px}.dialog-content h2{font-size:45px}.dialog-content>p:not(.room-meta){font-size:16px;line-height:1.8}.dialog-content ul{font-size:14px;line-height:1.8}
html:lang(zh) .intro-story h2,html:lang(ja) .intro-story h2,html:lang(ko) .intro-story h2,html:lang(zh) .rooms h2,html:lang(ja) .rooms h2,html:lang(ko) .rooms h2,html:lang(zh) .destination h2,html:lang(ja) .destination h2,html:lang(ko) .destination h2{font-size:clamp(2.1rem,3.2vw,3.25rem);line-height:1.6;letter-spacing:.065em}
html:lang(zh) .guide h2,html:lang(ja) .guide h2,html:lang(ko) .guide h2{font-size:36px;line-height:1.65;letter-spacing:.06em}
html:lang(zh) .room-heading h3,html:lang(ja) .room-heading h3,html:lang(ko) .room-heading h3{font-size:26px;letter-spacing:.05em;line-height:1.5}
@media(max-width:1100px){.section-shell{padding-left:6%;padding-right:6%}.intro-grid{gap:6%}.room-card{grid-template-columns:1.45fr 1fr}.room-card:nth-child(2){grid-template-columns:1fr 1.45fr}.room-content{padding:30px 9%}.room-image-button,.room-image-button img{min-height:400px}.room-heading h3{font-size:32px}.room-description{font-size:14px}.destination-image{height:470px}.destination-content{padding:75px 6%;column-gap:8%}}
@media(max-width:760px){.section-shell{padding:66px 7%}.section-label{font-size:10px;letter-spacing:.15em;margin-bottom:24px}.hotel>.section-label{margin-bottom:24px}.intro-grid{display:flex;flex-direction:column;gap:32px}.intro-story h2{font-size:44px}.intro-copy{font-size:15px;line-height:2;padding-top:24px}.intro-copy p+p{margin-top:20px}.intro-copy .text-link{margin-top:25px}.design-image{width:100%}.design-image img{aspect-ratio:1.23;object-position:59% center}.design-image figcaption{font-size:10px;margin-top:12px}.amenities{margin-top:38px;grid-template-columns:1fr 1fr;padding:24px 0;gap:25px 12px}.amenities>div{font-size:12px;gap:9px}.amenities>div:nth-child(even){padding-left:10px}.amenities svg{width:24px}.hotel-extras{font-size:14px;line-height:1.9}.rooms{padding-top:58px;padding-bottom:55px}.rooms>.section-heading{display:block;margin-bottom:33px}.rooms .section-heading h2{font-size:40px}.rooms .section-heading>p{font-size:14px;max-width:none;padding-top:20px}.room-grid{gap:35px}.room-card,.room-card:nth-child(2){display:flex;flex-direction:column}.room-image-button,.room-image-button img{min-height:0;height:auto}.room-image-button img{aspect-ratio:1.32}.room-content{padding:28px 27px 32px;width:100%}.room-heading{margin-bottom:15px}.room-heading h3{font-size:33px}.room-meta{font-size:13px}.room-description{font-size:15px;line-height:1.9;margin-top:19px}.room-card .text-link{margin-top:23px}.room-tag{font-size:10px;top:17px;left:18px}.room-compare{margin-top:32px}.room-compare>summary{font-size:14px}.destination-image{height:340px}.destination-image img{object-position:64% center}.image-caption{left:7%;bottom:24px;font-size:10px}.destination-content{display:block;padding:57px 7% 61px}.destination-content>h2{font-size:47px}.destination-content>p{margin:24px 0 26px;font-size:15px}.destination-places summary{font-size:14px;padding:19px 0}.destination-places details p{font-size:14px}.destination-note{font-size:22px;margin-top:33px}.guide{padding-top:56px;padding-bottom:52px}.guide h2{font-size:41px}.guide-list{padding-top:25px}.guide-list summary{font-size:14px;padding:20px 0}.contact-strip{padding-top:48px;padding-bottom:50px}.contact-address{font-size:16px;line-height:1.9}.contact-phone{font-size:31px;margin-top:30px}.footer{padding-top:33px}.footer-top p{font-size:22px;line-height:1.8}.footer-bottom{font-size:10px}.footer-brand .brand-name{font-size:40px}dialog>img{height:240px}.dialog-content{padding:27px}.dialog-content h2{font-size:34px}.dialog-content ul{grid-template-columns:1fr;font-size:14px}html:lang(zh) .intro-story h2,html:lang(ja) .intro-story h2,html:lang(ko) .intro-story h2,html:lang(zh) .rooms h2,html:lang(ja) .rooms h2,html:lang(ko) .rooms h2,html:lang(zh) .destination h2,html:lang(ja) .destination h2,html:lang(ko) .destination h2{font-size:29px;line-height:1.65;letter-spacing:.045em}html:lang(zh) .guide h2,html:lang(ja) .guide h2,html:lang(ko) .guide h2{font-size:29px;line-height:1.7}html:lang(zh) .room-heading h3,html:lang(ja) .room-heading h3,html:lang(ko) .room-heading h3{font-size:24px}}
@media(max-width:1100px){.desktop-nav{gap:19px;font-size:13px}.header-cta{display:none}.hero{height:820px;min-height:690px}.header-actions{gap:15px}}
@media(max-width:760px){.header{height:90px;padding:0 6%;grid-template-columns:1fr 1fr}.header>.brand{grid-column:1;align-items:flex-start}.brand-name{font-size:44px}.brand-caption{font-size:8px}.brand-cn{font-size:9px}.header-actions{grid-column:2;gap:13px}.desktop-nav{display:none}.language select{font-size:12px}.hero{height:100svh;min-height:720px;max-height:950px}.hero-image{object-position:50% 50%}.hero-content{bottom:126px;left:7%;right:7%;padding:0}.hero h1{font-size:46px;line-height:1.2}.hero-description{font-size:14px;max-width:290px;margin:21px 0 26px}.hero-location{font-size:10px;margin-bottom:23px}.hero-bottom{bottom:25px;left:7%;right:7%;font-size:10px}.hero-bottom>span{font-size:10px;max-width:230px}.hero-bottom .scroll-link{display:flex}.hero-content .button{font-size:13px}html:lang(zh) .hero h1,html:lang(ja) .hero h1,html:lang(ko) .hero h1{font-size:33px;letter-spacing:.11em;line-height:1.65}html:not(:lang(en)) .hero-content{padding:0}html:lang(ja) .hero h1{font-size:29px}html:lang(ko) .hero h1{font-size:31px}.hero h1 em{display:block}.hero-shade{background:linear-gradient(180deg,#161b1866,transparent 23%,transparent 34%,#171d194f 65%,#151b17a6)}.mobile-nav{top:90px}}
/* Readable text sizes across all four writing systems. */
.neighbourhood-cta{grid-column:2;justify-self:start;margin-top:28px}
html:lang(ru) .room-heading h3,html:lang(es) .room-heading h3{font-size:29px;overflow-wrap:break-word}
html:lang(ru) .hero h1{font-size:clamp(2.8rem,5vw,5rem)}
@media(max-width:760px){.neighbourhood-cta{display:inline-flex;margin-bottom:12px}html:lang(ru) .hero h1,html:lang(es) .hero h1{font-size:37px}.amenities>div{min-width:0;overflow-wrap:break-word}}
.outlook{max-width:1360px;margin:0 auto 80px;padding-top:25px;border-top:1px solid #e0d4c2}
.outlook-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;align-items:center;margin:24px 0 35px}
.outlook-intro>.eyebrow{grid-column:1/-1;color:#82735b;letter-spacing:.12em;margin-bottom:20px}
.outlook-intro h3{font-family:var(--serif);font-size:46px;font-weight:400;line-height:1.15}
.outlook-intro>p:last-child{font-size:16px;line-height:1.95;color:#666e60;max-width:520px}
.outlook-note,.experience-note{font-size:14px;line-height:1.9;color:#6f6353;margin-top:22px;max-width:1000px}
.outlook-photo{margin:0}.outlook-photo img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;object-position:center 43%;display:block}.outlook-photo figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:16px;font-size:12px;line-height:1.8;letter-spacing:.04em;color:#736b5d}.outlook-photo figcaption span:last-child{text-align:right}
@media(max-width:760px){.outlook-photo img{aspect-ratio:1.334;object-fit:contain}.outlook-photo figcaption{display:block}.outlook-photo figcaption span{display:block}.outlook-photo figcaption span:last-child{text-align:left;margin-top:6px}}
.experience{padding-top:88px;padding-bottom:88px;background:#f4ecdf}
.experience h2{font-size:54px;font-weight:400;line-height:1.2}
.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6%;margin-top:48px}
.experience-index{font-family:var(--serif);font-size:24px;color:#9b8e76}
.experience-grid article{border-top:1px solid var(--line);padding-top:25px}
.experience-grid h3{font-size:23px;font-weight:400;line-height:1.5;margin:21px 0 16px}
.experience-grid p{font-size:16px;line-height:1.95;color:#6f6353}
.experience-note{margin-top:35px}
html:not(:lang(en)) .outlook-intro h3{font-size:35px;line-height:1.65;letter-spacing:.06em}
html:not(:lang(en)) .experience h2{font-size:38px;line-height:1.65;letter-spacing:.06em}
@media(max-width:760px){.outlook{margin-bottom:45px;padding-top:16px}.outlook-intro{display:block;margin:14px 0 26px}.outlook-intro h3{font-size:35px}.outlook-intro>p:last-child{margin-top:23px}.experience-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.experience{padding-top:56px;padding-bottom:56px}.experience h2{font-size:38px}.experience-grid h3{margin-top:12px}.experience-grid article{padding-top:20px}html:not(:lang(en)) .outlook-intro h3,html:not(:lang(en)) .experience h2{font-size:28px;line-height:1.7}}
.intro-copy,.room-description,.destination-content>p{font-size:16px}
.room-meta,.amenities>div,.header-cta,.button-light{font-size:14px}
.section-label,.eyebrow,.room-tag,.design-image figcaption,.image-caption,.hero-location,.hero-bottom,.hero-bottom>span,.scroll-link,.footer-bottom,.footer-brand .brand-caption,.contact-strip .eyebrow{font-size:12px}
@media(max-width:760px){.intro-copy,.room-description,.destination-content>p{font-size:16px}.room-meta,.amenities>div{font-size:14px}.section-label,.design-image figcaption,.image-caption,.room-tag,.hero-bottom>span{font-size:12px}.hero-bottom>span{max-width:240px}.header .brand-caption{font-size:9px;letter-spacing:.12em}.hero-location{font-size:12px}}
/* Room catalog — every room type with image + text */
.room-catalog{margin-top:78px}
.catalog-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:12px}
.catalog-head h2{font-size:clamp(2rem,3.4vw,3rem);font-weight:400;margin:0}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:36px}
.catalog-card{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-direction:column}
.catalog-card .pic{position:relative;overflow:hidden;border-radius:4px}
.catalog-card .pic img{width:100%;aspect-ratio:1.5;object-fit:cover;object-position:center 60%;display:block;transition:transform .6s ease}
.catalog-card:hover .pic img{transform:scale(1.03)}
.catalog-card .win-icon{position:absolute;top:10px;left:10px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:rgba(22,27,22,.5);color:#e9e3d3;pointer-events:none;z-index:1}
.catalog-card .win-icon svg{width:14px;height:14px;display:block}
.catalog-card .win-icon.no{background:rgba(22,27,22,.32);color:#b6b09e}
.catalog-card .win-icon.no svg{opacity:.85}
.catalog-card .name{margin:16px 0 6px;font-size:22px;font-weight:400;line-height:1.4}
.catalog-card .meta{font-size:13px;color:#6f6353;letter-spacing:.02em}
.catalog-card .note{font-size:15px;line-height:1.85;color:#6f6353;margin:12px 0 18px}
.catalog-card .foot{margin-top:auto}
.catalog-card .text-link{font-size:14px}
.catalog-note{font-size:14px;line-height:1.9;color:#6f6353;margin-top:34px;max-width:1000px}
@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.catalog-grid{grid-template-columns:1fr;gap:26px}}
/* — 4A editorial polish — */
html{scroll-behavior:smooth;scroll-padding-top:110px;-webkit-text-size-adjust:100%}
:root{--shadow:0 28px 70px -36px rgba(28,30,24,.4)}
*,*::before,*::after{scroll-margin-top:110px}
::selection{background:var(--accent);color:#fff}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.button-light,.btn,.header-cta,.text-link,.bookbtn,a.area-link{transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .3s ease,box-shadow .3s ease}
.button-light:hover,.btn:hover,button:hover{transform:translateY(-1px)}
a{text-underline-offset:3px;text-decoration-thickness:1px}
img{display:block}
.page-hero img,[class*="pic"] img,.destination-image img,.design-image img{transition:transform 1.2s cubic-bezier(.22,.61,.36,1),filter .6s ease}
.page-hero:hover img{transform:scale(1.02)}
img{filter:saturate(1.02)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
/* — Second pass: refined typographic rhythm & image presentation — */
:root{--ink:#2c2620;--muted:#6f6353;--paper:#f6efe4;--line:#e0d4c2;--accent:#9a6b42}
h1,h2,h3{text-wrap:balance}
h2{letter-spacing:-.02em;line-height:1.08}
.section-label,.eyebrow,.image-caption,.room-tag,.hero-location,.design-image figcaption{letter-spacing:.24em;font-weight:500}
.hero h1{letter-spacing:-.01em;text-shadow:0 2px 32px rgba(0,0,0,.24)}
.hero-description{letter-spacing:.02em;color:#efe9db}
.intro-copy,.room-description,.destination-content>p,.hotel-extras{letter-spacing:.01em;color:#67655b}
.page-shell,.section-shell{padding-top:112px;padding-bottom:112px}
.page-shell .intro,.section-shell .intro{letter-spacing:.01em}
.photo img,.room-image-button img,.catalog-card .pic img,.card .pic img,.design-image img{border-radius:2px}
.photo,.catalog-card .pic{box-shadow:var(--shadow)}
.cta-strip h2,.mini-section h2{letter-spacing:-.01em}
.source-link,.text-link{letter-spacing:.03em}
@media(max-width:760px){.page-shell,.section-shell{padding-top:72px;padding-bottom:72px}}
