/* Fourth-site jade / platinum material system. Existing spatial owners retain geometry. */
:root{--s4-ink:#17382f;--s4-deep:#102822;--s4-paper:#f1f4ed;--s4-accent:#c4e4ce;--s4-muted:#52685c;--s4-rule:#24463830;--s4-u:1;--ink:var(--s4-ink);--paper:var(--s4-paper);--acid:var(--s4-accent);--muted:var(--s4-muted);--line:var(--s4-rule);--s3-bg:#102822;--s3-deep:#0a1d18;--s3-paper:#f0f6ec;--s3-accent:#c4e4ce;--s3-line:#c4e4ce40}
body[data-site04]{background:var(--s4-paper);color:var(--s4-ink)}
body[data-site04] .site-header:has(.craft-brand){background:linear-gradient(112deg,#f7f8f0 5%,#e3eee4 62%,#f4f6ef);color:#17382f;border-bottom:1px solid #759f883d;box-shadow:0 4px 22px #163a2610}
body[data-site04] .site-header:after{background:linear-gradient(90deg,#729d86,#fbfff9,#91b4a0)}
body[data-site04] .craft-brand-plane-back{background:linear-gradient(145deg,#adc3b1,#e9f2e9);border-color:#5b8b705e}
body[data-site04] .craft-brand-plane-front{border-color:#ffffffc9;box-shadow:2px 3px 0 #67957850}
body[data-site04] .craft-brand-wordmark strong{color:#17382f;text-shadow:0 1px 0 #fff;font-weight:600}
body[data-site04] .craft-brand-wordmark small{color:#577560}
body[data-site04] .menu-toggle{color:#224b38}
body[data-site04] .header-shortcuts a{background:#d5e2d580;border-color:#6c947545;color:#244c3b}
body[data-site04] .header-shortcuts a:hover,body[data-site04] .header-shortcuts a:focus-visible{background:#d4e6d2;color:#173b29}
body[data-site04] .craft-brand-wordmark strong,body[data-site04] main h1,.s4-chapter-copy h2,.s4-gallery-title h1{font-family:"STSong","Songti SC","SimSun",serif}
body[data-site04] :is(.header-contact,.hc-cta,.craft-cta){background:linear-gradient(105deg,#c3dec9,#e8f1dc);border:1px solid #a4c4ab;color:#16362a;box-shadow:inset 0 1px #fff,0 6px 16px #1b4c3020;border-radius:5px 15px 5px 15px}
body[data-site04] :is(.header-contact,.hc-cta,.craft-cta):hover{background:linear-gradient(105deg,#d8efdb,#f5faed);box-shadow:inset 0 1px #fff,0 7px 24px #214f392e}
body[data-site04] :is(a,button,input,summary):focus-visible{outline:3px solid #75964f;outline-offset:5px}
body[data-site04] .main-nav{background:radial-gradient(ellipse at 84% 0%,#aacbac24,transparent 58%),#112d25fc;color:#eff7ed;border-radius:0 0 24px 24px}
body[data-site04] .menu-links a:hover,body[data-site04] .menu-links a[aria-current=page]{color:#cceec7}
body[data-site04] .menu-preview{border:1px solid #c7e5cc67;border-radius:110px 7px 7px 7px;box-shadow:0 0 0 7px #bfd9c308,0 0 0 8px #bfd9c320}
body[data-site04] .menu-bottom a{color:#d7eacd}
body[data-site04] .premiere,body[data-site04] .premiere-stage{background:#102822}
body[data-site04] .premiere-shade{background:linear-gradient(90deg,#102822 0%,#102822f5 22%,#102822e3 31%,#10282294 43%,#10282210 61%,transparent 72%),linear-gradient(0deg,#1028229c,transparent 16%)}
body[data-site04] .premiere-eyebrow{color:#bbd8c2;letter-spacing:.1em}
body[data-site04] .premiere h1{font-weight:430;letter-spacing:-.055em;text-shadow:0 2px 20px #071b1759}
body[data-site04] .premiere h1 em{color:#dcf1ce;text-shadow:0 1px 0 #fafde36b,0 4px 24px #9ac6a32b}
body[data-site04] .premiere-amount{color:#f2f8e7}
body[data-site04] .estate-plane{border:1px solid #d3e8cf6b;border-radius:10px 28px 10px 28px;box-shadow:0 32px 66px #041c185e}
body[data-site04] .craft-network{background:radial-gradient(ellipse at 5% 12%,#7ca18b22,transparent 45%),linear-gradient(154deg,#18382d,#244334 65%,#142f27);color:#eff6e9}
body[data-site04] .craft-network-heading h2 em,body[data-site04] .craft-team-size{color:#d0e8bd}
body[data-site04] .craft-network-heading>p{color:#d3e0d2}
body[data-site04] .craft-network-panel{border-color:#d2e5cd57;box-shadow:0 28px 75px #071d195e}
body[data-site04] .craft-network-panel-copy{background:linear-gradient(0deg,#143427f0,#193b3250 68%,transparent)}
body[data-site04] .craft-section-line{border-color:#d2e5cd40;color:#c3d9c1}
body[data-site04] .craft-faq-questions .craft-section-line{color:#476551;border-color:#477e5b40}
body[data-site04] .craft-network-bottom{border-color:#d2e5cd40}
body[data-site04] .craft-rent-landscape{background:#102822}
body[data-site04] .craft-home-close{background:#17372d}
body[data-site04] .footer{background:#143229;color:#f1f5ec}
body[data-site04] .footer-heading,body[data-site04] .footer-bottom{color:#c2d8c9;border-color:#d2e5cd38}
body[data-site04] .contact-dialog::backdrop{background:#102e25bd}
body[data-site04] :is(.craft-faq-item[open],.craft-faq-item[open] summary){border-color:#6e9b72}
body[data-site04] img:not([data-qr]){background:#adbbb0}

/* New editorial chapters are siblings of old scenes, never transform wrappers. */
.s4-journal{background:var(--s4-paper);color:var(--s4-ink)}
.s4-journal-intro{padding:64px max(5vw,24px) 34px;max-width:1600px;margin:auto;display:flex;align-items:end;justify-content:space-between;gap:35px;border-bottom:1px solid var(--s4-rule)}
.s4-journal-intro h2{font-size:clamp(28px,3.3vw,50px);line-height:1.32;max-width:18em}
.s4-overline{font-size:12px;font-weight:600;letter-spacing:.13em;line-height:1.6;color:#647d6d;margin-bottom:19px}
.s4-journal-intro>a{display:inline-flex;gap:24px;align-items:center;flex-shrink:0;font-size:15px;border-bottom:1px solid #658b75;padding:13px 0}
.s4-journal-intro>a span{font-size:24px}
.s4-chapter{max-width:1600px;margin:auto;padding:82px max(5vw,24px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,105px);align-items:center;border-bottom:1px solid var(--s4-rule);position:relative}
.s4-chapter-copy,.s4-chapter-visual{min-width:0}
.s4-chapter-copy h2{font-size:clamp(29px,3.45vw,50px);font-weight:450;letter-spacing:-.04em;line-height:1.35;margin-bottom:23px;max-width:16em;text-wrap:balance}
.s4-chapter-intro{font-size:18px;line-height:1.8;color:#274c3b;margin-bottom:22px}
.s4-chapter-body{max-width:38em}
.s4-chapter-body p{font-size:15px;line-height:1.95;color:#52685c;margin-top:13px;text-wrap:pretty}
.s4-chapter-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.s4-chapter-card{border-top:1px solid #b2c5b5;padding-top:15px;min-width:0}
.s4-chapter-card h3{font-size:16px;line-height:1.5;color:#234b39}
.s4-chapter-card p{font-size:13px;line-height:1.85;color:#5a7262;margin-top:8px}
.s4-chapter-visual{position:relative}
.s4-image-note{display:flex;align-items:baseline;justify-content:space-between;gap:18px;font-size:12px;letter-spacing:.025em;line-height:1.65;color:#68826f;margin-top:20px;padding-top:12px;border-top:1px solid var(--s4-rule)}
.s4-image-note span:last-child{white-space:nowrap}
.s4-chapter[data-layout=reverse] .s4-chapter-visual{grid-column:1;grid-row:1}
.s4-chapter[data-layout=reverse] .s4-chapter-copy{grid-column:2;grid-row:1}
.s4-chapter[data-layout=ink]{max-width:none;background:#15382e;color:#f2f6e9;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);padding-inline:max(5vw,calc((100vw - 1440px)/2));border-color:#d8e6d627}
.s4-chapter[data-layout=ink] :is(.s4-overline,.s4-image-note){color:#b9d3bf}
.s4-chapter[data-layout=ink] .s4-chapter-intro{color:#d9e8d4}
.s4-chapter[data-layout=ink] .s4-chapter-body p,.s4-chapter[data-layout=ink] .s4-chapter-card p{color:#bcd0c0}
.s4-chapter[data-layout=ink] .s4-chapter-card h3{color:#e0efd7}
.s4-chapter[data-layout=ink] :is(.s4-image-note,.s4-chapter-card){border-color:#bddec13b}
.s4-chapter[data-layout=wide]{grid-template-columns:1fr;gap:35px;background:linear-gradient(125deg,#e7eee4,#f8f9ef)}
.s4-chapter[data-layout=wide] .s4-chapter-copy{display:grid;grid-template-columns:.9fr 1.1fr;gap:10px 6vw;align-items:start}
.s4-chapter[data-layout=wide] .s4-overline{grid-column:1/-1;margin:0}
.s4-chapter[data-layout=wide] .s4-chapter-copy h2{grid-column:1;margin:0}
.s4-chapter[data-layout=wide] .s4-chapter-intro{grid-column:2;grid-row:2;margin:0}
.s4-chapter[data-layout=wide] .s4-chapter-body{grid-column:1;grid-row:3}
.s4-chapter[data-layout=wide] .s4-chapter-cards{grid-column:2;grid-row:3;margin-top:13px}
.s4-chapter[data-layout=wide] .s4-chapter-visual{width:min(900px,100%);margin:0 auto}
.s4-chapter[data-layout=wide] .s4-artpiece{aspect-ratio:16/9}
.s4-chapter[data-layout=stone]{background:linear-gradient(160deg,#e5ece1,#f3f5eb 70%);border-inline:1px solid #cad7ca}
.s4-contact-ribbon{padding:53px max(5vw,24px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:#dae9d9;border-top:1px solid #8daa9140;color:#15392a}
.s4-contact-ribbon h2{font-size:clamp(24px,2.6vw,38px);line-height:1.35;margin:10px 0 0}
.s4-contact-ribbon p{font-size:13px;letter-spacing:.06em}
.s4-contact-ribbon .hc-cta{flex-shrink:0}

/* The complete gallery has six reading chapters; every image is directly reachable. */
.page-gallery .s4-gallery-main{padding-top:96px;background:var(--s4-paper)}
.s4-gallery-hero{padding:62px max(5vw,24px) 52px;max-width:1600px;margin:auto}
.s4-gallery-title{display:grid;grid-template-columns:1fr .64fr;gap:50px;align-items:end;margin-top:10px}
.s4-gallery-title h1{font-size:clamp(48px,6.4vw,96px);font-weight:420;line-height:1.16;letter-spacing:-.055em;text-shadow:1px 2px 0 #fff,2px 3px 1px #afc1b454}
.s4-gallery-title h1 em{display:block;color:#658470}
.s4-gallery-title p{font-size:17px;line-height:1.85;max-width:28em;padding-bottom:6px;color:#526a5a}
.s4-collection-nav{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:40px;padding:20px 0;border-block:1px solid var(--s4-rule)}
.s4-collection-nav a{font-size:14px;display:inline-flex;align-items:center;gap:12px;padding:8px 0;min-height:44px}
.s4-collection-nav a span{font-size:11px;color:#769580}
.s4-collection-nav a:hover{color:#357b4b}
.s4-collection{padding:70px max(5vw,24px) 85px;max-width:1600px;margin:auto;scroll-margin-top:105px;border-top:1px solid var(--s4-rule)}
.s4-collection-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center;margin-bottom:40px}
.s4-collection-head .s4-chapter-copy h2{font-size:clamp(35px,4vw,58px)}
.s4-collection-head .s4-artpiece{aspect-ratio:16/10}
.s4-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;align-items:start}
.s4-gallery-item{min-width:0}
.s4-gallery-image-shell{position:relative;aspect-ratio:3/2;overflow:hidden;background:#e2e9dd;border:1px solid #72947a29;border-radius:3px 20px 3px 3px;box-shadow:0 12px 24px #2f543815}
.s4-gallery-image-shell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.16,.75,.2,1)}
@media(hover:hover){.s4-gallery-item:hover .s4-gallery-image-shell img{transform:scale(1.035)}}
.s4-gallery-item figcaption{display:flex;gap:12px;align-items:baseline;padding:15px 0 0;color:#214733;line-height:1.45}
.s4-gallery-item figcaption>span{font-size:10px;font-variant-numeric:tabular-nums;color:#79957e;white-space:nowrap}
.s4-gallery-item figcaption strong{font-size:16px;font-weight:500}
.s4-gallery-item p{margin:8px 0 0 33px;color:#647c6a;font-size:12px;line-height:1.8}
.s4-collection:nth-of-type(2n){background:linear-gradient(145deg,#e7eee2,#f4f6ec)}
.s4-collection-ending{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--s4-rule);margin-top:37px;padding-top:25px;font-size:14px;color:#55725e}
.s4-collection-ending a{display:inline-flex;gap:24px;align-items:center;padding:8px 0;border-bottom:1px solid #6f9278;min-height:44px;color:#294e38}

@media(min-width:1650px){.s4-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.s4-chapter{gap:35px}.s4-chapter-copy h2{font-size:32px}.s4-chapter-intro{font-size:16px}.s4-chapter-cards{gap:14px}.s4-gallery-title{grid-template-columns:1fr .8fr;gap:35px}}
@media(max-width:760px),(any-pointer:coarse) and (max-width:1100px){
 :root{--s4-u:var(--mobile-scale,1)}
 body[data-site04] .site-header:has(.craft-brand){background:#eef4e9}
 body[data-site04] .premiere-shade{background:linear-gradient(90deg,#102822ed 0%,#10282277 40%,#10282208 88%),linear-gradient(180deg,#1028228f 0%,#10282224 25%,transparent 48%,#10282252 65%,#102822f0 83%,#102822 100%)}
 body[data-site04] .estate-plane{border-radius:calc(10px*var(--s4-u))}
 body[data-site04] .main-nav{border-radius:0 0 calc(22px*var(--s4-u)) calc(22px*var(--s4-u))}
 body[data-site04] .menu-preview{border-radius:calc(60px*var(--s4-u)) calc(5px*var(--s4-u)) calc(5px*var(--s4-u)) calc(5px*var(--s4-u))}
 .s4-journal-intro{padding:calc(44px*var(--s4-u)) calc(23px*var(--s4-u)) calc(25px*var(--s4-u));display:block}
 .s4-journal-intro h2{font-size:calc(29px*var(--s4-u));line-height:1.4}
 .s4-journal-intro>a{font-size:calc(14px*var(--s4-u));padding:calc(10px*var(--s4-u)) 0;margin-top:calc(13px*var(--s4-u));gap:calc(26px*var(--s4-u))}
 .s4-journal-intro>a span{font-size:calc(22px*var(--s4-u))}
 .s4-chapter,.s4-chapter[data-layout=ink],.s4-chapter[data-layout=wide]{display:flex;flex-direction:column;align-items:stretch;gap:calc(32px*var(--s4-u));padding:calc(45px*var(--s4-u)) calc(23px*var(--s4-u));border-inline:0}
 .s4-chapter[data-layout=reverse] .s4-chapter-visual{order:1}
 .s4-chapter-copy h2,.s4-chapter[data-layout=wide] .s4-chapter-copy h2{font-size:calc(31px*var(--s4-u));line-height:1.4;letter-spacing:-.035em;margin-bottom:calc(18px*var(--s4-u));max-width:none}
 .s4-overline{font-size:calc(11px*var(--s4-u));margin-bottom:calc(15px*var(--s4-u));letter-spacing:.09em}
 .s4-chapter-intro{font-size:calc(16px*var(--s4-u));line-height:1.85;margin-bottom:calc(18px*var(--s4-u))}
 .s4-chapter-body p{font-size:calc(14px*var(--s4-u));line-height:1.95;margin-top:calc(11px*var(--s4-u))}
 .s4-chapter-cards{gap:calc(16px*var(--s4-u));margin-top:calc(20px*var(--s4-u))}
 .s4-chapter-card{padding-top:calc(13px*var(--s4-u))}
 .s4-chapter-card h3{font-size:calc(15px*var(--s4-u));line-height:1.6}
 .s4-chapter-card p{font-size:calc(12px*var(--s4-u));margin-top:calc(7px*var(--s4-u))}
 .s4-image-note{font-size:calc(11px*var(--s4-u));line-height:1.7;gap:calc(12px*var(--s4-u));margin-top:calc(15px*var(--s4-u));padding-top:calc(11px*var(--s4-u))}
 .s4-chapter[data-layout=wide] .s4-chapter-copy{display:block}
 .s4-chapter[data-layout=wide] .s4-overline{margin-bottom:calc(15px*var(--s4-u))}
 .s4-chapter[data-layout=wide] .s4-chapter-intro{margin-bottom:calc(18px*var(--s4-u))}
 .s4-chapter[data-layout=wide] .s4-chapter-cards{margin-top:calc(20px*var(--s4-u))}
 .s4-chapter[data-layout=wide] .s4-artpiece{aspect-ratio:4/3}
 .s4-contact-ribbon{display:block;padding:calc(35px*var(--s4-u)) calc(23px*var(--s4-u))}
 .s4-contact-ribbon h2{font-size:calc(27px*var(--s4-u));line-height:1.5;margin-top:calc(10px*var(--s4-u))}
 .s4-contact-ribbon p{font-size:calc(12px*var(--s4-u));line-height:1.75}
 .s4-contact-ribbon .hc-cta{width:100%;margin-top:calc(24px*var(--s4-u))}
 .page-gallery .s4-gallery-main{padding-top:var(--hc-mf-header-space,calc(96px*var(--s4-u)))}
 .s4-gallery-hero{padding:calc(37px*var(--s4-u)) calc(23px*var(--s4-u)) calc(24px*var(--s4-u))}
 .s4-gallery-title{display:block;margin-top:calc(10px*var(--s4-u))}
 .s4-gallery-title h1{font-size:calc(48px*var(--s4-u));line-height:1.2}
 .s4-gallery-title p{font-size:calc(15px*var(--s4-u));line-height:1.95;margin-top:calc(25px*var(--s4-u));max-width:none;padding:0}
 .s4-collection-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(5px*var(--s4-u)) calc(15px*var(--s4-u));margin-top:calc(26px*var(--s4-u));padding:calc(13px*var(--s4-u)) 0}
 .s4-collection-nav a{font-size:calc(12px*var(--s4-u));gap:calc(6px*var(--s4-u));min-height:calc(44px*var(--s4-u));padding:calc(7px*var(--s4-u)) 0;white-space:nowrap}
 .s4-collection-nav a span{font-size:calc(9px*var(--s4-u))}
 .s4-collection{padding:calc(43px*var(--s4-u)) calc(20px*var(--s4-u)) calc(46px*var(--s4-u));scroll-margin-top:var(--hc-mf-header-space,96px)}
 .s4-collection-head{display:block;margin-bottom:calc(27px*var(--s4-u))}
 .s4-collection-head .s4-chapter-copy h2{font-size:calc(33px*var(--s4-u));line-height:1.4}
 .s4-collection-head .s4-artpiece{margin-top:calc(28px*var(--s4-u));aspect-ratio:4/3}
 .s4-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(24px*var(--s4-u)) calc(13px*var(--s4-u))}
 .s4-gallery-image-shell{border-radius:calc(2px*var(--s4-u)) calc(13px*var(--s4-u)) calc(2px*var(--s4-u)) calc(2px*var(--s4-u));box-shadow:0 calc(8px*var(--s4-u)) calc(16px*var(--s4-u)) #2f543815}
 .s4-gallery-item figcaption{gap:calc(7px*var(--s4-u));padding-top:calc(11px*var(--s4-u))}
 .s4-gallery-item figcaption>span{font-size:calc(9px*var(--s4-u))}
 .s4-gallery-item figcaption strong{font-size:calc(13px*var(--s4-u));line-height:1.6}
 .s4-gallery-item p{display:none}
 .s4-collection-ending{display:block;font-size:calc(13px*var(--s4-u));line-height:1.85;margin-top:calc(29px*var(--s4-u));padding-top:calc(20px*var(--s4-u))}
 .s4-collection-ending a{font-size:calc(14px*var(--s4-u));min-height:calc(44px*var(--s4-u));margin-top:calc(9px*var(--s4-u));gap:calc(26px*var(--s4-u))}
}
@media(max-width:760px) and (max-height:580px) and (orientation:landscape){body[data-site04] .premiere-shade{background:linear-gradient(90deg,#102822 0%,#102822f5 17%,#102822d9 38%,#10282266 68%,#10282222 100%)}}
@media(prefers-reduced-motion:reduce){.s4-gallery-image-shell img{transition:none}.s4-gallery-item:hover .s4-gallery-image-shell img{transform:none}}

/* Preserve an unmistakable error state within the rent calculator. Geometry and values stay with the original controller. */
body[data-site04] [data-rent-calculator] [data-rent-error]{color:#963b32}
body[data-site04] [data-rent-calculator] [data-rent-input][aria-invalid="true"]{color:#963b32;outline-color:#963b32}
body[data-site04] [data-rent-calculator] .craft-input-line:has([data-rent-input][aria-invalid="true"]){border-color:#963b32}

/* Three homepage headings keep whole Chinese phrases on narrow reading surfaces. */
.s4-phone-break{display:none}
@media(max-width:760px),(any-pointer:coarse) and (max-width:1100px){.s4-phone-break{display:initial}}
/* Keep the dialog's auxiliary label and close glyph at their normal physical size in desktop-mode phones. */
@media(any-pointer:coarse) and (min-width:761px) and (max-width:1100px){
 body[data-site04] .contact-dialog .eyebrow{font-size:calc(12px*var(--mobile-scale,1))}
 body[data-site04] .contact-dialog .dialog-close span{font-size:calc(31px*var(--mobile-scale,1))}
}
