:root{--paper:#f4f1e9;--ink:#111;--red:#ef3038;--green:#33b86b;--blue:#2468ff;--line:rgba(17,17,17,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans HK","PingFang HK","Microsoft JhengHei",Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.site-header{height:92px;padding:12px 4vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%}.brand img{width:138px;mix-blend-mode:multiply}.site-header nav{display:flex;gap:2.2rem;font-size:14px;font-weight:700}.site-header nav a{border-bottom:1px solid transparent}.site-header nav a:hover{border-color:currentColor}.menu-toggle{display:none;background:none;border:1px solid var(--ink);padding:8px 12px;font:inherit}
.hero{min-height:100vh;padding:150px 7vw 80px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;overflow:hidden}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:800;margin:0 0 22px}.hero h1{font-size:clamp(54px,7vw,116px);line-height:.91;letter-spacing:-.075em;margin:0;max-width:950px}.hero h1 span{font-family:serif;font-weight:400;font-style:italic}.lead{font-size:clamp(17px,1.55vw,23px);line-height:1.7;max-width:620px;margin:42px 0}.hero-actions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;padding:15px 25px;border-radius:100px;font-weight:700}.button-dark{background:var(--ink);color:white}.text-link{font-weight:700;border-bottom:1px solid}
.hero-art{height:min(560px,62vw);position:relative;display:grid;place-items:center}.hero-art p{font-size:clamp(80px,13vw,190px);font-weight:900;line-height:.64;letter-spacing:-.12em;z-index:2;margin:0;mix-blend-mode:multiply}.orb{position:absolute;width:54%;aspect-ratio:1;border-radius:50%;filter:blur(2px);mix-blend-mode:multiply;animation:float 9s ease-in-out infinite}.orb-r{background:var(--red);left:4%;top:8%}.orb-g{background:var(--green);right:2%;top:25%;animation-delay:-3s}.orb-b{background:var(--blue);left:25%;bottom:2%;animation-delay:-6s}@keyframes float{50%{transform:translate(4%,-5%) scale(1.08)}}
.ticker{background:var(--ink);color:white;overflow:hidden;padding:15px 0;font-weight:800;letter-spacing:.1em;white-space:nowrap}.ticker div{width:max-content;animation:marquee 22s linear infinite}@keyframes marquee{to{transform:translateX(-35%)}}
.section{padding:120px 7vw}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px;border-top:1px solid var(--ink);padding-top:22px}.section-heading h2,.about h2{font-size:clamp(42px,6vw,82px);letter-spacing:-.06em;margin:0}.section-heading>p{max-width:520px;font-size:18px;line-height:1.7;margin:0}
.work{background:#101010;color:#fff}.work .section-heading{border-color:#fff}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.type-card{grid-column:span 4;min-height:430px;padding:28px;display:flex;flex-direction:column;position:relative;overflow:hidden;color:#111;transition:transform .35s ease}.type-card:hover{transform:translateY(-6px)}.type-card:nth-child(4){grid-column:span 7}.type-card:nth-child(5){grid-column:span 5}.type-card small{font-size:11px;letter-spacing:.14em;font-weight:800}.type-card strong{font-family:serif;font-size:clamp(150px,18vw,290px);font-weight:900;line-height:.9;align-self:center;mix-blend-mode:multiply}.type-card h3{font-size:26px;margin:auto 0 8px}.type-card p{margin:0;line-height:1.6;max-width:320px}.card-red{background:var(--red)}.card-green{background:var(--green)}.card-blue{background:var(--blue)}.card-dark{background:#eee}.card-light{background:#f1d84b}.work-more{display:flex;justify-content:space-between;margin-top:38px}.work-more a{border-bottom:1px solid;padding-bottom:5px}
.service-list{border-top:1px solid}.service-list article{display:grid;grid-template-columns:70px 1fr 1.4fr .8fr;gap:25px;align-items:center;border-bottom:1px solid var(--line);padding:35px 0}.service-list span{font-size:12px}.service-list h3{font-size:28px;margin:0}.service-list p{line-height:1.6;margin:0}.service-list em{text-align:right;font-family:serif;font-size:18px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#e7e1d6}.about-mark{display:flex;align-items:center;justify-content:center;min-height:520px}.about-mark span{width:34%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-size:clamp(45px,7vw,100px);font-weight:900;margin:-5%;mix-blend-mode:multiply}.about-mark span:nth-child(1){background:var(--red)}.about-mark span:nth-child(2){background:var(--green)}.about-mark span:nth-child(3){background:var(--blue)}.about-copy{align-self:center}.about-copy>p:not(.eyebrow,.signature){font-size:20px;line-height:1.85}.signature{margin-top:45px;font-weight:800}.signature small{font-weight:400;line-height:2}
.contact{background:var(--blue);color:white}.contact h2{font-size:clamp(68px,11vw,170px);line-height:.82;letter-spacing:-.08em;margin:0 0 80px}.contact h2 span{font-family:serif;font-weight:400;font-style:italic}.contact-row{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.6);padding-top:25px;font-size:20px}.contact-row>div{display:flex;gap:25px}
footer{background:#111;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:28px 4vw;font-size:12px}footer img{width:100px;filter:invert(1) grayscale(1);mix-blend-mode:screen}footer p{margin:0}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:76px}.brand img{width:112px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:70px;left:4vw;right:4vw;background:var(--ink);color:white;padding:22px;flex-direction:column}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:130px}.hero-art{height:340px}.section{padding:85px 6vw}.section-heading{display:block}.section-heading>p{margin-top:25px}.work-grid{display:block}.type-card{min-height:390px;margin-bottom:18px}.work-more,.contact-row{display:block}.work-more a{display:block;width:max-content;margin:18px 0}.service-list article{grid-template-columns:40px 1fr}.service-list p,.service-list em{grid-column:2;text-align:left}.about{grid-template-columns:1fr}.about-mark{min-height:330px}.contact-row>div{margin-top:28px}.contact h2{margin-bottom:55px}footer img{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.orb,.ticker div{animation:none}.reveal{opacity:1;transform:none}}

/* Interactive RGB polish */
.site-header{position:fixed;transition:height .35s ease,background .35s ease,box-shadow .35s ease}
.site-header.scrolled{height:72px;background:rgba(244,241,233,.84);box-shadow:0 1px 0 rgba(17,17,17,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.site-header nav a{position:relative;border:0}
.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .25s ease}
.site-header nav a:hover:after{right:0}
.hero-art{height:min(620px,64vw);isolation:isolate}
.hero-art:before{content:"";position:absolute;inset:7%;border:1px solid rgba(17,17,17,.13);border-radius:50%;transform:rotate(-12deg);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.hero-art:hover:before{transform:rotate(4deg) scale(1.04)}
.rgb-stage{position:absolute;inset:-8%;width:116%;height:116%;z-index:1;filter:saturate(1.12)}
.hero-monogram{z-index:3!important;pointer-events:none;text-shadow:0 1px 0 rgba(255,255,255,.15)}
.orb{transition:opacity .6s ease}
.three-ready .orb{opacity:0}
.type-card{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
.type-card:after{content:"";position:absolute;width:230px;aspect-ratio:1;border-radius:50%;right:-100px;top:-100px;background:rgba(255,255,255,.28);filter:blur(4px);transform:scale(0);transition:transform .5s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.type-card:hover{transform:translateY(-9px);box-shadow:0 25px 55px rgba(0,0,0,.24)}
.type-card:hover:after{transform:scale(1)}
.type-card strong{transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.type-card:hover strong{transform:scale(1.05) rotate(-2deg)}
@media(max-width:800px){.hero-art{height:360px}.rgb-stage{inset:-4%;width:108%;height:108%}}
@media(prefers-reduced-motion:reduce){.type-card,.type-card strong,.site-header{transition:none}}
