*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--gold: #C4A46B;--gold-light: #D4B87A;--gold-dark: #9E7E4A;--black: #111110;--dark: #1C1C1A;--grey: #6B6B67;--grey-light: #A8A8A4;--border: #E0DCD4;--bg: #FAFAF8;--bg-warm: #F5F1EB;--white: #FFFFFF;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--max-w: 1280px;--section: clamp(80px, 10vw, 120px);--transition: .35s cubic-bezier(.4, 0, .2, 1)}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--bg);color:var(--dark);line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}ul{list-style:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:300;line-height:1.15}h1{font-size:clamp(2.8rem,6vw,5.5rem)}h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.01em}h3{font-size:clamp(1.4rem,2.5vw,2rem)}h4{font-size:1.1rem;font-weight:400;letter-spacing:.04em}p{font-size:.975rem;color:var(--grey);line-height:1.75}.label{font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.container{max-width:var(--max-w);margin:0 auto;padding:0 clamp(20px,5vw,60px)}.section{padding:var(--section) 0}.divider{width:48px;height:1px;background:var(--gold);margin:24px 0}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;transition:var(--transition)}.btn-gold{background:var(--gold);color:var(--white)}.btn-gold:hover{background:var(--gold-dark)}.btn-outline{border:1px solid var(--dark);color:var(--dark)}.btn-outline:hover{background:var(--dark);color:var(--white)}.btn-outline-white{border:1px solid rgba(255,255,255,.5);color:var(--white)}.btn-outline-white:hover{background:var(--white);color:var(--dark)}.btn-arrow:after{content:"→";font-size:.9em;transition:transform var(--transition)}.btn-arrow:hover:after{transform:translate(4px)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 clamp(20px,5vw,60px);transition:background var(--transition),box-shadow var(--transition)}.nav.scrolled{background:#fafaf8f7;backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--border)}.nav-inner{max-width:var(--max-w);margin:0 auto;height:84px;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center}.nav-links{display:flex;align-items:center;gap:44px}.nav-links a{font-size:.7rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--dark);position:relative;transition:color var(--transition)}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform var(--transition);transform-origin:left}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--gold)}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{transform:scaleX(1)}.nav-cta{font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:11px 26px;border:1px solid var(--gold);color:var(--gold);transition:var(--transition)}.nav-cta:hover{background:var(--gold);color:var(--white)}.nav-logo .logo-dark{display:none}.nav-logo .logo-light{display:block}.nav-logo img{height:38px;width:auto}.nav.on-dark .nav-links a{color:#ffffffd9}.nav.on-dark .nav-links a:hover{color:var(--white)}.nav.on-dark .nav-cta{border-color:#ffffff73;color:#ffffffe6}.nav.on-dark .nav-cta:hover{background:var(--white);color:var(--dark);border-color:var(--white)}.nav.on-dark:not(.scrolled) .nav-logo .logo-light{display:none}.nav.on-dark:not(.scrolled) .nav-logo .logo-dark{display:block}.nav.scrolled.on-dark .nav-links a{color:var(--dark)}.nav.scrolled.on-dark .nav-cta{border-color:var(--gold);color:var(--gold)}.nav-toggle{display:none;flex-direction:column;gap:6px;padding:6px;margin-right:-6px}.nav-toggle span{width:26px;height:1.5px;background:var(--dark);display:block;transition:var(--transition);transform-origin:center}.nav.on-dark .nav-toggle span{background:#ffffffe6}.nav.scrolled.on-dark .nav-toggle span,.nav.menu-open .nav-toggle span{background:var(--dark)}.nav.menu-open .nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.nav.menu-open .nav-toggle span:nth-child(2){opacity:0;transform:scaleX(0)}.nav.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.hero{position:relative;height:100vh;height:100dvh;min-height:700px;overflow:hidden}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 8s ease-out}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0000001f,#00000005 30%,#00000080 72%,#000000b8)}.hero-content{position:absolute;z-index:2;bottom:clamp(60px,9vw,110px);left:50%;transform:translate(-50%);width:100%;max-width:var(--max-w);padding:0 clamp(20px,5vw,60px)}.hero-content .label{color:#ffffffa6;margin-bottom:20px;display:block;letter-spacing:.2em}.hero-content h1{color:var(--white);max-width:15ch;margin-bottom:24px;line-height:1.1}.hero-content p{color:#ffffffb3;max-width:40ch;margin-bottom:40px;font-size:1rem;line-height:1.8}.page-header{padding:clamp(128px,16vw,168px) 0 clamp(60px,8vw,80px);border-bottom:1px solid var(--border)}.page-header .label{margin-bottom:14px;display:block}.page-header h1{max-width:15ch}.page-header p{max-width:50ch;margin-top:18px;font-size:1rem}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(40px,6vw,64px);gap:24px}.section-head .label{margin-bottom:10px;display:block}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,100px);align-items:center}.split.reverse{direction:rtl}.split.reverse>*{direction:ltr}.split-image{position:relative;aspect-ratio:3/4;overflow:hidden}.split-image img{width:100%;height:100%;object-fit:cover}.split-image-accent{position:absolute;bottom:-24px;right:-24px;width:55%;aspect-ratio:1/1;overflow:hidden;border:6px solid var(--bg)}.split-image-accent img{width:100%;height:100%;object-fit:cover}.split-text .label{margin-bottom:18px;display:block}.split-text h2{margin-bottom:20px}.split-text p{margin-bottom:16px;max-width:44ch}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--border)}.service-card{background:var(--bg);padding:52px 40px;transition:background var(--transition),transform var(--transition)}.service-card:hover{background:var(--bg-warm)}.service-icon{width:36px;height:1px;background:var(--gold);margin-bottom:36px}.service-card h3{margin-bottom:14px;font-size:clamp(1.3rem,2vw,1.65rem)}.service-card p{font-size:.875rem;line-height:1.8;margin-bottom:28px}.service-link{font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:8px;transition:gap var(--transition)}.service-link:after{content:"→"}.service-link:hover{gap:14px}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2px}.work-item{overflow:hidden;position:relative;cursor:pointer;background:var(--border)}.work-item.large{grid-column:span 7;aspect-ratio:16/10}.work-item.medium{grid-column:span 5;aspect-ratio:4/5}.work-item.small{grid-column:span 4;aspect-ratio:1/1}.work-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.4,0,.2,1)}.work-item:hover img{transform:scale(1.04)}.work-item-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,transparent 55%);opacity:0;transition:opacity var(--transition);display:flex;align-items:flex-end;padding:28px}.work-item:hover .work-item-overlay{opacity:1}.work-item-info .label{color:var(--gold-light);margin-bottom:6px;display:block}.work-item-info h4{color:var(--white);font-size:1rem;font-weight:400}.work-filters{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,52px)}.filter-btn{padding:8px 20px;font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);color:var(--grey);background:var(--white);transition:var(--transition)}.filter-btn.active,.filter-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--bg-warm)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.gallery-item{overflow:hidden;position:relative;aspect-ratio:4/3;background:var(--border)}.gallery-item.wide{grid-column:span 2;aspect-ratio:16/9}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.gallery-item:hover img{transform:scale(1.04)}.stats-bar{background:var(--dark)}.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid rgba(255,255,255,.07)}.stat-item{padding:56px 40px;border-right:1px solid rgba(255,255,255,.07)}.stat-item .number{font-family:var(--font-display);font-size:clamp(2.8rem,4vw,4rem);color:var(--white);line-height:1;margin-bottom:10px;font-weight:300}.stat-item .number span{color:var(--gold)}.stat-item p{color:#ffffff61;font-size:.75rem;margin:0;letter-spacing:.08em;text-transform:uppercase}.cta-banner{position:relative;overflow:hidden;background:var(--dark);padding:clamp(80px,10vw,120px) 0;text-align:center}.cta-banner-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.18}.cta-banner .container{position:relative;z-index:1}.cta-banner .label{color:var(--gold);margin-bottom:20px;display:block}.cta-banner h2{color:var(--white);margin-bottom:20px;max-width:18ch;margin-left:auto;margin-right:auto}.cta-banner p{color:#ffffff8c;max-width:40ch;margin:0 auto 40px;font-size:1rem}.cta-banner .btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(48px,8vw,100px);align-items:start}.contact-detail{display:flex;flex-direction:column;gap:24px;margin-bottom:48px}.contact-detail-item{display:flex;gap:16px}.contact-detail-item svg{stroke:var(--gold);flex-shrink:0;margin-top:2px}.contact-detail-item strong{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-light);display:block;margin-bottom:4px;font-weight:500}.contact-detail-item span{font-size:.925rem;color:var(--dark)}.wechat-block{border-top:1px solid var(--border);padding-top:32px;display:flex;align-items:center;gap:20px}.wechat-block img{width:88px;height:88px;object-fit:cover}.wechat-block .label{margin-bottom:6px;display:block}.wechat-block p{font-size:.82rem;max-width:20ch;margin:0}.enquiry-form{background:var(--white);padding:clamp(36px,5vw,56px);border:1px solid var(--border)}.form-title{font-family:var(--font-display);font-size:1.75rem;margin-bottom:8px}.form-subtitle{font-size:.875rem;color:var(--grey);margin-bottom:36px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group.full{grid-column:1 / -1}.form-group label{font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}.form-group input,.form-group select,.form-group textarea{background:var(--bg);border:1px solid var(--border);padding:12px 16px;font-family:var(--font-body);font-size:.9rem;color:var(--dark);transition:border-color var(--transition);appearance:none;border-radius:0;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);background:var(--white)}.form-group textarea{resize:vertical;min-height:120px}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.form-submit{width:100%;background:var(--gold);color:var(--white);padding:16px 32px;font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;transition:var(--transition);margin-top:8px;display:flex;align-items:center;justify-content:center;gap:10px}.form-submit:hover{background:var(--gold-dark)}.footer{background:var(--black);padding:clamp(60px,8vw,80px) 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:48px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.08)}.footer-brand img{height:28px;width:auto;opacity:.75;margin-bottom:24px}.footer-brand p{font-size:.82rem;color:#ffffff59;max-width:28ch;line-height:1.7}.footer-col h5{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#ffffff59;margin-bottom:20px;font-weight:500;font-family:var(--font-body)}.footer-col a,.footer-col p{display:block;font-size:.82rem;color:#ffffff8c;margin-bottom:10px;transition:color var(--transition);line-height:1.6}.footer-col a:hover{color:var(--gold-light)}.footer-wechat img.qr{width:80px;height:80px;object-fit:cover;opacity:.85;margin:0 auto 8px}.footer-wechat p{font-size:.72rem;color:#ffffff4d;text-align:center}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:.72rem;color:#fff3;gap:16px;flex-wrap:wrap}.reveal{transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}html.js-animate .reveal{opacity:0;transform:translateY(28px)}html.js-animate .reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--border)}.process-step{background:var(--bg);padding:40px 32px}.process-num{font-family:var(--font-display);font-size:3rem;color:var(--gold);opacity:.4;line-height:1;margin-bottom:20px}.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--border)}.value-card{background:var(--bg);padding:48px 36px}.value-bar{width:36px;height:1px;background:var(--gold);margin-bottom:28px}.project-hero{position:relative;height:70vh;min-height:480px;overflow:hidden}.project-hero img{width:100%;height:100%;object-fit:cover}.project-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0000001a,#00000080)}.project-hero-content{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:clamp(32px,5vw,60px) clamp(20px,5vw,60px);max-width:var(--max-w);margin:0 auto}.project-hero-content .label{color:var(--gold-light);margin-bottom:12px;display:block}.project-hero-content h1{color:var(--white);font-size:clamp(2rem,4vw,3rem)}.project-hero-content .meta{color:#fff9;font-size:.82rem;margin-top:8px}@media (max-width: 1024px){.stats-inner{grid-template-columns:repeat(2,1fr)}.stat-item{padding:48px 32px}.work-item.large{grid-column:span 12}.work-item.medium,.work-item.small{grid-column:span 6}.footer-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item.wide{grid-column:span 2}}@media (max-width: 768px){.nav-links,.nav-cta{display:none}.nav-toggle{display:flex}.nav.menu-open .nav-links{display:flex;flex-direction:column;position:fixed;inset:84px 0 0;background:var(--bg);align-items:center;justify-content:center;gap:36px;z-index:200;animation:menuFadeIn .25s ease-out}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.nav.menu-open .nav-links a{font-size:1.05rem;letter-spacing:.1em;font-family:var(--font-display);font-weight:300;color:var(--dark)}.nav.menu-open .nav-links a:hover{color:var(--gold)}.nav.menu-open .nav-cta{display:block;margin-top:8px;border-color:var(--gold);color:var(--gold)}.split{grid-template-columns:1fr}.split.reverse{direction:ltr}.split-image{aspect-ratio:16/10}.split-image-accent{display:none}.contact-grid,.form-row{grid-template-columns:1fr}.stats-inner{grid-template-columns:1fr 1fr}.stat-item{padding:36px 24px}.section-head{flex-direction:column;align-items:flex-start}.work-item.large,.work-item.medium,.work-item.small{grid-column:span 12}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{justify-content:center;text-align:center}.gallery-grid{grid-template-columns:1fr}.gallery-item.wide{grid-column:span 1;aspect-ratio:4/3}.service-card{padding:40px 28px}.process-step{padding:36px 24px}.hero-content p{display:none}.hero-content h1{font-size:clamp(2.4rem,8vw,4rem);margin-bottom:40px}.hero-content .label{margin-bottom:16px}}
