:root{--ink:#25231f;--paper:#fff;--cream:#f4f2ec;--gold:#a47c38;--muted:#66625c;--line:#d5d1c9;--font:Arial,"Helvetica Neue",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}p,h1,h2,h3,h4,figure{margin:0}p+p{margin-top:20px}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.skip{position:fixed;left:16px;top:-100px;background:#fff;padding:12px;z-index:50}.skip:focus{top:10px}.shell{width:90%;max-width:1440px;margin:auto}.chapter{padding:100px 0;scroll-margin-top:0}.site-header{height:92px;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:34px;padding:0 5%;background:#fffffff7;border-bottom:1px solid #e4e1d9;backdrop-filter:blur(12px)}.brand img{width:168px;height:auto}.trade-label{font-size:12px;letter-spacing:1.9px;line-height:1.5;max-width:120px;padding-left:25px;border-left:1px solid var(--line)}nav{display:flex;gap:32px;align-items:center;margin-left:auto}nav a{font-size:14px;white-space:nowrap;position:relative}nav a:after{content:"";height:1px;background:var(--gold);position:absolute;bottom:-7px;left:0;width:0;transition:width .25s}nav a:hover:after,nav a.active:after{width:100%}.nav-contact{padding:12px 20px;border:1px solid var(--ink)}.nav-contact:after{display:none}.nav-contact:hover{background:var(--ink);color:#fff}.menu-toggle{display:none}.hero{height:calc(100svh - 92px);min-height:650px;max-height:980px;position:relative;color:#fff;background:#363630}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-position:center 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,19,18,.76),rgba(15,19,18,.2) 75%),linear-gradient(0deg,rgba(10,15,13,.65),transparent 35%)}.hero-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;padding-bottom:60px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--gold);line-height:1.6}.eyebrow span{display:inline-block;margin-right:20px}.eyebrow.light{color:#dbc396}.hero h1{font-size:clamp(64px,7.6vw,124px);letter-spacing:-.055em;line-height:.98;margin:26px 0 30px;font-weight:700}.hero-summary{font-size:18px;line-height:1.65;color:#f2f0e9}.hero-link{margin-top:34px;width:max-content;border-bottom:1px solid #ffffffa8;padding:0 0 8px;font-size:15px}.hero-link:hover{border-color:#fff}.hero-bottom{position:absolute;bottom:28px;left:5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.6px;border-top:1px solid #ffffff4a;padding-top:20px}.about-copy{display:grid;grid-template-columns:1.1fr 1fr;gap:9%}h2{font-size:clamp(40px,4.1vw,64px);line-height:1.08;letter-spacing:-.045em;margin-top:24px;font-weight:700}.about-detail{padding-top:42px;color:var(--muted);font-size:16px}.lead{font-size:23px;line-height:1.35;color:var(--ink);font-weight:600;margin-bottom:24px}.capabilities{display:flex;flex-wrap:wrap;gap:24px;border-top:1px solid var(--line);margin-top:32px;padding-top:20px;font-size:12px;letter-spacing:1px;color:var(--ink)}.portfolio{background:var(--cream);padding-top:90px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px}.section-intro{max-width:340px;color:var(--muted);line-height:1.7;padding-bottom:5px}.stats{display:grid;grid-template-columns:1fr 1.45fr 1fr;margin-top:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats div{padding:25px 0 32px;display:flex;flex-direction:column}.stats div+div{border-left:1px solid var(--line);padding-left:17%}.stats strong{font-size:clamp(64px,7.8vw,112px);line-height:1.25;font-weight:500;letter-spacing:-.055em;font-variant-numeric:tabular-nums}.stats span{font-size:14px;color:var(--muted)}.data-date{font-size:12px;letter-spacing:1.5px;margin-top:14px;color:var(--muted)}.coverage{display:grid;grid-template-columns:1fr 1.3fr;gap:10%;padding:65px 0 60px}.coverage-copy h3{font-size:36px;line-height:1.15;letter-spacing:-1.5px;margin:20px 0}.coverage-copy p:not(.eyebrow){color:var(--muted);max-width:320px}.coverage-brand{font-family:Georgia,serif;display:block;font-size:27px;line-height:1.05;letter-spacing:2.8px;margin-top:40px;color:#3b493b}.city-row{display:grid;grid-template-columns:1.5fr 1fr .8fr;border-bottom:1px solid var(--line);padding:15px 0;align-items:center;font-size:17px}.city-row>span:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}.city-row>span:first-child{font-weight:600}.city-row small{display:inline-block;font-size:12px;color:#8d887f;margin-left:10px;font-weight:400}.city-header{font-size:12px;padding-top:0;padding-bottom:16px;color:var(--muted)}.city-header>span:first-child{font-weight:400}.gallery-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:35px;margin-bottom:28px}.gallery-heading h3{font-size:26px;letter-spacing:-1px}.gallery-heading>span,.process-heading>span{font-size:12px;letter-spacing:1.6px;color:var(--muted)}.property-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.property-grid img{aspect-ratio:2/3;width:100%;transition:filter .3s}.property-grid figure:hover img{filter:brightness(1.07)}.property-grid figcaption{padding-top:14px}.property-grid figcaption span{font-size:12px;letter-spacing:1px;color:var(--muted)}.property-grid h4{font-size:14px;font-weight:600;line-height:1.45;margin-top:4px}.services{background:var(--ink);color:#fff}.services .section-intro{color:#bdb9b1}.service-index{display:flex;justify-content:space-between;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;margin-top:48px;padding:20px 0;font-size:clamp(14px,2.2vw,30px);letter-spacing:1.5px;font-weight:500}.service-index span+span{color:#dbc396}.dining-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:50px 0 24px}.dining-intro h3,.extras-heading h3{font-size:32px;line-height:1.15;letter-spacing:-1px}.dining-intro p,.extras-heading p{color:#bdb9b1;max-width:340px}.restaurant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.restaurant-grid img{width:100%;aspect-ratio:1.7;object-position:center}.restaurant-grid figcaption{padding:18px 0 20px;border-bottom:1px solid #ffffff30}.restaurant-grid figcaption>span{font-size:12px;letter-spacing:1.6px;color:#dbc396}.restaurant-grid h4{font-size:21px;font-weight:500;margin-top:5px}.more-restaurants{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:20px;font-size:12px;letter-spacing:1px;color:#bdb9b1}.more-restaurants span{font-size:14px;color:#f0e9df;letter-spacing:0}.extras-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:65px 0 28px}.extras-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.extras-grid article{display:grid;grid-template-columns:110px 1fr;gap:20px;border-top:1px solid #ffffff30;padding-top:24px}.extras-grid img{width:110px;height:90px}.extras-grid h4{font-size:19px;line-height:1.3;margin:10px 0 12px;font-weight:500}.extras-grid p{font-size:14px;color:#bdb9b1;line-height:1.65}.extras-grid .eyebrow{font-size:12px}.service-note{margin-top:40px;padding-top:20px;border-top:1px solid #ffffff30;max-width:880px;font-size:12px;color:#bdb9b1;line-height:1.7}.partnership{padding-bottom:0;background:#fff}.partner-models{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:55px}.partner-models article{border-top:2px solid var(--gold);padding-top:22px}.partner-models article>span{font-size:12px;color:var(--gold)}.partner-models h3{font-size:21px;line-height:1.25;font-weight:600;min-height:54px;letter-spacing:-.4px;margin:20px 0 16px}.partner-models p{font-size:14px;color:var(--muted);line-height:1.7}.process-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:70px 0 40px}.process-heading h3{font-size:32px;line-height:1.15;letter-spacing:-1px}.process{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:28px}.process li{border-top:1px solid var(--line);padding-top:20px}.process li>span{font-size:28px;line-height:1;color:var(--gold);font-weight:400}.process h4{font-size:16px;margin:18px 0 12px;line-height:1.4;font-weight:600}.process p{font-size:14px;color:var(--muted);line-height:1.6}.contact-panel{margin-top:75px;display:grid;grid-template-columns:.85fr 1.15fr;background:#44382e;color:#fff}.contact-photo img{width:100%;height:100%;object-position:45%;min-height:470px}.contact-info{padding:50px 10%}.contact-info h3{font-size:44px;line-height:1.08;letter-spacing:-1.8px;margin-top:20px}.phone{display:inline-block;font-size:clamp(22px,2.5vw,35px);letter-spacing:-.7px;border-bottom:1px solid #ffffff50;margin-top:30px;line-height:1.7}.phone:hover{border-color:#fff}.contact-channels{margin-top:28px;font-size:12px;color:#d3c9bc}.contact-channels div{display:flex;gap:30px;margin-top:8px}.contact-channels dt{width:70px}.contact-channels dd{margin:0;color:#c1ac8b;letter-spacing:.8px}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:42px 0;color:var(--muted);font-size:12px}footer>div{display:flex;align-items:center;gap:30px}footer img{width:120px;height:auto}footer>div>span{font-size:12px;letter-spacing:1.2px}footer a{border-bottom:1px solid var(--line)}
@media(min-width:1700px){.hero-bottom{left:calc((100% - 1440px)/2)}}
@media(max-width:1100px){.trade-label{display:none}.site-header{gap:25px}nav{gap:20px}.extras-grid article{display:block}.extras-grid img{width:100%;height:auto;aspect-ratio:1.96;margin-bottom:18px}.property-grid{grid-template-columns:repeat(3,1fr);gap:30px 20px}.property-grid img{aspect-ratio:3/4}.partner-models{gap:20px}.partner-models h3{font-size:19px}footer>div{display:block}footer>div>span{display:block;margin-top:10px}.hero{min-height:590px}}
@media(max-width:760px){html{scroll-padding-top:72px}.shell{width:88%}.site-header{height:72px;padding:0 6%;justify-content:space-between}.brand img{width:140px}.menu-toggle{display:flex;align-items:center;gap:14px;background:transparent;border:0;font-size:14px;padding:10px 0}.menu-toggle span{font-size:22px;line-height:1}nav{display:none;position:absolute;top:72px;left:0;width:100%;background:var(--paper);padding:20px 6% 30px;border-bottom:1px solid var(--line)}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:0}nav a{padding:15px 0;font-size:18px;border-top:1px solid var(--line)}nav a:after{display:none}nav .nav-contact{border:0;border-top:1px solid var(--line);color:var(--gold)}.hero{height:calc(92svh - 72px);min-height:560px;max-height:760px}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#111611bb,#11161155),linear-gradient(0deg,#111611bb,transparent 50%)}.hero-content{padding-bottom:90px}.hero h1{font-size:clamp(64px,13vw,90px);margin:26px 0}.hero-summary{font-size:16px;max-width:340px}.hero-summary br{display:none}.eyebrow{font-size:12px;letter-spacing:1.4px}.hero-bottom{left:6%;font-size:12px;bottom:22px;display:block}.hero-bottom span{display:block}.hero-bottom span+span{margin-top:6px;font-size:12px;letter-spacing:1px}.chapter{padding:65px 0}.about-copy{display:block}.about-detail{padding-top:32px}.lead{font-size:21px}.capabilities{gap:20px;font-size:12px}h2{font-size:42px;margin-top:20px}.section-heading{display:block}.section-intro{max-width:none;margin-top:24px;font-size:15px}.stats{margin-top:36px;grid-template-columns:1fr 1.4fr .8fr}.stats strong{font-size:clamp(35px,9.8vw,64px);line-height:1.35}.stats span{font-size:12px}.stats div{padding:20px 0}.stats div+div{padding-left:11%}.data-date{font-size:12px}.coverage{display:block;padding:40px 0}.coverage-copy h3{font-size:29px}.coverage-copy h3 br{display:none}.coverage-copy p:not(.eyebrow){max-width:none;font-size:15px}.coverage-brand{display:none}.city-list{margin-top:30px}.city-row{font-size:16px}.city-header{font-size:12px}.city-row small{font-size:12px;margin-left:6px}.gallery-heading{display:block;padding-top:26px}.gallery-heading h3{font-size:24px}.gallery-heading>span{display:block;margin-top:8px;font-size:12px}.property-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px}.property-grid figure{flex:0 0 65%;scroll-snap-align:start}.property-grid img{aspect-ratio:3/4}.property-grid h4{font-size:16px}.service-index{font-size:14px;letter-spacing:.5px;margin-top:35px;padding:18px 0}.dining-intro,.extras-heading{display:block;margin-top:38px}.dining-intro h3,.extras-heading h3,.process-heading h3{font-size:29px}.dining-intro p,.extras-heading p{font-size:14px;margin-top:16px;max-width:none}.restaurant-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding-bottom:10px}.restaurant-grid figure{flex:0 0 85%;scroll-snap-align:start}.restaurant-grid h4{font-size:22px}.more-restaurants{gap:12px 20px;font-size:12px}.more-restaurants span{font-size:14px}.extras-grid{display:block}.extras-grid article{display:grid;grid-template-columns:90px 1fr;gap:20px;margin-top:24px;padding-top:24px}.extras-grid img{width:90px;height:90px;aspect-ratio:auto;object-position:center;margin:0}.extras-grid h4{font-size:18px;margin-top:8px}.extras-grid p{font-size:14px}.service-note{font-size:12px;line-height:1.7;margin-top:30px}.partner-models{grid-template-columns:repeat(2,1fr);gap:32px 22px;margin-top:36px}.partner-models h3{font-size:18px;min-height:46px;margin-top:16px}.partner-models p{font-size:14px}.process-heading{display:block;margin:45px 0 28px}.process-heading>span{display:block;margin-top:16px;font-size:12px}.process{display:block}.process li{display:grid;grid-template-columns:44px 1fr;gap:4px 16px;padding:18px 0}.process li>span{grid-row:1/3;font-size:24px;align-self:start;padding-top:1px}.process h4{margin:0;font-size:16px}.process p{font-size:14px}.contact-panel{display:block;margin-top:40px}.contact-photo img{height:190px;min-height:0;object-position:50% 45%}.contact-info{padding:35px 8% 40px}.contact-info h3{font-size:38px}.phone{font-size:27px;margin-top:24px}.contact-channels{font-size:12px}.contact-channels div{gap:15px}footer{display:block;padding:32px 0 0;font-size:12px}footer>div{display:flex;gap:20px;margin-bottom:24px}footer>div>span{font-size:12px;margin:0}footer>a{display:inline-block;margin-right:20px}.partnership{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.contact-channels{font-size:14px}.contact-channels dd{min-width:0;overflow-wrap:anywhere}.stats span{font-size:14px}.trade-label{max-width:140px}.hero-bottom span+span{font-size:12px}

/* Partner-site motion, language navigation and responsive refinements. */
.header-controls{display:flex;align-items:center;gap:14px;order:3;margin-left:12px}.site-header nav{order:2}.language-selector{position:relative}.language-trigger{display:flex;align-items:center;gap:8px;min-height:44px;min-width:58px;border:0;background:transparent;padding:8px 0;cursor:pointer;font-size:14px}.language-trigger svg{width:21px;height:21px;flex-shrink:0}#language-options{position:absolute;right:0;top:calc(100% + 15px);width:220px;background:var(--ink);color:white;padding:10px 18px;box-shadow:0 12px 30px #0002;border-top:2px solid var(--gold);z-index:40}#language-options[hidden]{display:none}#language-options a{display:block;padding:12px 4px;border-bottom:1px solid #ffffff25;font-size:15px}#language-options a:last-child{border:0}#language-options a[aria-current]{color:#dbc396}#language-options a:hover{color:#dbc396}.apartment-logo{width:280px;max-width:85%;height:auto;object-fit:contain;margin-top:36px}.footer-apartment{width:180px!important;object-fit:contain}.channel-icon{width:22px;height:22px;object-fit:contain}.contact-channels dt{display:flex;align-items:center;gap:7px;flex-shrink:0}.contact-channels a{border-bottom:1px solid #ffffff45;padding-bottom:3px}.contact-channels a:hover{color:#fff;border-color:#fff}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s}.hero-video.ready{opacity:1}.motion-toggle{position:absolute;right:5%;bottom:105px;display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 14px;border:1px solid #ffffff80;background:#171b1680;color:white;font-size:14px;cursor:pointer;backdrop-filter:blur(8px)}.hero-content{pointer-events:none}.hero-content a{pointer-events:auto}.hero h1{max-width:1000px}.reveal{transition:opacity .8s,transform .8s}.reveal.pending{opacity:0;transform:translateY(24px)}.property-grid figure{overflow:hidden}.property-grid img{transition:transform .7s,filter .5s}.property-grid figure:hover img{transform:scale(1.035)}.stats strong{font-variant-numeric:tabular-nums}.service-index{gap:16px;flex-wrap:wrap}.service-index span{font-size:clamp(14px,1.8vw,27px)}.menu-toggle .menu-label{font-size:14px;line-height:1.5}.city-header{font-size:14px}.city-row small{display:none}.city-row>span{min-width:0}.city-header span{overflow-wrap:normal}.contact-info{min-width:0}.contact-channels{font-size:15px}.contact-channels dd{letter-spacing:0}.partner-models article{min-width:0}.partner-models h3{min-height:0}.partner-models p{font-size:16px}.extras-grid p{font-size:16px}.process p{font-size:16px}.service-note{font-size:14px}.data-date{letter-spacing:.8px}.stats span{padding-right:8px}html[lang=ja],html[lang=zh-Hant]{--font:"Hiragino Kaku Gothic ProN","Yu Gothic","PingFang TC","Microsoft JhengHei",Arial,sans-serif}html[lang=ja] h1,html[lang=zh-Hant] h1{font-size:clamp(48px,5.9vw,96px);line-height:1.2;letter-spacing:-.025em}html[lang=ja] h2,html[lang=zh-Hant] h2{line-height:1.4;letter-spacing:0;font-size:clamp(32px,3.5vw,53px)}html[lang=ja] .eyebrow,html[lang=zh-Hant] .eyebrow{letter-spacing:1px}html[lang=ms] .trade-label{display:none}html[lang=ms] h1{font-size:clamp(56px,6.7vw,105px);line-height:1.08}html[lang=ms] .service-index{letter-spacing:0}html[lang=ms] .restaurant-grid figcaption>span{display:block;line-height:1.5;min-height:36px}
@media(max-width:1280px){.trade-label{display:none}.site-header{justify-content:space-between;height:80px;padding:0 5%;gap:12px}.header-controls{margin-left:auto}.menu-toggle{display:flex;align-items:center;gap:10px;background:transparent;border:0;padding:10px;cursor:pointer;min-height:44px}.menu-symbol{font-size:24px;line-height:1}.site-header nav{display:none;position:absolute;top:80px;left:0;width:100%;margin:0;background:var(--ink);color:#fff;padding:18px 5% 26px;border-bottom:1px solid #ffffff30}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{padding:15px 0;border:0;border-bottom:1px solid #ffffff30;font-size:18px;white-space:normal}.site-header nav a:after{display:none}.site-header nav .nav-contact{color:#dbc396}.hero{height:calc(100svh - 80px)}html{scroll-padding-top:80px}}
@media(max-width:760px){.site-header{height:72px;padding:0 5%;gap:6px}.brand img{width:126px}.header-controls{gap:8px;margin:0}.menu-toggle{gap:7px;padding:8px 0}.site-header nav{top:72px;padding:15px 6% 24px;max-height:calc(100svh - 72px);overflow:auto}html{scroll-padding-top:72px}.hero{height:calc(100svh - 72px);min-height:580px;max-height:880px}.hero-content{padding-bottom:100px}.hero h1{font-size:clamp(52px,13vw,82px);max-width:100%;line-height:1.04}.hero-summary{font-size:16px;line-height:1.7;max-width:90%}.hero .eyebrow{max-width:85%;letter-spacing:1px}.motion-toggle{right:6%;bottom:126px;font-size:14px}.hero-bottom{font-size:12px;width:88%;line-height:1.6}.hero-bottom span+span{max-width:92%;letter-spacing:.5px}.apartment-logo{display:block;width:220px;margin-top:28px}.stats{grid-template-columns:.85fr 1.3fr 1fr}.stats div+div{padding-left:9%}.stats span{font-size:14px;line-height:1.4;min-height:40px}.stats strong{font-size:clamp(34px,9.8vw,64px)}.city-row{grid-template-columns:1.15fr 1fr .8fr;font-size:16px;gap:10px}.city-header{font-size:14px;line-height:1.4}.service-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}.service-index span{font-size:14px;line-height:1.4}.partner-models{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px}.partner-models article{flex:0 0 82%;scroll-snap-align:start;padding-bottom:10px}.partner-models h3{font-size:22px}.extras-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding-bottom:16px}.extras-grid article{display:block;flex:0 0 86%;scroll-snap-align:start}.extras-grid img{width:100%;height:auto;aspect-ratio:1.96;margin-bottom:22px}.extras-grid h4{font-size:22px}.contact-channels div{gap:12px}.contact-channels dt{width:80px}.contact-channels dd{line-height:1.6}.contact-info h3{font-size:clamp(32px,8.5vw,40px);line-height:1.2}.phone{font-size:clamp(22px,6.5vw,29px)}footer>div{flex-wrap:wrap;gap:24px}.footer-apartment{width:150px!important}html[lang=ja] h1,html[lang=zh-Hant] h1{font-size:clamp(38px,10vw,60px);line-height:1.3}html[lang=ja] h2,html[lang=zh-Hant] h2{font-size:34px;line-height:1.45}html[lang=ms] h1{font-size:clamp(43px,11.6vw,70px);line-height:1.12}html[lang=ms] h2{font-size:38px;line-height:1.15}html[lang=ms] .city-header{font-size:14px}html[lang=ms] .stats span{min-height:44px}}
@media(prefers-reduced-motion:reduce){.reveal.pending{opacity:1;transform:none}.hero-video{transition:none}.property-grid figure:hover img{transform:none}html{scroll-behavior:auto}}

.mobile-scenes,.scene-controls{display:none}
@media(max-width:760px){.hero-image,.hero-video{display:none}.mobile-scenes{display:block;position:absolute;inset:0;overflow:hidden}.scene{position:absolute;inset:0;width:100%;height:100%;opacity:0;object-fit:cover;transition:opacity 1.2s}.scene.current{opacity:1}.scene-room{object-position:54% center}.scene-property{object-position:center 44%}.scene-dining{object-position:43% center}.hero-shade{background:linear-gradient(0deg,#111611dd 0%,#111611a0 45%,#11161116 100%)}.hero-content{justify-content:flex-end;padding-bottom:190px;padding-top:60px}.hero h1{margin:20px 0 22px}.hero-summary{max-width:100%}.hero-link{margin-top:24px}.scene-controls{display:flex;gap:12px;position:absolute;bottom:125px;left:6%;align-items:center;height:44px}.scene-controls button{position:relative;width:34px;height:44px;background:transparent;border:0;cursor:pointer;padding:0}.scene-controls button:after{content:"";position:absolute;width:26px;height:3px;left:4px;top:20px;background:#ffffff66;transition:background .4s}.scene-controls button[aria-pressed=true]:after{background:#fff}.motion-toggle{bottom:125px;right:6%;font-size:14px;max-width:56%;padding:9px 11px;min-height:44px}.hero-bottom{bottom:22px}.hero{min-height:660px}.property-grid figure{flex-basis:76%}.property-grid img{aspect-ratio:3/4;object-position:center}.restaurant-grid figure{flex-basis:88%}.restaurant-grid img{aspect-ratio:4/3;object-position:center}.property-grid,.restaurant-grid,.extras-grid,.partner-models{scrollbar-width:thin;scrollbar-color:var(--gold) transparent}.contact-photo img{height:180px;object-position:50% 43%}}
@media(max-width:360px){.brand img{width:112px}.header-controls{gap:7px}.language-trigger{gap:5px;min-width:50px}.menu-toggle{gap:5px}.hero-content{padding-bottom:190px}.hero h1{font-size:48px}html[lang=ms] .hero h1{font-size:40px}html[lang=ja] .hero h1,html[lang=zh-Hant] .hero h1{font-size:34px}.contact-channels div{gap:8px}.contact-channels dt{width:70px}.contact-channels{font-size:14px}}
@media(prefers-reduced-motion:reduce){.scene{transition:none}}

@media(max-width:760px){.hero{background:#171b16}.mobile-scenes{inset:0 0 auto;height:58%}.scene-room{object-position:54% 58%}.scene-property{object-position:center 48%}.scene-dining{object-position:43% center}.hero-shade{background:linear-gradient(0deg,#171b16 0%,#171b16 39%,#171b16c0 52%,#171b1620 75%,transparent 100%)}.hero-content{padding-bottom:185px}}

/* Apartment-hotel introduction and agency enquiry emphasis. */
.hero-link{display:inline-flex;align-items:center;justify-content:center;min-height:56px;max-width:100%;padding:14px 26px;border:1px solid #dbc396;background:#dbc396;color:#25231f;font-size:17px;font-weight:700;line-height:1.4;letter-spacing:.1px;transition:background .25s,border-color .25s,box-shadow .25s;text-align:left}.hero-link:hover,.hero-link:focus-visible{background:#ecdbba;border-color:#ecdbba;box-shadow:0 4px 18px #0002}.apartment-intro{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding-bottom:100px}.apartment-intro-photo{overflow:hidden}.apartment-intro-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}.apartment-intro h2{font-size:clamp(34px,3.3vw,52px);line-height:1.13;margin:20px 0 26px}.apartment-intro-copy>p:not(.eyebrow){color:var(--muted);line-height:1.8}.apartment-features{display:flex;flex-wrap:wrap;gap:10px 24px;border-top:1px solid var(--line);margin:26px 0;padding-top:20px;font-size:14px;color:var(--ink)}.apartment-detail-link{display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:7px;font-weight:600;font-size:16px}.apartment-detail-link:hover{color:var(--gold)}.property-carousel{position:relative}.property-grid{row-gap:34px}.property-prev,.property-next{display:none}
@media(max-width:1100px){.apartment-intro{gap:5%}.apartment-intro h2{font-size:36px}}
@media(max-width:760px){.apartment-intro{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-bottom:65px}.apartment-intro-photo img{aspect-ratio:4/3;object-position:center 55%}.apartment-intro h2{font-size:36px;line-height:1.2}.apartment-intro-copy>p:not(.eyebrow){font-size:16px}.apartment-features{gap:10px 18px;font-size:14px}.apartment-detail-link{font-size:16px}.hero-link{font-size:16px;min-height:54px;padding:13px 22px;max-width:100%}.property-carousel{padding:0 22px}.property-grid{gap:12px;scrollbar-width:none;padding-bottom:8px}.property-grid::-webkit-scrollbar{display:none}.property-grid figure{flex:0 0 55%;overflow:visible}.property-grid img{aspect-ratio:2/3;object-fit:cover;object-position:center}.property-grid figcaption span{font-size:12px}.property-grid h4{font-size:14px;line-height:1.45}.property-prev,.property-next{display:flex;align-items:center;justify-content:center;position:absolute;top:calc((88vw - 44px) * .55 * .75 - 22px);width:44px;height:44px;padding:10px;border:1px solid #bcb4a6;background:var(--cream);color:var(--ink);border-radius:50%;cursor:pointer;z-index:2}.property-prev{left:-12px}.property-next{right:-12px}.property-prev svg,.property-next svg{width:22px;height:22px}.property-prev:disabled,.property-next:disabled{color:#aaa39a;cursor:default;background:#f4f2ecb0;border-color:#d5d1c9}.property-prev:not(:disabled):active,.property-next:not(:disabled):active{background:var(--gold);color:white}}

.property-grid img,.apartment-intro-photo img{height:auto}

/* Six dining brands, using the established restaurant gallery. */
.restaurant-grid{row-gap:32px}.restaurant-grid figure{min-width:0}.restaurant-grid img{height:auto;aspect-ratio:3/2}.restaurant-grid img[src*="sakutsuki"],.restaurant-grid img[src*="sumiya"]{object-position:center 25%}.restaurant-grid img[src*="aozora"]{object-position:center 15%}.restaurant-grid figcaption>span{font-size:14px;line-height:1.5}.restaurant-grid h4{line-height:1.5;overflow-wrap:anywhere}
@media(max-width:760px){.restaurant-grid{gap:18px}.restaurant-grid figure{flex-basis:88%}.restaurant-grid img{aspect-ratio:4/3}}

/* User-supplied contact logos, aligned with the existing LINE channel. */
.contact-channels div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;align-items:center;margin-top:10px}.contact-channels dt{width:auto;min-width:0}.contact-channels dt a{display:inline-flex;align-items:center;gap:9px;min-height:36px;color:inherit;border:0;padding:0}.contact-channels .channel-icon{width:24px;height:24px;flex-shrink:0}.channel-icon-monochrome{filter:invert(1);mix-blend-mode:screen}.contact-channels dd a{display:inline-block;max-width:100%;overflow-wrap:anywhere}
@media(max-width:760px){.contact-channels div{grid-template-columns:110px minmax(0,1fr);gap:10px}}
@media(max-width:360px){.contact-channels div{grid-template-columns:102px minmax(0,1fr);gap:8px}.contact-channels dt a{gap:7px}}

/* Desktop service cards: larger photographs with copy below. */
@media(min-width:1101px){
  .extras-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .extras-grid article{display:block;min-width:0}
  .extras-grid img{width:100%;height:auto;aspect-ratio:1.96;object-fit:cover;margin-bottom:22px}
  .extras-grid h4{font-size:22px;line-height:1.4}
}

/* Localized typography: self-hosted licensed fonts, no external font requests. */
@font-face{font-family:"Noto Sans Thai";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/noto-sans-thai-400.ttf") format("truetype")}
@font-face{font-family:"Noto Sans Thai";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/noto-sans-thai-500.ttf") format("truetype")}
@font-face{font-family:"Noto Sans Thai";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/noto-sans-thai-600.ttf") format("truetype")}
@font-face{font-family:"Noto Sans Thai";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/noto-sans-thai-700.ttf") format("truetype")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/inter-400.ttf") format("truetype")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/inter-500.ttf") format("truetype")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/inter-600.ttf") format("truetype")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/inter-700.ttf") format("truetype")}
:lang(th){font-family:"Noto Sans Thai",Arial,sans-serif}
html[lang=th]{--font:"Noto Sans Thai",Arial,sans-serif}
html:is([lang=id],[lang=fil]){--font:"Inter",Arial,sans-serif}
html:is([lang=th],[lang=id],[lang=fil]) .trade-label{display:none}
html:is([lang=th],[lang=id],[lang=fil]) :is(h1,h2,h3,h4){text-wrap:balance}
html:is([lang=th],[lang=id],[lang=fil]) :is(.section-heading>div,.coverage-copy,.about-copy>div,.apartment-intro-copy){min-width:0}
html:is([lang=th],[lang=id],[lang=fil]) :is(.eyebrow,.service-index,.capabilities,.data-date,.gallery-heading>span,.process-heading>span,.hero-bottom){letter-spacing:.035em}
html:is([lang=th],[lang=id],[lang=fil]) :is(.hero .eyebrow,.about-detail,.section-intro,.coverage-copy>p,.dining-intro>p,.extras-heading>p,.extras-grid p,.partner-models p,.process p){font-size:16px}
html:is([lang=th],[lang=id],[lang=fil]) :is(.stats span,.capabilities,.gallery-heading>span,.process-heading>span,.eyebrow){font-size:14px}
html:is([lang=th],[lang=id],[lang=fil]) .hero h1{font-size:clamp(52px,6.2vw,98px);line-height:1.14;letter-spacing:-.035em;max-width:1150px}
html:is([lang=id],[lang=fil]) h2{font-size:clamp(34px,3.7vw,58px);line-height:1.18;letter-spacing:-.035em}
html[lang=th] body{line-height:1.85}
html[lang=th] :is(h1,h2,h3,h4,.eyebrow,.capabilities,.service-index,.city-header,.hero-bottom,.data-date){letter-spacing:0;line-height:1.55}
html[lang=th] .hero h1{font-size:clamp(48px,5.6vw,90px);letter-spacing:0;line-height:1.4}
html[lang=th] h2{font-size:clamp(34px,3.6vw,56px);line-height:1.5;letter-spacing:0}
html[lang=th] :is(.lead,.coverage-copy h3,.dining-intro h3,.extras-heading h3,.process-heading h3,.contact-info h3){line-height:1.5;letter-spacing:0}
html[lang=th] .restaurant-grid h4{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans Thai",sans-serif}
html:is([lang=th],[lang=id],[lang=fil]) .stats strong{letter-spacing:-.045em}
html:is([lang=th],[lang=id],[lang=fil]) .stats span{line-height:1.6}
#language-options{max-height:calc(100svh - 110px);overflow-y:auto;overscroll-behavior:contain;width:240px;max-width:calc(100vw - 32px)}
#language-options a:lang(th){line-height:1.8}
@media(min-width:1281px){
 html:is([lang=th],[lang=id],[lang=fil]) .site-header{gap:20px}
 html:is([lang=th],[lang=id],[lang=fil]) nav{gap:22px}
 html:is([lang=th],[lang=id],[lang=fil]) nav a{white-space:normal;line-height:1.5}
}
@media(max-width:760px){
 html:is([lang=th],[lang=id],[lang=fil]) .hero{height:auto;min-height:max(740px,calc(100svh - 72px));max-height:none}
 html:is([lang=th],[lang=id],[lang=fil]) .hero-content{min-height:inherit;padding-top:70px;padding-bottom:190px}
 html:is([lang=id],[lang=fil]) .hero h1{font-size:clamp(30px,8.6vw,58px);line-height:1.2;letter-spacing:-.025em;margin:18px 0}
 html[lang=th] .hero h1{font-size:clamp(30px,8.7vw,52px);line-height:1.5;margin:16px 0}
 html:is([lang=th],[lang=id],[lang=fil]) .hero .eyebrow{max-width:100%;font-size:14px;line-height:1.7}
 html:is([lang=th],[lang=id],[lang=fil]) .hero-summary{line-height:1.8}
 html:is([lang=th],[lang=id],[lang=fil]) .hero-link{font-size:16px;padding:13px 20px;line-height:1.65}
 html:is([lang=th],[lang=id],[lang=fil]) :is(h2,.apartment-intro h2){font-size:clamp(28px,8.3vw,38px);line-height:1.3}
 html[lang=th] :is(h2,.apartment-intro h2){line-height:1.55}
 html:is([lang=th],[lang=id],[lang=fil]) .service-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 html:is([lang=th],[lang=id],[lang=fil]) .service-index span{font-size:14px;line-height:1.7}
 html:is([lang=th],[lang=id],[lang=fil]) .stats{grid-template-columns:.9fr 1.3fr 1fr}
 html:is([lang=th],[lang=id],[lang=fil]) .stats div+div{padding-left:8%}
 html:is([lang=th],[lang=id],[lang=fil]) .stats strong{font-size:clamp(29px,9vw,60px)}
 html:is([lang=th],[lang=id],[lang=fil]) .city-row{grid-template-columns:1.2fr 1fr 1fr;gap:8px}
 html:is([lang=th],[lang=id],[lang=fil]) .city-header{font-size:14px;line-height:1.7}
 html:is([lang=th],[lang=id],[lang=fil]) .motion-toggle{max-width:58%;line-height:1.5}
 html[lang=th] .motion-toggle{font-size:13px;line-height:1.7}
 html:is([lang=th],[lang=id],[lang=fil]) .partner-models h3{font-size:22px;line-height:1.5}
 html[lang=th] .contact-info h3{font-size:32px;line-height:1.6}
}
@media(max-width:360px){
 html:is([lang=th],[lang=id],[lang=fil]) .menu-toggle .menu-label{font-size:13px}
 html[lang=th] .language-trigger{min-width:56px;font-size:14px}
 html:is([lang=th],[lang=id],[lang=fil]) .hero-bottom span+span{font-size:12px;letter-spacing:0}
 html:is([lang=th],[lang=id],[lang=fil]) .scene-controls{gap:4px}
}

@media(max-width:760px){
 html:is([lang=th],[lang=id],[lang=fil]) .hero-shade{background:linear-gradient(0deg,#171b16 0%,#171b16 39%,#171b16c0 52%,#171b1620 75%,transparent 100%),linear-gradient(90deg,#1116119c,#11161170)}
}
@media(max-width:360px){
 html:is([lang=th],[lang=id],[lang=fil]) .scene-controls button{width:26px}
 html:is([lang=th],[lang=id],[lang=fil]) .scene-controls button:after{width:22px;left:2px}
 html:is([lang=th],[lang=id],[lang=fil]) .motion-toggle{font-size:13px}
}

/* Opening the language popover must not become a scroll anchor. */
.site-header,#language-options{overflow-anchor:none}

@media(min-width:761px){html[lang=id] .hero h1{font-size:clamp(48px,5.1vw,82px)}}

/* Japanese header greeting stays on one line at its existing position. */
html[lang=ja] .trade-label{white-space:nowrap;max-width:none;flex-shrink:0;letter-spacing:1px}

/* Keep mobile language selection inside the popover; contact address wraps naturally. */
#language-options{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
.company-address{font-style:normal;margin-top:28px;padding-top:22px;border-top:1px solid #ffffff30;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.company-address .address-label{display:block;color:#d3c9bc;margin-bottom:8px}
.company-address a{display:block;width:fit-content;color:#f1e9dc}
.company-address a span{display:block}
.company-address a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}

/* Header controls use the site palette instead of mobile browser button colors. */
.language-trigger,.menu-toggle{color:var(--ink);-webkit-text-fill-color:currentColor}
