:root { --navy:#112633; --navy-2:#1b3442; --ivory:#f4f1e9; --bronze:#b69d73; --ink:#18303d; --muted:#5a6a70; --line:#d6d7d1; --max:1180px; --serif:Georgia,'Times New Roman','Songti SC',SimSun,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:Arial,Helvetica,'PingFang SC','Microsoft YaHei',sans-serif; font-size:16px; line-height:1.55; }
a { color:inherit; }
a:focus-visible, summary:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.shell { max-width:var(--max); margin:0 auto; padding:0 40px; }
.skip { position:absolute; left:-9999px; top:auto; }
.skip:focus { left:20px; top:20px; z-index:30; background:var(--ivory); color:var(--navy); padding:10px 14px; }
header { border-bottom:1px solid rgba(214,215,209,.38); background:var(--ivory); position:relative; z-index:10; }
.header-inner { min-height:86px; display:flex; align-items:center; gap:28px; }
.brand { display:inline-flex; align-items:center; gap:14px; text-decoration:none; color:var(--navy); flex-shrink:0; margin-right:auto; }
.brand-mark { width:34px; height:34px; color:var(--bronze); flex-shrink:0; }
.brand-wordmark { font-family:var(--serif); font-size:23px; line-height:1; letter-spacing:.17em; }
.brand-sub { display:block; margin-top:6px; font-family:Arial,Helvetica,sans-serif; font-size:9px; line-height:1; letter-spacing:.38em; }
nav { display:flex; align-items:center; gap:28px; font-size:13px; color:var(--navy); }
nav a { text-decoration:none; padding:12px 0; }
nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.language-picker { position:relative; flex-shrink:0; font-size:13px; }
.language-picker summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:10px 12px; border:1px solid var(--line); cursor:pointer; list-style:none; }
.language-picker summary::-webkit-details-marker { display:none; }
.language-picker summary:hover, .language-picker[open] summary { border-color:var(--bronze); }
.language-picker[open] summary svg { transform:rotate(180deg); }
.language-list { position:absolute; top:calc(100% + 8px); right:0; width:196px; margin:0; padding:6px; list-style:none; background:var(--ivory); border:1px solid var(--line); box-shadow:0 12px 28px rgba(17,38,51,.14); }
.language-list a { display:flex; justify-content:space-between; align-items:center; gap:18px; min-height:44px; padding:10px 12px; text-decoration:none; }
.language-list a span { font-size:10px; letter-spacing:.06em; color:var(--muted); }
.language-list a:hover, .language-list a[aria-current] { background:#e6e2d8; }
.language-list a[aria-current] { box-shadow:inset 2px 0 var(--bronze); font-weight:700; }
.hero { background:var(--navy); color:var(--ivory); }
.hero-grid { min-height:610px; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); gap:60px; align-items:end; padding-top:88px; padding-bottom:72px; position:relative; overflow:hidden; }
.hero-grid:after { content:""; position:absolute; inset:0 0 0 61%; border-left:1px solid rgba(182,157,115,.28); background:linear-gradient(90deg,transparent 0,transparent 25%,rgba(182,157,115,.06) 25%,rgba(182,157,115,.06) 25.2%,transparent 25.2%,transparent 50%,rgba(182,157,115,.06) 50%,rgba(182,157,115,.06) 50.2%,transparent 50.2%,transparent 75%,rgba(182,157,115,.06) 75%,rgba(182,157,115,.06) 75.2%,transparent 75.2%); pointer-events:none; }
.hero-copy, .hero-aside { position:relative; z-index:1; min-width:0; }
.eyebrow, .section-label { margin:0 0 24px; color:var(--bronze); text-transform:uppercase; letter-spacing:.2em; font-size:11px; font-weight:700; }
h1, h2, h3 { font-family:var(--serif); font-weight:400; overflow-wrap:anywhere; }
h1 { max-width:780px; margin:0; font-size:clamp(48px,7vw,86px); line-height:1.05; letter-spacing:-.045em; }
h1 em { color:var(--bronze); font-style:normal; }
.hero-bottom { margin-top:62px; display:flex; flex-wrap:wrap; gap:24px 42px; align-items:flex-end; justify-content:space-between; max-width:760px; }
.hero-intro { max-width:500px; margin:0; color:#dbe0db; font-size:18px; line-height:1.65; }
.text-link { color:var(--ivory); text-decoration:none; border-bottom:1px solid var(--bronze); padding-bottom:7px; font-size:13px; }
.text-link span { color:var(--bronze); margin-left:10px; white-space:nowrap; }
.hero-aside { align-self:stretch; display:flex; flex-direction:column; justify-content:flex-end; padding-bottom:8px; }
.hero-aside p { margin:0 0 8px; font-size:12px; color:#afc0c4; }
.hero-aside strong { display:block; font-family:var(--serif); color:var(--ivory); font-size:21px; font-weight:400; }
.section { padding:108px 0; }
.section-light { background:var(--ivory); }
.section-dark { background:var(--navy-2); color:var(--ivory); }
.section-light .section-label, .section-light .focus-index { color:#79623f; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:40px; margin-bottom:64px; }
.section-heading > div { flex:1; min-width:0; }
h2 { font-size:clamp(34px,5vw,56px); line-height:1.12; letter-spacing:-.035em; margin:0; max-width:650px; }
.section-heading > p { margin:0; max-width:330px; flex:0 1 330px; color:var(--muted); font-size:15px; line-height:1.7; }
.focus-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.focus-card { border-top:1px solid var(--line); padding-top:22px; }
.focus-index { color:var(--bronze); font-size:11px; letter-spacing:.16em; }
h3 { margin:28px 0 14px; font-size:28px; line-height:1.2; hyphens:auto; }
.focus-card p { margin:0; color:var(--muted); font-size:15px; line-height:1.65; }
.approach-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:86px; align-items:start; }
.approach-copy .small-copy { max-width:590px; margin:24px 0 0; font-size:16px; line-height:1.7; color:#b9c6c7; }
.principles { border-top:1px solid rgba(244,241,233,.28); }
.principle { display:grid; grid-template-columns:34px minmax(0,1fr); gap:20px; padding:21px 0; border-bottom:1px solid rgba(244,241,233,.28); }
.principle-number { color:var(--bronze); font-size:12px; letter-spacing:.1em; }
.principle strong { display:block; font-family:var(--serif); font-size:20px; font-weight:400; margin-bottom:7px; }
.principle div > span { display:block; color:#b9c6c7; font-size:16px; line-height:1.65; }
.contact { background:var(--bronze); color:var(--navy); }
.contact-inner { padding-top:74px; padding-bottom:78px; display:flex; align-items:flex-end; justify-content:space-between; gap:50px; }
.contact-inner > div { min-width:0; }
.contact-inner > div:first-child { flex:1; }
.contact-inner > div:last-child { flex:0 1 300px; }
.contact .section-label { color:var(--navy); }
.contact h2 { max-width:620px; }
.contact p:not(.section-label) { max-width:300px; margin:0; font-size:15px; line-height:1.65; }
.contact a { display:inline-block; margin-top:20px; color:var(--navy); font-size:18px; text-decoration:none; border-bottom:1px solid var(--navy); padding-bottom:5px; overflow-wrap:anywhere; }
footer { background:var(--navy); color:#b9c6c7; }
.footer-inner { padding-top:28px; padding-bottom:28px; display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; font-size:12px; }
.footer-inner strong { color:var(--ivory); font-family:var(--serif); font-size:16px; font-weight:400; letter-spacing:.12em; }
.footer-note { margin:0; }
:lang(zh-Hans) h1, :lang(zh-Hans) h2, :lang(zh-Hans) h3 { letter-spacing:0; line-height:1.3; }
:lang(zh-Hans) .eyebrow, :lang(zh-Hans) .section-label { letter-spacing:.1em; }
@media (max-width:960px) {
  .hero-grid { grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr); gap:34px; }
  .approach-grid { gap:44px; }
}
@media (max-width:760px) {
  .shell { padding-left:22px; padding-right:22px; }
  .header-inner { display:grid; grid-template-columns:1fr auto; gap:10px 12px; padding-top:18px; padding-bottom:12px; }
  .brand-wordmark { font-size:19px; }
  nav { grid-column:1 / -1; grid-row:2; gap:12px; justify-content:space-between; flex-wrap:wrap; }
  .language-picker { grid-column:2; grid-row:1; }
  .hero-grid { min-height:auto; grid-template-columns:minmax(0,1fr); gap:48px; padding-top:62px; padding-bottom:60px; }
  .hero-grid:after { left:60%; }
  h1 { font-size:clamp(42px,10vw,72px); }
  .hero-bottom { margin-top:40px; flex-direction:column; align-items:flex-start; gap:22px; }
  .hero-intro { font-size:16px; }
  .section { padding:72px 0; }
  .section-heading { display:block; margin-bottom:42px; }
  .section-heading > p { margin-top:22px; }
  .focus-grid { grid-template-columns:minmax(0,1fr); gap:34px; }
  .approach-grid { grid-template-columns:minmax(0,1fr); gap:46px; }
  .contact-inner { display:block; padding-top:58px; padding-bottom:62px; }
  .contact-inner > div:last-child { margin-top:24px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Project presentation: panoramic landscapes, spacious editorial typography. */
img { display:block; max-width:100%; height:auto; }
figure { margin:0; }
figcaption { font-size:14px; line-height:1.55; }
nav { gap:22px; font-size:14px; flex-wrap:wrap; }
.language-picker { font-size:14px; }
.section-label { font-size:12px; }
.section-heading > p, .focus-card p, .contact p:not(.section-label) { font-size:16px; }
.featured-hero-link { align-self:flex-start; margin-top:24px; }
.featured-project { background:#e8e8df; }
.featured-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:center; gap:60px; }
.featured-image { position:relative; }
.featured-image img { width:100%; aspect-ratio:1.16; object-fit:cover; }
.featured-image figcaption { position:absolute; left:0; bottom:0; padding:10px 15px; background:var(--navy); color:var(--ivory); }
.featured-copy .section-label, .project-page .section-label { color:#79623f; }
.featured-copy h2 { font-size:clamp(42px,5vw,64px); }
.featured-copy h2 span { display:block; font-size:.67em; margin-top:8px; }
.featured-copy > p:not(.section-label):not(.project-status):not(.project-place) { color:var(--muted); }
.project-place { font-size:14px; letter-spacing:.035em; }
.project-status { display:table; font-size:14px; line-height:1.5; font-weight:700; border:1px solid currentColor; padding:8px 12px; margin:24px 0; }
.button-link { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; padding:15px 20px; text-decoration:none; font-size:16px; background:var(--navy); color:var(--ivory); border:1px solid var(--navy); }
.button-link:hover { background:var(--navy-2); }
.button-link span { color:var(--bronze); }
.project-page p { line-height:1.75; }
.project-hero { background:var(--navy); color:var(--ivory); padding:35px 0 32px; }
.project-hero .section-label { color:var(--bronze); }
.back-link { color:#c4d0d0; display:inline-block; font-size:14px; text-decoration:none; padding:7px 0; }
.back-link:hover { text-decoration:underline; }
.back-link span { margin-right:8px; }
.project-hero-heading { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:80px; align-items:center; padding:60px 0 48px; }
.project-hero h1 { font-size:clamp(64px,8vw,100px); line-height:1; }
.project-hero h1 em { display:block; margin-top:16px; font-size:.49em; line-height:1.18; letter-spacing:-.035em; }
.project-hero-intro > p { color:#dbe0db; margin:0 0 20px; }
.project-hero-intro .project-status { color:var(--bronze); margin:20px 0 28px; }
.project-hero .text-link { font-size:16px; display:inline-block; }
.project-hero-image { position:relative; }
.project-hero-image img { width:100%; aspect-ratio:1.95; object-fit:cover; }
.project-hero-image figcaption { position:absolute; bottom:0; left:0; background:var(--navy); color:var(--ivory); padding:10px 16px; }
.project-page .visual-note { color:#b9c6c7; font-size:14px; line-height:1.6; max-width:950px; margin:18px 0 0; }
.project-two-column { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:80px; align-items:start; }
.project-prose > p:not(.section-label) { color:var(--muted); margin:24px 0 0; font-size:16px; }
.project-prose > p:first-child:not(.section-label) { margin-top:0; }
.project-facts { margin:0; border-top:1px solid var(--line); }
.project-facts > div { padding:22px 0; border-bottom:1px solid var(--line); }
.project-facts dt { font-size:14px; color:var(--muted); margin-bottom:7px; }
.project-facts dd { margin:0; font-family:var(--serif); font-size:23px; line-height:1.4; }
.project-location { background:#e8e8df; }
.project-location .project-two-column { align-items:center; }
.project-location img { width:100%; aspect-ratio:1.15; object-fit:cover; }
.project-location figcaption { color:var(--muted); margin-top:12px; }
.project-prose .project-note, .project-page .project-note { font-size:14px; line-height:1.7; }
.project-prose .project-note { padding-left:18px; border-left:2px solid var(--bronze); }
.project-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:70px; row-gap:36px; }
.project-detail-grid article { border-top:1px solid var(--line); padding-top:24px; }
.project-detail-grid h3 { margin:14px 0; font-size:28px; }
.project-detail-grid p { font-size:16px; color:var(--muted); margin:0; max-width:510px; }
.item-number { color:#79623f; font-size:14px; }
.project-amenities h2 { max-width:720px; }
.project-amenities .section-label { color:var(--bronze); }
.project-amenities .project-detail-grid { margin-top:54px; }
.project-amenities article { border-color:#50616a; }
.project-amenities article p { color:#c1cece; }
.project-gallery h2 { max-width:780px; }
.gallery-note { max-width:850px; margin:22px 0 35px; color:var(--muted); }
.gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.gallery-grid figure:first-child { grid-column:1 / -1; }
.gallery-grid img { width:100%; aspect-ratio:1.72; object-fit:cover; }
.gallery-grid figure:first-child img { aspect-ratio:2; }
.gallery-grid figcaption { margin-top:14px; color:var(--muted); }
.caption-label { display:block; margin-bottom:3px; font-weight:700; color:var(--ink); }
.image-credit { font-size:14px; color:var(--muted); margin:30px 0 0; }
.project-development { background:#e8e8df; }
.development-steps { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.development-steps li { border-top:1px solid #bac2bb; padding-top:24px; }
.development-steps h3 { font-size:23px; margin:14px 0; }
.development-steps p { color:var(--muted); font-size:16px; margin:0; }
.project-investor { background:var(--bronze); }
.project-investor .section-label { color:var(--navy); }
.project-investor .project-prose > p { color:var(--navy); }
.project-investor .button-link { margin-top:30px; }
.project-email { display:table; margin-top:18px; font-size:16px; overflow-wrap:anywhere; text-underline-offset:4px; }
.investment-note { font-size:14px; border-top:1px solid #827555; padding-top:22px; margin:56px 0 0; max-width:100%; }
@media (max-width:1040px) {
  .header-inner { gap:20px; }
  nav { gap:16px; }
  .featured-grid, .project-hero-heading, .project-two-column { gap:40px; }
  .development-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
}
@media (max-width:760px) {
  nav { gap:8px 18px; justify-content:flex-start; }
  .featured-grid, .project-two-column, .project-hero-heading { grid-template-columns:minmax(0,1fr); gap:36px; }
  .featured-copy { order:-1; }
  .featured-image img { aspect-ratio:1.5; }
  .project-hero { padding-top:24px; }
  .project-hero-heading { padding:36px 0; }
  .project-hero h1 { font-size:72px; }
  .project-hero h1 em { font-size:.48em; }
  .project-hero-image img { aspect-ratio:1.2; object-position:40% center; }
  .project-hero-image figcaption { font-size:12px; }
  .project-location img { aspect-ratio:1.5; }
  .project-detail-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
  .gallery-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
  .gallery-grid figure:first-child { grid-column:auto; }
  .gallery-grid figure:first-child img { aspect-ratio:1.72; }
  .project-facts dd { font-size:22px; }
  .investment-note { margin-top:40px; }
}
@media (max-width:420px) {
  .development-steps { grid-template-columns:minmax(0,1fr); }
  .project-hero h1 { font-size:64px; }
}
