@font-face{font-family:'Review Sans';src:url('fonts/review-sans.woff2?v=v02-final') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Review Condensed';src:url('fonts/review-condensed.woff2?v=v02-final') format('woff2');font-style:normal;font-weight:200 700;font-display:swap}
:root{--paper:#fff;--ink:#252525;--muted:#858585;--line:#e3e3e3;--accent:#f06450;--review-brand:64px;--review-search:28px}
[data-visual-review]{font-family:Arial,'Review Sans',sans-serif;color:var(--ink);font-synthesis:none}
html[lang=zh-CN] [data-visual-review]{font-family:'Review Sans',Arial,sans-serif}
[data-visual-review] header{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:28px;padding:28px 0;border:0;min-width:0}
[data-visual-review] header .brand{display:block;flex:none;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:var(--review-brand);font-weight:300;letter-spacing:-.065em;line-height:1.05;white-space:nowrap;color:#252525;margin:0}
[data-visual-review] header .brand:hover{color:#f06450;text-decoration:none}
[data-visual-review] header .header-navigation{display:flex;align-items:center;flex-wrap:nowrap;gap:18px;min-width:0;width:auto}
[data-visual-review] header nav{display:flex;width:auto;max-width:none;flex-wrap:nowrap;gap:16px;font-size:12px;letter-spacing:.035em;line-height:1.3}
[data-visual-review] header nav a{min-width:0;min-height:44px;display:flex;align-items:center;white-space:nowrap}
[data-visual-review] header .language-selector{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:none;margin-left:auto;font:12px Arial,sans-serif;white-space:nowrap}
[data-visual-review] header .language-selector a{min-height:44px;display:inline-flex;align-items:center}
[data-visual-review] .header-search{display:flex;align-items:stretch;width:140px;height:var(--review-search);flex:none;margin:0}
[data-visual-review] .header-search input{font:12px Arial,'Review Sans',sans-serif;min-width:0;padding:3px 7px;border:1px solid #858585;border-right:0;background:#fff}
[data-visual-review] .header-search button{width:var(--review-search);height:var(--review-search);min-height:0;background:var(--ink);border:0;color:white}
[data-visual-review] .header-search button svg{width:14px;height:14px}
[data-visual-review] .header-search button:hover{background:#444;color:#fff}
[data-visual-review] .header-search input:focus-visible{outline:2px solid #252525;outline-offset:3px}
[data-visual-review] .search-panel{padding:18px 0}
[data-visual-review] .review-disclaimer{font-size:11px;line-height:1.6;color:#686868;margin:28px 0 14px}
[data-visual-review] footer{border-color:var(--line)}
[data-visual-review] .review-pending{font:12px/1.7 Arial,'Review Sans',sans-serif;color:#737373}
/* HOME has its own 3:2 image system. PROJECTS rules never reach this scope. */
[data-visual-review].home-page .home-carousel{padding:26px 0 36px;border:0}
[data-visual-review].home-page .carousel-media{aspect-ratio:3/2;background:#000;isolation:isolate}
[data-visual-review].home-page .carousel-media>img{object-fit:contain;object-position:center}
[data-visual-review].home-page .carousel-media::after{content:'';position:absolute;z-index:2;pointer-events:none;left:0;bottom:0;width:78%;height:42%;background:linear-gradient(0deg,rgba(0,0,0,.42),rgba(0,0,0,.12) 56%,transparent)}
[data-visual-review].home-page .title-overlay{position:absolute;z-index:3;left:clamp(32px,4vw,64px);bottom:clamp(56px,5.2vw,80px);width:min(84%,1000px);color:white;pointer-events:none}
[data-visual-review].home-page .overlay-year{color:white;font-size:14px;font-weight:400;line-height:1.3;letter-spacing:.025em;margin:0 0 12px}
[data-visual-review].home-page .title-overlay h3{font-family:'Review Sans',Arial,sans-serif;font-weight:900;font-size:clamp(36px,6vw,88px);line-height:1.06;letter-spacing:-.035em;color:#fff;margin:0;overflow-wrap:normal;word-break:normal;text-wrap:balance;font-synthesis:none}
[data-visual-review].home-page .overlay-project-link{pointer-events:auto;display:inline-flex;align-items:center;min-height:28px;font:13px/1.3 Arial,'Review Sans',sans-serif;letter-spacing:.04em;color:white;border:0;margin-top:12px}
[data-visual-review].home-page .overlay-project-link:hover{color:white;text-decoration:underline}
[data-visual-review].home-page .overlay-project-link:focus-visible{outline:2px solid white;outline-offset:3px}
[data-visual-review].home-page .carousel-arrow,[data-visual-review].home-page .carousel-indicators{z-index:4}
[data-visual-review].home-page #happy-birthday .title-overlay{bottom:calc(7.88% + 50px)}
[data-visual-review].home-page .carousel-motion{margin:10px 0 0}
[data-visual-review].home-page .featured-context{max-width:760px;margin:16px 0 0;font-size:14px;line-height:1.85}
[data-visual-review].home-page .featured-context summary{cursor:pointer;font-size:13px;min-height:32px}
[data-visual-review].home-page .featured-context .approved-description{font-size:15px;line-height:1.85;margin:20px 0 0}
[data-visual-review].home-page .featured-context .approved-description p{margin:0 0 10px}
[data-visual-review].home-page #material{padding:26px 0 44px}
[data-visual-review].home-page .material-review-list{display:grid;gap:18px}
[data-visual-review].home-page .material-review-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:20px;align-items:start}
[data-visual-review].home-page .material-placeholder{aspect-ratio:4/3;border:1px solid var(--line);background:#f6f6f4;display:grid;place-items:center;font-size:11px;letter-spacing:.06em;color:#777}
[data-visual-review].home-page .material-category{font-size:11px;letter-spacing:.035em;margin:4px 0 10px;color:#737373}
[data-visual-review].home-page .material-review-item h3{font-size:20px;line-height:1.4;font-weight:400;letter-spacing:0;margin:0 0 10px}
[data-visual-review].home-page .material-review-item p:not(.material-category){font-size:14px;line-height:1.8;margin:0 0 8px}
[data-visual-review].home-page #about{padding:26px 0 44px}
[data-visual-review].home-page .about{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:40px}
[data-visual-review].home-page .about .large-word{font-size:clamp(36px,5vw,70px);line-height:1.1}
[data-visual-review].home-page .about-chinese-brand{display:block;font-size:.5em;letter-spacing:0;margin-top:12px}
[data-visual-review].home-page .about-copy p{margin-top:0}
[data-visual-review].home-page #contact{padding:26px 0 40px}
[data-visual-review].home-page .contact-title{font-size:clamp(36px,5.6vw,82px)}
@media(max-width:1100px){
 [data-visual-review] header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:center}
 [data-visual-review] header .brand{grid-column:1;grid-row:1;white-space:normal;max-width:100%}
 [data-visual-review] header .language-selector{grid-column:2;grid-row:1;margin:0}
 [data-visual-review] header .header-navigation{grid-column:1/-1;grid-row:2;flex-wrap:wrap;gap:10px 20px}
 [data-visual-review] header nav{font-size:12px;flex-wrap:wrap;gap:6px 18px}
 [data-visual-review].home-page .title-overlay h3{font-size:clamp(32px,5.9vw,64px)}
}
@media(max-width:700px){
 [data-visual-review] .page,[data-visual-review].projects-page .page{padding:0 24px}
 [data-visual-review] header{padding:22px 0 14px;column-gap:12px}
 [data-visual-review] header .header-navigation{gap:8px 0}
 [data-visual-review] header nav{width:100%;flex-basis:100%;justify-content:space-between;gap:0 10px;font-size:11px;letter-spacing:0}
 [data-visual-review] .header-search{width:160px}
 [data-visual-review].home-page .home-carousel{padding:18px 0 28px}
 [data-visual-review].home-page .title-overlay{left:60px;bottom:48px;width:calc(100% - 116px)}
 [data-visual-review].home-page .overlay-year{font-size:11px;line-height:1.2;margin-bottom:4px}
 [data-visual-review].home-page .title-overlay h3{font-size:32px;line-height:1.06;letter-spacing:-.025em;text-wrap:balance}
 [data-visual-review].home-page #featured .title-overlay h3{font-size:26px}
 html[lang=en] [data-visual-review].home-page #featured .title-overlay h3{font-size:23px}
 [data-visual-review].home-page .overlay-project-link{font-size:11px;line-height:1.2;min-height:24px;margin-top:4px}
 [data-visual-review].home-page #happy-birthday .title-overlay{bottom:calc(7.88% + 44px)}
 [data-visual-review].home-page .carousel-arrow.previous{left:4px}
 [data-visual-review].home-page .carousel-arrow.next{right:4px}
 [data-visual-review].home-page .carousel-arrow{width:48px;height:64px}
 [data-visual-review].home-page .carousel-indicators{bottom:0}
 [data-visual-review].home-page .about{grid-template-columns:1fr;gap:24px}
 [data-visual-review].home-page .about .large-word{font-size:44px}
 [data-visual-review].home-page .about-copy p{font-size:19px;line-height:1.8}
 [data-visual-review].home-page .material-review-item{gap:14px}
 [data-visual-review].home-page .material-review-item h3{font-size:17px}
 [data-visual-review].home-page .material-category{font-size:10px;margin-bottom:6px}
 [data-visual-review].home-page .material-placeholder{font-size:9px}
 [data-visual-review].home-page .material-review-item p:not(.material-category){font-size:12px;line-height:1.7}

}
/* V0.2: fixed SFS decisions; all rules operate only in this independent copy. */
[data-visual-review] header{gap:20px}
[data-visual-review] header .header-navigation{gap:14px}
[data-visual-review] header nav{gap:12px}
[data-visual-review] header nav a:hover{color:var(--accent);text-decoration:none}
[data-visual-review] .review-pending{color:var(--muted)}
[data-visual-review] .header-search button:hover{background:var(--accent)}
[data-visual-review] .header-search{position:relative}
[data-visual-review] .header-search button::after{content:'';position:absolute;top:-8px;right:0;width:28px;height:44px}
[data-visual-review] .language-selector a{padding-inline:3px}
[data-visual-review].home-page .home-carousel{padding:26px 0 0;border:0;margin:0}
[data-visual-review].home-page .title-overlay{bottom:40px;left:clamp(60px,5vw,80px);width:calc(100% - 160px)}
[data-visual-review].home-page .overlay-project-link{min-height:44px;margin-top:4px}
[data-visual-review].home-page #happy-birthday .title-overlay{bottom:calc(7.88% + 32px)}
[data-visual-review].home-page .hero-control-bar{display:flex;align-items:center;justify-content:center;gap:24px;min-height:48px;background:#000;color:#fff;position:relative}
[data-visual-review].home-page .hero-control-bar .carousel-indicators{position:static;transform:none;display:flex;gap:0;width:auto;max-width:none}
[data-visual-review].home-page .hero-control-bar .carousel-indicators button{width:44px;height:48px;min-width:44px}
[data-visual-review].home-page .hero-control-bar .carousel-motion{display:flex;margin:0}
[data-visual-review].home-page .hero-control-bar .carousel-motion button{min-height:48px;min-width:68px;border:0;color:white;font-size:12px}
[data-visual-review].home-page .hero-control-bar button:focus-visible{outline:2px solid white;outline-offset:-4px}
[data-visual-review].home-page .hero-control-bar button:hover{text-decoration:underline}
[data-visual-review].home-page main>section:not(.home-carousel){border:0}
[data-visual-review].home-page .home-section-heading{font-size:20px;font-weight:600;letter-spacing:1.2px;line-height:1.4;margin:0;font-family:inherit}
[data-visual-review].home-page #featured-now{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px;align-items:start;padding:0;margin:96px 0 64px}
[data-visual-review].home-page #featured-now .section-head{margin:0 0 24px}
[data-visual-review].home-page .featured-title{font-family:'Review Sans',Arial,sans-serif;font-size:40px;font-weight:800;letter-spacing:0;line-height:1.1;margin:0 0 24px;overflow-wrap:break-word}
[data-visual-review].home-page #featured-now .approved-description{font:16px/1.8 Arial,'Review Sans',sans-serif;max-width:none;margin:0;color:var(--ink)}
html[lang=zh-CN] [data-visual-review].home-page #featured-now .approved-description{font-family:'Review Sans',Arial,sans-serif}
[data-visual-review].home-page #featured-now .approved-description p{margin:0 0 12px}
[data-visual-review].home-page .featured-photo{aspect-ratio:4/3;margin:0;background:var(--paper);overflow:hidden}
[data-visual-review].home-page .featured-photo img{width:100%;height:100%;object-fit:contain;display:block}
[data-visual-review].home-page #selected{padding:0 0 64px;margin:0}
[data-visual-review].home-page #selected .photo img{display:block;width:100%;height:auto}
[data-visual-review].home-page #selected .project-name{font-family:'Review Sans',Arial,sans-serif}
[data-visual-review].home-page #material,[data-visual-review].home-page #about,[data-visual-review].home-page #contact{padding-top:0;margin-top:0}
[data-visual-review].home-page .material-placeholder{background:white;color:var(--muted)}
[data-visual-review].home-page .material-category{color:var(--muted)}
/* PROJECTS index: 33/67 of available width after 20px gap. Detail galleries stay unchanged. */
[data-projects-index] .page{max-width:none;padding:0 10%}
[data-projects-index] .projects-main{padding:64px 0 64px}
[data-projects-index] .projects-heading{font-family:'Review Condensed','Review Sans','Arial Narrow',sans-serif;font-size:48px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0 0 64px;white-space:nowrap}
[data-projects-index] .year-section{border:0;padding:0;margin:0 0 48px;scroll-margin-top:24px}
[data-projects-index] .year-section:last-child{margin-bottom:0}
[data-projects-index] .year-heading{font-family:'Review Condensed','Arial Narrow',sans-serif;font-size:28px;line-height:1.2;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:0 0 12px;margin-left:calc((100% - 20px)*.33 + 20px);height:33.6px;width:max-content;cursor:default}
[data-projects-index] .year-heading span{display:inline-block;transform-origin:left bottom;transition:transform 200ms,color 200ms}
@media(hover:hover) and (min-width:701px){[data-projects-index] .year-heading:hover span{transform:scale(1.42857143);color:var(--accent)}}
[data-projects-index] .production{display:grid;grid-template-columns:minmax(0,33fr) minmax(0,67fr);gap:20px;align-items:start;margin:0 0 12px;border:0}
[data-projects-index] .production:last-child{margin:0}
[data-projects-index] .project-cover{display:grid;place-items:center;aspect-ratio:4/3;width:100%;margin:0;min-width:0;background:var(--paper);border:1px solid var(--line);overflow:hidden;color:var(--muted);font:11px/1.6 Arial,'Review Sans',sans-serif;text-align:center;padding:16px}
[data-projects-index] a.project-cover{cursor:pointer}
[data-projects-index] .project-cover img{display:block;width:100%;height:100%;object-fit:contain}
[data-projects-index] .project-cover:hover{transform:none;filter:none;opacity:1;background:var(--paper);color:var(--muted);text-decoration:none}
[data-projects-index] .production-copy{padding:16px 0 0;min-width:0}
[data-projects-index] .production-copy h3{font-family:'Review Sans',Arial,sans-serif;font-size:24px;font-weight:800;line-height:1.1;letter-spacing:0;margin:0 0 8px;color:var(--ink);white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word}
[data-projects-index] .production-credits{font:14px/1.6 Arial,'Review Sans',sans-serif;color:var(--ink);margin:0 0 8px;font-weight:400}
[data-projects-index] .production-credits p{margin:0}
[data-projects-index] .production-credits .credit-label{font-weight:600}
[data-projects-index] .production-intro{font:14px/1.6 Arial,'Review Sans',sans-serif;color:var(--ink);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
[data-projects-index] .project-detail-link,[data-projects-index] .project-detail-pending{display:inline-flex;align-items:center;min-height:44px;font:14px/1.4 Arial,'Review Sans',sans-serif;margin:24px 0 0;border:0;padding:0}
[data-projects-index] .project-detail-link{color:var(--accent)}
[data-projects-index] .project-detail-link:hover{text-decoration:underline;text-underline-offset:3px}
[data-projects-index] footer{border:0;margin:0;padding-top:0}
@media(min-width:701px) and (max-width:1100px){[data-visual-review].home-page .title-overlay{left:112px;width:calc(100% - 224px)}}
@media(max-width:1100px){[data-visual-review] header .header-navigation{gap:10px 20px}}
@media(max-width:700px){
 [data-visual-review] .page,[data-projects-index] .page{padding:0 5%}
 [data-visual-review] header .brand{font-size:40px}
 [data-visual-review] header .language-selector{gap:3px}
 [data-visual-review] header .header-navigation{gap:8px 0}
 [data-visual-review] header .header-search{height:28px}
 [data-visual-review].home-page .home-carousel{padding:18px 0 0}
 [data-visual-review].home-page .title-overlay{left:60px;bottom:20px;width:calc(100% - 116px)}
 [data-visual-review].home-page #happy-birthday .title-overlay{bottom:calc(7.88% + 20px)}
 [data-visual-review].home-page .overlay-project-link{min-height:44px;margin-top:0}
 [data-visual-review].home-page .hero-control-bar{gap:4px;justify-content:center}
 [data-visual-review].home-page .hero-control-bar .carousel-indicators button{width:40px;min-width:40px;height:48px}
 [data-visual-review].home-page .hero-control-bar .carousel-motion button{min-width:68px}
 [data-visual-review].home-page #featured-now{grid-template-columns:1fr;margin:64px 0 48px;gap:24px}
 [data-visual-review].home-page .featured-title{font-size:32px;line-height:1.15;margin-bottom:20px}
 [data-visual-review].home-page #featured-now .approved-description{font-size:15px}
 [data-visual-review].home-page #selected{padding-bottom:48px}
 [data-visual-review].home-page .home-section-heading{font-size:16px;letter-spacing:.7px}
 [data-projects-index] .projects-main{padding-top:48px}
 [data-projects-index] .projects-heading{font-size:44px;margin-bottom:48px}
 [data-projects-index] .year-heading{margin-left:0}
 [data-projects-index] .production{grid-template-columns:1fr;gap:20px;margin-bottom:40px}
 [data-projects-index] .production-copy{padding:0}
 [data-projects-index] .production-copy h3{font-size:24px}
}
@media(max-width:360px){[data-visual-review] header .brand{font-size:32px}[data-visual-review].home-page .hero-control-bar{gap:0}[data-visual-review].home-page .hero-control-bar .carousel-indicators button{width:34px;min-width:34px}[data-visual-review].home-page .title-overlay h3{font-size:28px}[data-visual-review].home-page #featured .title-overlay h3{font-size:22px}html[lang=en] [data-visual-review].home-page #featured .title-overlay h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){[data-projects-index] .year-heading span{transition:none}[data-visual-review] *,[data-visual-review] *::after{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:360px){html[lang=en] [data-visual-review].home-page #moi-shenzhen .title-overlay h3{font-size:22px}}

[data-visual-review].home-page .featured-photo img{object-position:center top}
