:root{--rail:90px;--paper:#f2f0eb;--paper2:#f8f7f3;--ink:#332829;--muted:#746c69;--olive:#8b7e79;--accent:#ef1f2c;--dark:#2f2627;--dark2:#3a3031;--hair:rgba(41,41,37,.14);--ease:cubic-bezier(.22,.61,.36,1);--menu:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body.hkgs5-page{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"PingFang TC","Microsoft JhengHei",sans-serif;font-weight:300;letter-spacing:.01em}body.hkgs5-page a{color:inherit;text-decoration:none}body.hkgs5-page button,body.hkgs5-page input,body.hkgs5-page select,body.hkgs5-page textarea{font:inherit}body.hkgs5-page img{display:block;width:100%;height:100%;object-fit:cover}.g-shell{padding-left:var(--rail);min-height:100vh}.g-rail{position:fixed;z-index:100;left:0;top:0;bottom:0;width:var(--rail);background:rgba(236,235,230,.97);border-right:1px solid var(--hair)}.g-mark{position:absolute;top:25px;left:18px;width:54px;height:54px;display:grid;place-items:center}.g-mark img{width:100%;height:100%;object-fit:contain}.g-menu-button,.g-close{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);border:0;background:none;font-size:10px;letter-spacing:.2em;color:#666a60;white-space:nowrap;cursor:pointer}.g-overlay{position:fixed;z-index:300;inset:0;background:var(--dark);color:#666;visibility:hidden;opacity:0;transition:opacity .48s ease,visibility .48s}.g-overlay.open{visibility:visible;opacity:1}.g-overlay-rail{position:absolute;left:0;top:0;bottom:0;width:90px;background:var(--dark2);border-right:1px solid rgba(255,255,255,.07)}.g-overlay .g-mark{filter:brightness(1.25)}.g-overlay .g-close{color:#858b79}.g-menu{position:absolute;left:29%;top:20.5%;width:390px}.g-menu-row{position:relative;margin-bottom:22px}.g-menu-row>a{display:inline-block;font-size:34px;line-height:1.45;font-weight:300;color:#5e5e5e;transition:color .25s ease,transform .55s var(--menu)}.g-menu-row:hover>a{color:#878c7b}.g-sub{position:absolute;left:190px;top:11px;display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateX(10px);pointer-events:none;transition:.3s ease}.g-menu-row:hover .g-sub{opacity:1;transform:none;pointer-events:auto}.g-sub a{font-size:12px;color:#85877f;white-space:nowrap}.g-menu-photo{position:absolute;left:52.35%;top:10.7%;width:min(23.45vw,450px);aspect-ratio:3/4;overflow:hidden}.g-menu-photo img{filter:brightness(.78) saturate(.75)}.g-social{position:absolute;left:29.1%;top:62.6%;font-size:11px;color:#656760;word-spacing:11px}.g-langs{position:absolute;right:1.8%;top:42%;display:flex;flex-direction:column;gap:17px;font-size:12px;color:#666}.g-group{position:absolute;left:47.4%;bottom:8.6%;text-align:center;color:#676961;font-size:11px}.g-group small{display:block;margin-bottom:14px}.g-group strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:16px}.g-portal{display:grid;grid-template-columns:1fr 1fr;height:100vh;background:#1f1f1f}.g-portal-card{position:relative;overflow:hidden}.g-portal-card+.g-portal-card{border-left:1px solid rgba(255,255,255,.2)}.g-portal-card img{filter:brightness(.52) saturate(.7);transform:scale(1.03);transition:1.3s var(--menu)}.g-portal-card:hover img{filter:brightness(.67) saturate(.85);transform:scale(1)}.g-portal-copy{position:absolute;left:7vw;bottom:9vh;color:#efeee7}.g-portal-copy span,.g-hero-copy span,.g-page-head>span,.g-detail-head>span,.g-kicker{font-size:9px;letter-spacing:.23em;text-transform:uppercase}.g-portal-copy h1{font-size:clamp(42px,4.6vw,82px);line-height:.91;font-weight:300;letter-spacing:-.05em;margin:14px 0 0}.g-hero{height:82vh;position:relative;overflow:hidden}.g-hero img{filter:brightness(.78);transform:scale(1.01)}.g-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.3))}.g-hero-copy{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);color:#f1f0e9;text-align:center;width:min(850px,82vw)}.g-hero-copy h1{font-size:clamp(34px,3.3vw,60px);font-weight:300;line-height:1.15;letter-spacing:-.028em;margin:20px 0 15px}.g-hero-copy p{font-size:10px;letter-spacing:.18em}.g-page-head,.g-detail-head{padding:140px 7.3vw 95px;min-height:50vh;display:flex;flex-direction:column;justify-content:flex-end}.g-page-head h1,.g-detail-head h1{font-size:clamp(46px,5.2vw,92px);font-weight:300;letter-spacing:-.055em;line-height:.95;margin:22px 0 25px}.g-page-head p{max-width:760px;font-size:14px;line-height:1.9;color:var(--muted)}.g-detail-head p{font-size:13px;color:var(--muted)}.g-section{padding:130px 7.3vw 145px}.g-paper{background:var(--paper2)}.g-dark{background:var(--dark);color:#deddd5}.g-head{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;margin-bottom:74px;align-items:start}.g-head h2{font-size:clamp(32px,3vw,52px);font-weight:300;line-height:1.08;letter-spacing:-.035em;margin:0}.g-head p{font-size:13px;line-height:1.95;color:var(--muted);max-width:650px;margin:20px 0 0}.g-dark .g-head p{color:#9b9d95}.g-kicker{color:#777b70;padding-top:7px}.g-editorial{display:grid;grid-template-columns:repeat(12,1fr);gap:82px 28px}.g-editorial .g-project:nth-child(1){grid-column:1/span 7}.g-editorial .g-project:nth-child(2){grid-column:9/span 4;margin-top:100px}.g-editorial .g-project:nth-child(3){grid-column:2/span 4}.g-editorial .g-project:nth-child(4){grid-column:7/span 6;margin-top:70px}.g-editorial .g-project:nth-child(5){grid-column:1/span 5}.g-editorial .g-project:nth-child(6){grid-column:7/span 4;margin-top:95px}.g-editorial .g-project:nth-child(7){grid-column:2/span 6}.g-editorial .g-project:nth-child(8){grid-column:9/span 4;margin-top:80px}.g-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:80px 28px}.g-project-media{aspect-ratio:1.12;overflow:hidden;background:#d8d7d1}.g-project:nth-child(3n+2) .g-project-media{aspect-ratio:.82}.g-project:nth-child(4n) .g-project-media{aspect-ratio:1.42}.g-project-media img{transition:transform .85s var(--menu)}.g-project:hover img{transform:scale(1.025)}.g-project-meta{display:flex;justify-content:space-between;gap:20px;margin-top:14px;font-size:11px}.g-project-meta strong{display:block;font-weight:400}.g-project-meta small{display:block;color:#878880;font-size:9px;line-height:1.5;margin-top:6px}.g-project-meta span{color:#777970;white-space:nowrap}.g-awards{border-top:1px solid rgba(255,255,255,.18)}.g-award{display:grid;grid-template-columns:2fr 1fr .65fr 1.1fr;gap:22px;padding:23px 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:12px;color:#9ea096}.g-award strong{font-weight:400;color:#dbdbd2}.g-faq{border-top:1px solid var(--hair)}.g-faq-item{border-bottom:1px solid var(--hair)}.g-faq-item>button{width:100%;padding:23px 0;border:0;background:none;display:flex;justify-content:space-between;text-align:left;color:inherit;cursor:pointer}.g-faq-item>div{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}.g-faq-item.open>div{max-height:250px}.g-faq-item p{font-size:13px;line-height:1.9;color:var(--muted);max-width:760px;margin:0 0 25px}.g-story{display:grid;grid-template-columns:5fr 7fr;gap:70px;align-items:start}.g-story-image{aspect-ratio:1.06;overflow:hidden}.g-long-copy{font-size:14px;line-height:2;color:var(--muted);margin:24px 0 0}.g-services,.g-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.g-services article,.g-principles article{border-top:1px solid var(--hair);padding-top:18px;min-height:180px}.g-services span,.g-principles span,.g-process span{font-size:9px;letter-spacing:.18em;color:#85887c}.g-services h3,.g-principles h3,.g-process h3{font-size:20px;font-weight:300;margin:20px 0 13px}.g-services p,.g-principles p,.g-process p{font-size:12px;line-height:1.8;color:var(--muted)}.g-projects-section{padding-top:70px}.g-filters{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:15px;margin-bottom:70px}.g-filters input,.g-filters select{width:100%;border:0;border-bottom:1px solid var(--hair);background:transparent;padding:16px 5px;color:var(--ink);outline:none}.g-detail-cover{height:80vh;overflow:hidden}.g-detail-copy{padding:100px 7.3vw;display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}.g-detail-copy>p,.g-detail-copy>p p{font-size:14px;line-height:2;color:var(--muted);margin:0}.g-gallery{padding:0 7.3vw 130px;display:grid;grid-template-columns:1fr 1fr;gap:28px}.g-gallery>div{min-height:42vw}.g-gallery .wide{grid-column:1/-1;min-height:55vw}.g-process{display:flex;gap:28px;overflow-x:auto;padding-bottom:20px;scroll-snap-type:x proximity}.g-process article{min-width:320px;border-top:1px solid var(--hair);padding:20px 0;scroll-snap-align:start}.g-ba{display:grid;grid-template-columns:1fr 1fr;gap:28px}.g-ba>div{position:relative;aspect-ratio:1.2}.g-ba label{position:absolute;left:14px;bottom:14px;background:rgba(240,239,232,.9);padding:7px 9px;font-size:9px;letter-spacing:.17em}.g-highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px 28px}.g-highlight-grid article>img{aspect-ratio:1.25;object-fit:cover}.g-highlight-grid article div{padding-top:15px}.g-highlight-grid span,.g-highlight-grid small{font-size:9px;letter-spacing:.14em;color:#85877f}.g-highlight-grid h3{font-size:18px;font-weight:300;line-height:1.4;margin:10px 0}.g-contact{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.g-contact dl{margin:0}.g-contact dt{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#7e8076;margin:22px 0 7px}.g-contact dd{margin:0;font-size:14px;line-height:1.8}.g-form{display:grid;grid-template-columns:1fr 1fr;gap:25px}.g-form label{font-size:10px;letter-spacing:.12em}.g-form input,.g-form select{display:block;width:100%;margin-top:10px;border:0;border-bottom:1px solid var(--hair);background:transparent;padding:12px 0;outline:0}.g-form .wide{grid-column:1/-1}.g-form button{border:1px solid var(--ink);background:transparent;padding:15px 22px;letter-spacing:.15em;font-size:10px}.g-footer{margin-left:0;padding:55px 7.3vw 60px;background:var(--dark);color:#777a72;display:flex;justify-content:space-between;align-items:end}.g-footer small{display:block;font-size:9px;letter-spacing:.17em;margin-bottom:9px}.g-footer strong{font-family:Georgia,serif;font-weight:400;color:#9a9c93}.g-footer>span{font-size:10px}
@media(max-width:1100px){:root{--rail:70px}.g-rail{width:70px}.g-shell{padding-left:70px}.g-mark{left:14px}.g-menu{left:17%;top:20%}.g-menu-photo{left:57%;width:30vw}.g-social{left:17%}.g-services,.g-principles{grid-template-columns:1fr 1fr}.g-project-grid{grid-template-columns:1fr 1fr}.g-editorial{display:grid;grid-template-columns:1fr 1fr}.g-editorial .g-project{grid-column:auto!important;margin-top:0!important}.g-contact{grid-template-columns:1fr 1fr}}
@media(max-width:700px){:root{--rail:0px}.g-shell{padding-left:0}.g-rail{width:100%;height:62px;bottom:auto;background:rgba(236,235,230,.93);border-right:0;border-bottom:1px solid var(--hair)}.g-mark{top:9px;left:15px;width:42px;height:42px}.g-mark:before{width:28px;height:28px}.g-mark:after{width:16px;height:16px}.g-menu-button{left:auto;right:14px;top:31px;transform:none}.g-overlay-rail{width:62px}.g-overlay .g-mark{left:10px}.g-overlay .g-close{left:31px}.g-menu{left:88px;right:20px;top:16%;width:auto}.g-menu-row{margin-bottom:13px}.g-menu-row>a{font-size:28px}.g-sub{position:static;display:none;opacity:1;transform:none;padding-top:8px;gap:8px}.g-menu-row.open .g-sub{display:flex}.g-menu-photo{display:none}.g-social{left:88px;top:auto;bottom:19%;right:20px;line-height:2}.g-langs{right:18px;top:20px;flex-direction:row}.g-group{left:88px;bottom:6%;text-align:left}.g-portal{grid-template-columns:1fr;height:100vh}.g-portal-card{min-height:50vh}.g-portal-card+.g-portal-card{border-left:0;border-top:1px solid rgba(255,255,255,.18)}.g-portal-copy{left:30px;bottom:35px}.g-portal-copy h1{font-size:42px}.g-hero{height:78vh}.g-hero-copy{width:86vw}.g-hero-copy h1{font-size:34px}.g-page-head,.g-detail-head{padding:120px 24px 60px;min-height:42vh}.g-page-head h1,.g-detail-head h1{font-size:52px}.g-section{padding:80px 24px 90px}.g-head{grid-template-columns:1fr;gap:18px;margin-bottom:45px}.g-head h2{font-size:35px}.g-editorial,.g-project-grid{grid-template-columns:1fr 1fr;gap:44px 12px}.g-project-meta{display:block}.g-project-meta span{display:block;margin-top:6px}.g-award{grid-template-columns:1.5fr .8fr .5fr}.g-award span:last-child{display:none}.g-story{grid-template-columns:1fr;gap:35px}.g-services,.g-principles{grid-template-columns:1fr 1fr;gap:18px}.g-services article,.g-principles article{min-height:150px}.g-filters{grid-template-columns:1fr;gap:10px;margin-bottom:40px}.g-detail-cover{height:62vh}.g-detail-copy{padding:70px 24px;grid-template-columns:1fr;gap:18px}.g-gallery{padding:0 24px 80px;gap:12px}.g-gallery>div,.g-gallery .wide{min-height:55vw}.g-ba{grid-template-columns:1fr;gap:12px}.g-highlight-grid{grid-template-columns:1fr 1fr;gap:45px 12px}.g-contact{grid-template-columns:1fr;gap:55px}.g-form{grid-template-columns:1fr}.g-form .wide{grid-column:auto}.g-footer{padding:45px 24px;display:block}.g-footer>span{display:block;margin-top:18px}}

.g-portal-brand{position:absolute;z-index:4;top:32px;left:50%;transform:translateX(-50%);width:min(250px,24vw);filter:brightness(0) invert(1);opacity:.86;pointer-events:none}.g-portal-brand img{width:100%;height:auto;object-fit:contain}.g-footer-brand{display:flex;align-items:flex-end;gap:22px}.g-footer-brand img{width:190px;height:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.72}.g-footer-brand small{max-width:120px;line-height:1.5;color:#8f8582}.g-form button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.g-menu-row:hover>a{color:#b6a39f}.g-project-meta strong{color:var(--ink)}
@media(max-width:700px){.g-portal-brand{top:75px;width:200px}.g-footer-brand{display:block}.g-footer-brand img{width:160px;margin-bottom:12px}.g-mark{top:7px;left:12px;width:46px;height:46px}}

/* V5.2 — reference-style loading + brand entrance */
.hkgs5-view-portal{overflow:hidden}.hkgs5-view-portal .g-rail{display:none}.hkgs5-view-portal .g-shell{padding-left:0}.hkgs5-view-portal .g-footer{display:none}
.g-intro-loader{position:fixed;z-index:2000;inset:0;background:var(--loader-bg,#949b88);display:grid;place-items:center;opacity:1;visibility:visible;animation:gLoaderFallback .6s ease 2.9s forwards}.g-intro-loader.is-leaving{animation:none;opacity:0;visibility:hidden;transition:opacity .62s cubic-bezier(.22,.61,.36,1),visibility .62s}.g-intro-center{width:min(320px,68vw);text-align:center;color:#332829;transform:translateY(8px)}.g-intro-mark{width:112px;margin:0 auto 22px;overflow:hidden;clip-path:inset(0 100% 0 0);animation:gLogoReveal 1s cubic-bezier(.16,1,.3,1) .12s forwards}.g-intro-mark img{width:100%;height:auto;object-fit:contain;transform:scale(.96);animation:gLogoBreath 1.45s cubic-bezier(.16,1,.3,1) .12s forwards}.g-intro-brand{font-size:10px;letter-spacing:.28em;line-height:1.5;opacity:0;transform:translateY(8px);animation:gTextIn .7s ease .72s forwards}.g-intro-rule{height:1px;width:76px;background:rgba(51,40,41,.18);margin:18px auto 0;overflow:hidden}.g-intro-rule i{display:block;height:100%;width:100%;background:#ef1f2c;transform:translateX(-100%);animation:gRuleMove 1.1s ease .72s forwards}@keyframes gLogoReveal{to{clip-path:inset(0)}}@keyframes gLogoBreath{0%{transform:scale(.94)}55%{transform:scale(1.015)}100%{transform:scale(1)}}@keyframes gTextIn{to{opacity:.78;transform:none}}@keyframes gRuleMove{0%{transform:translateX(-100%)}55%{transform:translateX(0)}100%{transform:translateX(100%)}}@keyframes gLoaderFallback{to{opacity:0;visibility:hidden}}
.g-brand-portal{height:100vh;min-height:720px;display:grid;grid-template-columns:1fr 1fr;background:var(--portal-studio-bg,#e5e6e0);overflow:hidden}.g-brand-half{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8.8vh clamp(38px,5vw,110px) 7vh;overflow:hidden}.g-brand-work{background:var(--portal-work-bg,#242424);color:#918f80}.g-brand-studio{background:var(--portal-studio-bg,#e5e6e0);color:#8c8b7d}.g-brand-name{font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,2vw,35px);letter-spacing:.025em;font-weight:400;margin:0 0 18px;opacity:0;transform:translateY(18px);transition:opacity .8s ease .18s,transform .9s cubic-bezier(.16,1,.3,1) .18s}.g-brand-visual{position:relative;width:min(78%,620px);height:min(65vh,600px);overflow:hidden;clip-path:inset(0 0 100% 0);transition:clip-path 1.15s cubic-bezier(.16,1,.3,1) .28s}.g-brand-visual img{width:100%;height:100%;object-fit:cover;transform:scale(1.055);transition:transform 1.45s cubic-bezier(.16,1,.3,1),filter .7s ease}.g-brand-work .g-brand-visual img{filter:brightness(.83) saturate(.82)}.g-brand-studio .g-brand-visual img{filter:brightness(.95) saturate(.78)}.g-brand-caption{width:min(78%,620px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-top:15px;opacity:0;transform:translateY(9px);transition:opacity .65s ease .82s,transform .8s cubic-bezier(.16,1,.3,1) .82s}.g-brand-caption i{height:1px;background:currentColor;opacity:.7}.g-brand-caption span{font-size:12px;letter-spacing:.06em}.g-brand-languages{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:14px;align-items:center;color:#f1f0eb;font-size:13px;letter-spacing:.12em;opacity:0;transition:opacity .7s ease 1.02s}.g-brand-languages b{font-weight:300;opacity:.62}.g-portal-ready .g-brand-name,.g-portal-ready .g-brand-caption{opacity:1;transform:none}.g-portal-ready .g-brand-visual{clip-path:inset(0)}.g-portal-ready .g-brand-languages{opacity:1}.g-brand-half:hover .g-brand-visual img{transform:scale(1.01)}.g-brand-half:hover .g-brand-caption span{letter-spacing:.12em;transition:letter-spacing .45s ease}.g-brand-half:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .55s ease}.g-brand-work:after{background:rgba(255,255,255,.025)}.g-brand-studio:after{background:rgba(51,40,41,.018)}.g-brand-half:hover:after{opacity:1}
@media(max-width:900px){.g-brand-portal{min-height:100vh}.g-brand-half{padding-left:30px;padding-right:30px}.g-brand-visual,.g-brand-caption{width:88%}.g-brand-name{font-size:25px}}
@media(max-width:700px){.hkgs5-view-portal{overflow:auto}.g-brand-portal{height:auto;min-height:100vh;grid-template-columns:1fr}.g-brand-half{min-height:50vh;padding:70px 22px 36px;justify-content:flex-start}.g-brand-name{font-size:23px;margin-bottom:14px}.g-brand-visual{width:86%;height:32vh;min-height:235px}.g-brand-caption{width:86%;margin-top:11px}.g-brand-caption span{font-size:10px}.g-brand-languages{font-size:11px;gap:9px}.g-intro-mark{width:92px}.g-intro-brand{font-size:9px}}

/* v5.3 readability + Grande-style click submenu */
.g-menu{width:650px}
.g-menu-row>a{color:#7d7773}
.g-menu-row>a.is-current,.g-menu-row.open>a,.g-menu-row:hover>a{color:#aaa58e}
.g-sub{left:235px;top:5px;width:240px;gap:14px;opacity:0;transform:translateX(18px);pointer-events:none;visibility:hidden;transition:opacity .34s ease,transform .45s var(--menu),visibility .34s}
.g-menu-row:hover .g-sub{opacity:0;transform:translateX(18px);pointer-events:none;visibility:hidden}
.g-menu-row.open .g-sub{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.g-sub a{font-size:19px;line-height:1.7;font-weight:300;color:#858078;letter-spacing:.02em;transition:color .25s ease,transform .25s ease}
.g-sub a:hover{color:#b1aa91;transform:translateX(3px)}
.g-social{color:#807b75}.g-langs{color:#817d76}.g-group{color:#7c7870}
.g-brand-work{color:#b9ae90}.g-brand-work .g-brand-name{color:#c2b695}.g-brand-work .g-brand-caption{color:#aaa083}.g-brand-work .g-brand-caption i{opacity:.58}.g-brand-work .g-brand-caption span{font-weight:400}
.g-brand-studio{color:#574d45}.g-brand-studio .g-brand-name{color:#493d39}.g-brand-studio .g-brand-caption{color:#5f554d}.g-brand-studio .g-brand-caption i{opacity:.62}.g-brand-studio .g-brand-caption span{font-weight:400}
@media(max-width:1100px) and (min-width:701px){.g-menu{width:560px}.g-sub{left:215px;width:210px}.g-sub a{font-size:17px}}
@media(max-width:700px){.g-menu{width:auto}.g-sub{position:static;width:auto;display:none;opacity:1;visibility:visible;transform:none;padding-top:8px;gap:8px}.g-menu-row.open .g-sub{display:flex}.g-sub a{font-size:14px;line-height:1.6}}

/* V5.3.1 — compact footer brand; never allow the full logo to stretch */
body.hkgs5-page .g-footer{min-height:0}
body.hkgs5-page .g-footer-brand{display:flex;align-items:center;gap:14px;min-width:0}
body.hkgs5-page .g-footer-brand>img{display:block!important;width:46px!important;min-width:46px!important;max-width:46px!important;height:46px!important;min-height:46px!important;max-height:46px!important;object-fit:contain!important;filter:none!important;opacity:.9!important}
body.hkgs5-page .g-footer-brand-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
body.hkgs5-page .g-footer-brand-copy strong{font-family:Arial,"PingFang TC","Microsoft JhengHei",sans-serif;font-size:11px;font-weight:400;letter-spacing:.12em;color:#b7afa7;white-space:nowrap}
body.hkgs5-page .g-footer-brand-copy small{margin:0;max-width:none;font-size:9px;line-height:1.4;letter-spacing:.1em;color:#858077}
@media(max-width:700px){body.hkgs5-page .g-footer-brand>img{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important}body.hkgs5-page .g-footer-brand-copy strong{white-space:normal}}


/* v5.3.2 submenu divider + social spacing fix */
.g-menu-row.open .g-sub:before{
  content:"";
  position:absolute;
  left:-31px;
  top:-82px;
  width:1px;
  height:450px;
  background:#878b79;
  opacity:.62;
  pointer-events:none;
}
.g-social{
  position:static!important;
  display:flex;
  align-items:center;
  gap:clamp(16px,1.55vw,30px);
  flex-wrap:nowrap;
  width:max-content;
  max-width:430px;
  margin-top:12px;
  padding-top:0;
  font-size:10px;
  line-height:1.2;
  color:#858078;
  word-spacing:0!important;
  white-space:nowrap;
}
.g-social span{display:block;white-space:nowrap}
@media(max-height:760px) and (min-width:701px){
  .g-menu{top:13.5%}
  .g-menu-row{margin-bottom:14px}
  .g-menu-row>a{font-size:30px;line-height:1.35}
  .g-social{margin-top:10px;font-size:9px;gap:18px}
  .g-menu-photo{top:7.5%;width:min(24vw,390px)}
  .g-group{bottom:5.5%}
  .g-menu-row.open .g-sub:before{top:-65px;height:365px}
}
@media(max-width:1100px) and (min-width:701px){
  .g-social{gap:14px;font-size:9px;max-width:350px}
  .g-menu-row.open .g-sub:before{left:-25px}
}
@media(max-width:700px){
  .g-social{position:absolute!important;left:88px;right:20px;bottom:18%;display:flex;flex-wrap:wrap;gap:10px 18px;width:auto;max-width:none;margin:0;font-size:9px;line-height:1.4}
  .g-menu-row.open .g-sub:before{display:none}
}

/* =========================================================
 * V5.3.3 — GLOBAL TYPOGRAPHY / CONTENT FLOW AUDIT
 * Root fix: images no longer inherit height:100% globally.
 * Text blocks receive explicit line-height, spacing and safe wrapping.
 * ========================================================= */
body.hkgs5-page{
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.hkgs5-page img{
  width:100%;
  height:auto;
  object-fit:cover;
}
/* Components that genuinely need their image to fill a fixed-ratio wrapper. */
body.hkgs5-page .g-mark img,
body.hkgs5-page .g-menu-photo>img,
body.hkgs5-page .g-portal-card>img,
body.hkgs5-page .g-hero>img,
body.hkgs5-page .g-project-media>img,
body.hkgs5-page .g-story-image>img,
body.hkgs5-page .g-detail-cover>img,
body.hkgs5-page .g-gallery>div>img,
body.hkgs5-page .g-ba>div>img,
body.hkgs5-page .g-brand-visual>img{
  width:100%;
  height:100%;
  object-fit:cover;
}
body.hkgs5-page .g-intro-mark img,
body.hkgs5-page .g-footer-brand>img{
  height:auto;
  object-fit:contain;
}

/* Text rhythm — prevent headings / descriptions from touching adjacent content. */
.g-page-head>span,.g-detail-head>span,.g-kicker,
.g-portal-copy span,.g-hero-copy span{
  line-height:1.6;
}
.g-page-head h1,.g-detail-head h1{
  line-height:1.08;
  margin-top:24px;
  margin-bottom:30px;
  overflow-wrap:anywhere;
}
.g-page-head p,.g-head p,.g-long-copy,.g-detail-copy p,
.g-services p,.g-principles p,.g-process p,.g-faq-item p,
.g-contact dd{
  line-height:1.9;
}
.g-hero-copy h1{
  line-height:1.22;
  margin-top:22px;
  margin-bottom:18px;
}
.g-hero-copy p{
  line-height:1.7;
  margin:0;
}
.g-head h2{
  line-height:1.18;
  overflow-wrap:anywhere;
}
.g-head p{margin-top:24px;margin-bottom:0}

/* Projects — reserve clean text area under every image. */
.g-project{min-width:0}
.g-project>a{display:block;min-width:0}
.g-project-meta{
  align-items:flex-start;
  margin-top:18px;
  gap:24px;
  min-height:70px;
  line-height:1.55;
}
.g-project-meta>div{min-width:0;flex:1 1 auto}
.g-project-meta strong{
  font-size:13px;
  line-height:1.55;
  letter-spacing:.01em;
  overflow-wrap:anywhere;
}
.g-project-meta small{
  font-size:10px;
  line-height:1.7;
  margin-top:8px;
  min-height:1.7em;
  overflow-wrap:anywhere;
}
.g-project-meta span{
  flex:0 0 auto;
  font-size:10px;
  line-height:1.55;
  padding-top:1px;
}
.g-project-grid{row-gap:92px}
.g-editorial{row-gap:94px}

/* Highlights — this was the most visible collision point. */
.g-highlight-grid{
  row-gap:86px;
  column-gap:32px;
  align-items:start;
}
.g-highlight-grid article{
  min-width:0;
  display:block;
}
.g-highlight-grid article>img{
  display:block;
  width:100%;
  height:clamp(260px,24vw,450px);
  aspect-ratio:auto;
  object-fit:cover;
}
.g-highlight-grid article>div{
  position:relative;
  padding-top:18px;
  padding-bottom:4px;
  min-height:108px;
}
.g-highlight-grid span,.g-highlight-grid small{
  display:block;
  line-height:1.55;
}
.g-highlight-grid h3{
  margin:11px 0 11px;
  font-size:18px;
  line-height:1.55;
  min-height:3.1em;
  overflow-wrap:anywhere;
}

/* Service / philosophy / process blocks. */
.g-services,.g-principles{row-gap:48px}
.g-services article,.g-principles article{
  min-width:0;
  min-height:210px;
  padding-bottom:18px;
}
.g-services h3,.g-principles h3,.g-process h3{
  line-height:1.42;
  margin-top:22px;
  margin-bottom:15px;
  overflow-wrap:anywhere;
}
.g-services p,.g-principles p,.g-process p{margin-top:0;margin-bottom:0}
.g-process article{min-height:190px;padding-bottom:25px}

/* Awards / FAQ / contact — explicit line-height prevents compressed rows. */
.g-award{line-height:1.65;align-items:start}
.g-award>*{min-width:0;overflow-wrap:anywhere}
.g-faq-item>button{
  line-height:1.65;
  gap:24px;
  align-items:flex-start;
}
.g-faq-item>button>span{flex:0 0 auto;line-height:1.4}
.g-contact dt{line-height:1.55}
.g-contact dd{padding-bottom:4px}
.g-form label{line-height:1.55}
.g-form input,.g-form select{line-height:1.55}

/* Menu text gets its own rhythm and cannot inherit content compression. */
.g-menu-row>a{line-height:1.38}
.g-sub a{line-height:1.7}
.g-social{line-height:1.45}
.g-group small,.g-group strong{line-height:1.55}

/* Footer copy spacing. */
body.hkgs5-page .g-footer-brand-copy{gap:7px}
body.hkgs5-page .g-footer-brand-copy strong{line-height:1.45}
body.hkgs5-page .g-footer-brand-copy small{line-height:1.6}
.g-footer>span{line-height:1.55}

/* Tablet */
@media(max-width:1100px) and (min-width:701px){
  .g-project-grid{row-gap:76px}
  .g-editorial{row-gap:76px}
  .g-highlight-grid{row-gap:68px}
  .g-highlight-grid article>img{height:clamp(250px,35vw,390px)}
  .g-project-meta{min-height:76px}
}

/* Mobile */
@media(max-width:700px){
  .g-page-head h1,.g-detail-head h1{line-height:1.08;margin-bottom:24px}
  .g-head h2{line-height:1.18}
  .g-project-grid,.g-editorial{row-gap:58px}
  .g-project-meta{min-height:0;margin-top:13px;line-height:1.5}
  .g-project-meta strong{font-size:12px;line-height:1.5}
  .g-project-meta small{font-size:9px;line-height:1.65;min-height:0;margin-top:6px}
  .g-project-meta span{font-size:9px;line-height:1.5;margin-top:7px}
  .g-highlight-grid{row-gap:58px;column-gap:14px}
  .g-highlight-grid article>img{height:42vw;min-height:150px;max-height:280px}
  .g-highlight-grid article>div{padding-top:13px;min-height:104px}
  .g-highlight-grid h3{font-size:15px;line-height:1.5;min-height:3em;margin:8px 0 8px}
  .g-services,.g-principles{row-gap:34px}
  .g-services article,.g-principles article{min-height:190px}
}
@media(max-width:480px){
  .g-highlight-grid{grid-template-columns:1fr;row-gap:54px}
  .g-highlight-grid article>img{height:68vw;max-height:none}
  .g-highlight-grid article>div{min-height:0}
  .g-highlight-grid h3{min-height:0}
}
