/* Hallmark · macrostructure: cinematic image index · theme: studied-DNA (source: https://www.mjd.co.jp/zh-CHS/)
 * own-brand adaptation · tone: architectural portfolio · pre-emit critique: P5 H5 E4 S5 R5 V5
 */
:root {
 --contact-inset:calc(var(--space-md) + env(safe-area-inset-bottom,0px));
 --color-contact-shadow:rgba(18,28,21,.16);
 --color-on-image:#FFFEF9;
 --color-dark-rule:#7B8D7B;
 --color-control-edge:#788575;
 --color-accent-tint:#DDE8DB;
 --color-accent-hover:#294C37;
 --color-footer:#203329;
 --color-paper:#FAF8F3; --color-subtle:#F0ECE2; --color-ink:#243028; --color-muted:#59665D;
 --color-muted-subtle:#546157; --color-dark:#203329; --color-light-muted:#C5D0C1; --color-rule:#CDD1C5;
 --color-accent:#3C674D; --color-focus:#2F6546; --color-error:#923C31;
 --color-scrim:rgba(18,28,21,.62); --color-overlay:rgba(18,28,21,.55);
 --color-caption-scrim:rgba(18,28,21,.74); --color-caption-end:rgba(18,28,21,.04); --color-image-hint:rgba(18,28,21,.82);
 --font-display:"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;
 --font-body:"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;
 --space-3xs:4px; --space-2xs:8px; --space-xs:12px; --space-sm:16px; --space-md:24px;
 --space-lg:32px; --space-xl:48px; --space-2xl:64px; --space-3xl:96px; --space-4xl:128px;
 --text-micro:11px; --text-body:16px; --text-title:clamp(28px,3.1vw,44px);
 --ease-out:cubic-bezier(.2,.7,.2,1); --ease-in:cubic-bezier(.5,0,.8,.4); --ease-in-out:cubic-bezier(.4,0,.2,1);
 --dur-fast:180ms; --dur-screen:700ms; --dur-image:450ms;
 --rule-width:1px; --radius-control:0; --header-height:88px; --gutter:clamp(24px,5.8vw,100px);
 --visual-control-height:56px;
}
/* Typography roles · Figma 2026-10-09 refinement. */
:root{
 --font-legacy:"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;
 --font-editorial:"Noto Serif SC","Songti SC","STSong","SimSun",serif;
 --font-body:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
 --type-display:44px;--type-section:28px;--type-card:19px;--type-lead:17px;--type-reading:16px;--type-meta:12px;--type-label:11px;--type-action:13px;
 --type-display-leading:1.35;--type-section-leading:1.5;--type-reading-leading:1.85;
 --measure-intro:32em;--measure-reading:42em;--editorial-gap:96px;--section-opening:64px;--section-closing:72px;
}
@media(max-width:900px){:root{--type-display:32px;--type-section:26px;--type-card:20px;--type-lead:16px;--type-action:14px;--section-opening:40px;--section-closing:48px;--editorial-gap:32px}}

/* Hallmark · macrostructure: cinematic image index · theme: studied-DNA (source: https://www.mjd.co.jp/zh-CHS/)
 * nav: edge masthead / compact on scroll · footer: integrated dark directory · own photography and brand
 */

*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}
body{font-family:var(--font-body);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-body);line-height:1.75;-webkit-font-smoothing:antialiased}
html.snap-home{scroll-snap-type:y proximity;scroll-padding-top:0}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.4;letter-spacing:-.025em;overflow-wrap:anywhere;min-width:0}
h1{font-size:clamp(34px,4vw,56px)}h2{font-size:var(--text-title)}h3{font-size:24px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;border-radius:var(--radius-control)}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:disabled{opacity:.45;cursor:wait}button:active,a:active{opacity:.65}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}a[aria-disabled=true]{opacity:.4;pointer-events:none}img{display:block;width:100%;height:100%;object-fit:cover}img,picture{max-width:100%}[hidden]{display:none!important}
.wrap{width:min(100% - 2 * var(--gutter),1440px);margin-inline:auto}.micro{font-size:var(--text-micro);line-height:1.6;letter-spacing:.07em}.muted{color:var(--color-muted)}.skip{position:fixed;left:var(--space-md);top:var(--space-md);z-index:1000;background:var(--color-paper);padding:var(--space-sm);transform:translateY(-180%)}.skip:focus{transform:none}
.site-header{position:fixed;inset:0 0 auto;z-index:30;background:var(--color-paper);height:var(--header-height)}
.masthead{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}
.brand{display:block;white-space:nowrap;line-height:1.25}.brand strong{display:block;font-weight:500;font-size:28px;letter-spacing:.065em}.brand small{display:block;font-size:9px;letter-spacing:.2em;margin-top:var(--space-2xs)}
.primary-nav{display:flex;align-items:center;gap:var(--space-lg);margin-left:auto;font-size:14px}.primary-nav a{display:flex;align-items:center;min-height:44px;white-space:nowrap}.primary-nav a[aria-current]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.primary-nav a:hover{opacity:.6}
.header-actions{display:flex;align-items:center;gap:var(--space-md)}.plain-button{border:0;background:transparent;min-height:44px;padding:var(--space-2xs) 0;white-space:nowrap;font-size:14px}.plain-button:hover{opacity:.65}.menu-toggle{width:44px;height:44px;padding:var(--space-xs);border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:5px}.menu-toggle span{display:block;height:1px;background:var(--color-ink);width:20px}
.site-header.home-header:not(.compact){height:152px}.home-header:not(.compact) .masthead{align-items:flex-end;padding-bottom:var(--space-lg)}.home-header:not(.compact) .brand strong{font-size:38px}.home-header:not(.compact) .primary-nav,.home-header:not(.compact) .header-actions{align-self:flex-start;padding-top:var(--space-sm)}
.subpage{padding-top:var(--header-height)}.home-screen{min-height:100svh;scroll-snap-align:start;position:relative;padding-block:calc(var(--header-height) + var(--space-xl)) var(--space-xl)}.visual-screen{height:100svh;min-height:620px;padding:152px 0 0}.visual-stage{position:relative;height:calc(100% - 40px);overflow:hidden;background:var(--color-paper)}
.visual-panel{position:absolute;top:0;bottom:0;overflow:hidden;transform-origin:top left;color:var(--color-paper);background:var(--color-dark)}.panel-canvas{position:relative;width:var(--stage-width,100vw);height:var(--stage-height,100%);transform-origin:top left}.panel-photo{position:absolute;inset:0}.panel-photo img{object-position:50% 50%}.panel-shade{position:absolute;inset:0;background:var(--color-scrim);opacity:.65;transition:opacity var(--dur-image) var(--ease-out)}.visual-panel.active .panel-shade{opacity:.9}
.panel-toggle{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;z-index:2}.panel-toggle:focus-visible{outline:3px solid var(--color-paper);outline-offset:-5px}.panel-toggle:active{opacity:1}
.panel-caption{position:absolute;left:var(--gutter);top:50%;transform:translateY(-40%);z-index:3;max-width:min(620px,calc(var(--panel-size) - var(--gutter) * 2));opacity:0;visibility:hidden;transition:opacity var(--dur-image) var(--ease-out)}.active .panel-caption{opacity:1;visibility:visible}.panel-caption .micro{margin-bottom:var(--space-sm)}.panel-caption h1,.panel-caption h2{font-size:clamp(27px,3vw,44px);line-height:1.45}.panel-caption p{font-size:14px;margin-top:var(--space-sm)}.panel-caption .text-action{margin-top:var(--space-lg);font-size:14px}.panel-caption a:focus-visible{outline-color:var(--color-paper)}
.panel-category{position:absolute;left:var(--space-sm);top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font-size:14px;font-weight:500;letter-spacing:.06em;line-height:1;white-space:nowrap;pointer-events:none;z-index:3}.active .panel-category{font-size:clamp(32px,4.1vw,60px);font-weight:500;left:var(--space-xs)}
.panel-origin{position:absolute;left:var(--gutter);bottom:var(--space-lg);font-size:10px;z-index:3;opacity:0;white-space:nowrap}.active .panel-origin{opacity:1}.visual-panel .panel-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--color-accent);transform-origin:left;transform:scaleX(0);z-index:4}
.visual-controls{height:40px;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);font-size:10px}.visual-controls .control-group{display:flex;align-items:center;gap:var(--space-md)}.visual-controls button{background:transparent;border:0;min-width:32px;min-height:32px;padding:0;font-size:12px}.visual-controls button:hover{opacity:.55}.visual-controls .scene-number{font-size:10px;letter-spacing:.09em}.visual-controls a{white-space:nowrap}
.text-action{display:inline-flex;align-items:center;gap:var(--space-sm);border:0;background:transparent;min-height:44px;padding:var(--space-2xs) 0;font-size:14px;white-space:nowrap}.text-action .end-arrow{display:inline-flex;align-items:center;justify-content:center;height:32px;width:24px;background:var(--color-accent);color:var(--color-paper);font-size:18px}.text-action:hover{opacity:.65}
.chapter-nav{position:fixed;right:var(--space-sm);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:var(--space-sm);z-index:20}.chapter-nav a{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-xs);min-height:24px;min-width:24px}.chapter-nav b{width:5px;height:5px;background:var(--color-muted);border-radius:0;font-weight:400}.chapter-nav a[aria-current] b{height:18px;background:var(--color-accent)}.chapter-nav span{background:var(--color-paper);padding-inline:var(--space-2xs);font-size:11px;opacity:0;white-space:nowrap;pointer-events:none}.chapter-nav a:hover span,.chapter-nav a:focus-visible span{opacity:1}
.screen-knowledge{display:flex;align-items:center}.knowledge-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:var(--space-2xl)}.brand-position{padding-right:var(--space-xl);border-right:var(--rule-width) solid var(--color-rule)}.brand-position .micro{margin-bottom:var(--space-lg)}.brand-position h2{font-size:clamp(30px,3.2vw,46px)}.brand-position p{max-width:32ch;font-size:15px;margin-top:var(--space-lg)}.brand-position .text-action{margin-top:var(--space-xl)}.knowledge-content h2{margin-bottom:var(--space-lg);font-size:34px}.knowledge-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}.knowledge-thumb{aspect-ratio:1.5;background:var(--color-subtle);overflow:hidden}.knowledge-pair .micro{margin-block:var(--space-sm) var(--space-2xs)}.knowledge-pair h3{font-size:21px;line-height:1.55}.knowledge-pair p{font-size:13px;margin-top:var(--space-sm);color:var(--color-muted)}.knowledge-bottom{margin-top:var(--space-lg);display:flex;justify-content:flex-end}
.screen-works{overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-block:calc(var(--header-height) + var(--space-md)) var(--space-lg)}.works-shell{display:grid;grid-template-columns:100px minmax(0,1fr);gap:var(--space-lg);margin-left:var(--gutter)}.works-heading{writing-mode:vertical-rl;align-self:start;font-size:60px;font-weight:300;line-height:1;letter-spacing:.08em}.work-track{display:flex;gap:var(--space-md);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding-right:var(--gutter)}.work-track::-webkit-scrollbar{display:none}.work-item{flex:0 0 min(67vw,1120px);min-width:0;scroll-snap-align:start}.work-picture{height:min(61svh,700px);overflow:hidden;background:var(--color-subtle)}.work-picture img{transition:transform var(--dur-image) var(--ease-out)}.work-picture-link:hover img{transform:scale(1.02)}.work-caption{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:var(--space-lg);padding-top:var(--space-sm)}.work-caption h3{font-size:22px}.work-caption p{font-size:11px;color:var(--color-muted);margin-top:var(--space-2xs)}.work-caption dl{margin:0;font-size:11px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--space-3xs) var(--space-sm)}.work-caption dt{font-weight:500}.work-caption dd{margin:0;color:var(--color-muted)}.works-controls{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-md);margin-left:calc(var(--gutter) + 132px);margin-right:var(--gutter);font-size:11px}.gallery-buttons{display:flex;gap:var(--space-sm);align-items:center}.gallery-buttons button{width:44px;height:44px;border:0;background:transparent;font-size:28px;font-weight:300}.gallery-buttons button:hover{opacity:.6}
.screen-services{background:var(--color-dark);color:var(--color-paper);display:flex;align-items:center}.services-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2xl)}.service-visual h2{margin-bottom:var(--space-lg)}.service-visual .service-image{height:min(42svh,460px);overflow:hidden}.service-visual figcaption{font-size:11px;margin-top:var(--space-sm);color:var(--color-light-muted)}.service-content .micro{margin-bottom:var(--space-md);color:var(--color-light-muted)}.service-selector{display:block;width:100%;border:0;border-top:var(--rule-width) solid var(--color-muted);background:transparent;text-align:left;padding:var(--space-sm) 0;min-height:62px;color:var(--color-light-muted)}.service-selector:last-child{border-bottom:var(--rule-width) solid var(--color-muted)}.service-selector[aria-pressed=true]{color:var(--color-paper)}.service-selector:hover{color:var(--color-paper)}.service-selector:focus-visible{outline-color:var(--color-paper)}.service-selector .row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);font-size:23px}.service-selector .number{font-size:11px;margin-right:var(--space-sm)}.service-selector .description{display:none;font-size:14px;line-height:1.7;margin-top:var(--space-xs);padding-left:var(--space-lg);max-width:48ch}.service-selector[aria-pressed=true] .description{display:block}
.screen-about{padding:var(--header-height) 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:100svh}.about-window{position:relative;display:flex;align-items:center;min-height:calc(100svh - var(--header-height));overflow:hidden}.about-window.image-window{color:var(--color-paper)}.image-window>img{position:absolute;inset:0}.image-window::after{content:"";position:absolute;inset:0;background:var(--color-scrim)}.window-copy{position:relative;z-index:1;padding:var(--space-xl) var(--gutter);max-width:660px}.window-copy .micro{margin-bottom:var(--space-lg)}.window-copy h2{font-size:clamp(28px,3vw,44px)}.window-copy p{font-size:15px;margin-top:var(--space-lg)}.window-copy .text-action{margin-top:var(--space-lg)}.image-window a:focus-visible{outline-color:var(--color-paper)}
.footer{padding-block:var(--space-xl) var(--space-lg);scroll-snap-align:end}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg)}.footer .brand strong{font-size:24px}.footer-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-lg);font-size:13px}.footer-nav a{white-space:nowrap;min-height:44px;display:flex;align-items:center}.footer-bottom{display:flex;justify-content:space-between;gap:var(--space-md);border-top:var(--rule-width) solid var(--color-rule);padding-top:var(--space-md);margin-top:var(--space-lg);font-size:10px;color:var(--color-muted)}
.menu-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--color-dark);color:var(--color-paper)}.menu-dialog::backdrop{background:var(--color-dark)}.menu-dialog a:focus-visible,.menu-dialog button:focus-visible{outline-color:var(--color-paper)}.menu-top{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-lg)}.menu-top button{border:0;background:transparent;color:inherit;min-height:44px;font-size:14px}.menu-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3xl);padding-top:var(--space-xl)}.overlay-nav a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-lg);border-top:var(--rule-width) solid var(--color-muted);font-size:36px}.overlay-nav a:last-child{border-bottom:var(--rule-width) solid var(--color-muted)}.overlay-nav small{font-size:12px;color:var(--color-light-muted)}.menu-photo{height:52svh}.menu-note{margin-top:var(--space-md);font-size:12px;color:var(--color-light-muted)}.menu-consult{margin-top:var(--space-lg);display:flex;justify-content:space-between;align-items:center}.menu-consult button{color:var(--color-paper);font-size:23px}.menu-consult p{font-size:12px;color:var(--color-light-muted)}
.page-heading{padding-block:var(--space-2xl) var(--space-xl)}.page-heading .micro{margin-bottom:var(--space-sm)}.page-heading p{color:var(--color-muted);max-width:50ch;margin-top:var(--space-md);font-size:15px}.journal-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:var(--space-2xl);padding-bottom:var(--space-2xl)}.journal-feature .image{aspect-ratio:1.55}.journal-feature .micro{margin-top:var(--space-md);margin-bottom:var(--space-xs)}.journal-feature h2{font-size:32px}.journal-feature p{font-size:15px;margin-top:var(--space-sm);color:var(--color-muted)}.journal-intro{padding-top:var(--space-md)}.journal-intro h2{font-size:32px;margin-bottom:var(--space-lg)}.journal-intro p{font-size:15px;max-width:30ch;color:var(--color-muted)}.categories{display:flex;flex-wrap:wrap;gap:var(--space-md);border-block:var(--rule-width) solid var(--color-rule);padding-block:var(--space-xs)}.categories button{background:transparent;border:0;padding:var(--space-2xs) 0;min-height:44px;font-size:13px;white-space:nowrap}.categories button[aria-pressed=true]{text-decoration:underline;text-underline-offset:6px}.categories button:hover{color:var(--color-accent)}.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl) var(--space-2xl);padding-block:var(--space-xl) var(--space-2xl)}.journal-entry .image{aspect-ratio:1.65;margin-bottom:var(--space-md)}.journal-entry h3{font-size:25px;margin-block:var(--space-xs)}.journal-entry p{font-size:14px;color:var(--color-muted)}.journal-entry.text-entry{padding-top:var(--space-md);border-top:var(--rule-width) solid var(--color-rule)}.journal-entry.text-entry:last-child{grid-column:1 / -1;max-width:70ch}.journal-entry .micro{font-size:11px}.article-link:hover h2,.article-link:hover h3{opacity:.65}
.feature-banner{position:relative;height:calc(86svh - var(--header-height));min-height:480px;overflow:hidden;color:var(--color-paper)}.feature-banner>img{position:absolute;inset:0}.feature-banner::after{content:"";position:absolute;inset:0;background:var(--color-scrim)}.feature-banner .banner-copy{position:absolute;left:var(--gutter);right:var(--gutter);top:50%;transform:translateY(-40%);z-index:1;max-width:820px}.banner-copy h1{font-size:clamp(30px,4vw,56px);margin-top:var(--space-md)}.banner-copy p{margin-top:var(--space-md);font-size:14px;max-width:44ch}.about-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--space-2xl);padding-block:var(--space-2xl)}.about-intro h2{font-size:32px}.about-intro p{font-size:21px}.about-intro .muted{font-size:15px;margin-top:var(--space-lg)}.approach{padding-bottom:var(--space-2xl)}.approach h2{font-size:32px;margin-bottom:var(--space-lg)}.approach-row{display:grid;grid-template-columns:40px minmax(0,.7fr) minmax(0,1.3fr);gap:var(--space-md);align-items:baseline;padding-block:var(--space-md);border-top:var(--rule-width) solid var(--color-rule)}.approach-row h3{font-size:25px}.approach-row p{color:var(--color-muted);font-size:15px}.capability{background:var(--color-dark);color:var(--color-paper);padding-block:var(--space-2xl)}.capability-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2xl)}.capability h2{margin-bottom:var(--space-lg);font-size:32px}.capability p{font-size:15px;color:var(--color-light-muted);max-width:48ch;margin-top:var(--space-md)}.capability .image{aspect-ratio:1.25}.process-words{font-size:29px!important;line-height:1.9;color:var(--color-paper)!important}
.consult-band{padding-block:var(--space-2xl);background:var(--color-subtle)}.consult-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xl)}.consult-band h2{font-size:34px}.consult-band p{font-size:15px;max-width:40ch;margin-top:var(--space-md)}.consult-band .text-action{margin-top:var(--space-md)}.breadcrumbs{font-size:11px;color:var(--color-muted);display:flex;flex-wrap:wrap;gap:var(--space-xs);padding-top:var(--space-lg)}.breadcrumbs a{white-space:nowrap}.project-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2xl);padding-block:var(--space-xl) var(--space-2xl)}.project-info h2{font-size:30px;margin-bottom:var(--space-md)}.project-info p{font-size:15px;color:var(--color-muted);max-width:48ch}.project-info dl{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--space-md);margin:0;font-size:13px}.project-info dd{margin:0;color:var(--color-muted)}.project-gallery{display:flex;gap:var(--space-md);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-2xl);overscroll-behavior-x:contain}.project-gallery figure{flex:0 0 80%;scroll-snap-align:start}.project-gallery .image{aspect-ratio:1.6}.project-gallery figcaption{font-size:11px;margin-top:var(--space-sm);color:var(--color-muted)}
.article-intro{padding-block:var(--space-xl);max-width:1000px}.article-intro h1{font-size:clamp(32px,3.7vw,52px);margin-block:var(--space-md)}.article-intro .standfirst{font-size:19px;color:var(--color-muted);max-width:52ch}.article-meta{display:flex;flex-wrap:wrap;gap:var(--space-md);font-size:11px;color:var(--color-muted);margin-top:var(--space-md)}.article-cover{aspect-ratio:2.35;max-width:1200px}.article-layout{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:var(--space-2xl);max-width:1100px;padding-block:var(--space-xl) var(--space-2xl)}.toc{position:sticky;top:calc(var(--header-height) + var(--space-md));align-self:start;font-size:13px}.toc .micro{margin-bottom:var(--space-md)}.toc a{display:block;padding-block:var(--space-2xs)}.article-body{max-width:64ch}.article-body section{margin-bottom:var(--space-xl);scroll-margin-top:calc(var(--header-height) + var(--space-md))}.article-body h2{font-size:27px;margin-bottom:var(--space-md)}.article-body p{margin-bottom:var(--space-md)}.article-body ul{padding-left:var(--space-md)}.article-body li{margin-bottom:var(--space-sm)}.article-pull{font-size:25px;border-block:var(--rule-width) solid var(--color-rule);padding-block:var(--space-md);margin-block:var(--space-lg)}.related{padding-bottom:var(--space-xl)}.related h2{font-size:30px;margin-bottom:var(--space-lg)}.related-list{display:flex;flex-wrap:wrap;gap:var(--space-xl)}.related-list h3{font-size:22px}
.drawer{position:fixed;inset:0 0 0 auto;width:min(620px,100%);height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--color-paper);color:var(--color-ink)}.drawer::backdrop{background:var(--color-overlay)}.drawer-inner{padding:var(--space-xl)}.drawer-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.drawer-heading button{border:0;background:transparent;min-height:44px;padding:var(--space-xs)}.drawer h2{font-size:32px;margin-block:var(--space-sm)}.drawer-lead{font-size:14px;color:var(--color-muted);margin-bottom:var(--space-lg)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.field{display:flex;flex-direction:column;gap:var(--space-2xs);font-size:13px;min-width:0}.field.full{grid-column:1 / -1}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:var(--space-xs);border:var(--rule-width) solid var(--color-rule);background:transparent;font-size:16px}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--color-muted)}.field [aria-invalid=true]{border-color:var(--color-error)}.field textarea{min-height:110px;resize:vertical}.field [type=file]{font-size:12px}.check{display:flex;align-items:flex-start;gap:var(--space-xs);font-size:12px;color:var(--color-muted);margin-top:var(--space-lg)}.check input{width:18px;height:18px;flex-shrink:0;accent-color:var(--color-accent);margin-top:var(--space-3xs)}.check a{text-decoration:underline}.submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;border:0;padding:var(--space-sm);background:var(--color-ink);color:var(--color-paper);margin-top:var(--space-lg);white-space:nowrap}.submit:hover{opacity:.8}.form-note{font-size:12px;color:var(--color-muted);margin-top:var(--space-sm)}.form-error{font-size:13px;color:var(--color-error);margin-top:var(--space-sm)}.form-ready{padding-top:var(--space-2xl)}.form-ready h3{font-size:27px;margin-bottom:var(--space-lg)}.form-ready p{margin-bottom:var(--space-lg)}.drawer .action{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-2xs) 0;border:0;border-bottom:var(--rule-width) solid currentColor;background:transparent;white-space:nowrap;font-size:14px}
.preview-tag{font-size:10px;color:var(--color-muted);white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1100px){.primary-nav{gap:var(--space-md)}.brand strong{font-size:24px}.works-shell{grid-template-columns:72px minmax(0,1fr);gap:var(--space-md)}.works-heading{font-size:48px}.works-controls{margin-left:calc(var(--gutter) + 88px)}.knowledge-layout,.services-layout{gap:var(--space-lg)}.brand-position{padding-right:var(--space-lg)}.knowledge-pair{gap:var(--space-md)}.knowledge-pair h3{font-size:19px}.header-actions{gap:var(--space-sm)}}
@media(max-width:900px){
 :root{--header-height:76px;--gutter:24px}html.snap-home{scroll-snap-type:none}html{scroll-padding-top:var(--header-height)}
 .site-header.home-header:not(.compact){height:var(--header-height)}.home-header:not(.compact) .masthead{align-items:center;padding-bottom:0}.home-header:not(.compact) .brand strong,.brand strong{font-size:23px}.home-header:not(.compact) .header-actions{align-self:center;padding-top:0}.brand small{font-size:8px;margin-top:var(--space-3xs)}.primary-nav{display:none}.plain-button{font-size:13px}.header-actions{gap:var(--space-sm)}.menu-toggle{padding-right:0;width:32px}
 .visual-screen{height:100svh;min-height:660px;padding-top:var(--header-height)}.visual-stage{height:calc(100% - 48px)}.visual-panel{left:0;right:0;bottom:auto}.panel-caption{left:var(--space-md);top:calc(var(--panel-size) * .43);max-width:calc(100% - var(--space-xl));transform:translateY(-25%)}.panel-caption h1,.panel-caption h2{font-size:clamp(25px,6.8vw,34px)}.panel-caption p{font-size:13px;max-width:28ch}.panel-caption .micro{font-size:10px}.panel-caption .text-action{margin-top:var(--space-md);font-size:13px}.panel-category{writing-mode:horizontal-tb;top:var(--space-sm);left:var(--space-md);transform:none;font-size:11px}.active .panel-category{top:calc(var(--panel-size) - 52px);left:auto;right:var(--space-md);font-size:25px}.panel-origin{left:var(--space-md);bottom:auto;top:calc(var(--panel-size) - 28px);font-size:9px}.visual-controls{height:48px;padding-inline:var(--space-md)}.visual-controls .control-group{gap:var(--space-xs)}.visual-controls>span{font-size:9px}.chapter-nav{display:none}
 .home-screen{min-height:0;padding-block:var(--space-2xl)}.screen-knowledge{display:block}.knowledge-layout{display:block}.brand-position{border:0;padding-right:0;padding-bottom:var(--space-xl)}.brand-position h2{font-size:33px}.brand-position .text-action{margin-top:var(--space-md)}.knowledge-content h2{font-size:30px}.knowledge-pair{gap:var(--space-md)}.knowledge-pair h3{font-size:19px}.knowledge-pair p{display:none}.knowledge-thumb{aspect-ratio:.95}.knowledge-bottom{margin-top:var(--space-md)}
 .screen-works{padding-top:var(--space-xl)}.works-shell{display:block;margin-left:0}.works-heading{writing-mode:horizontal-tb;font-size:30px;margin:0 var(--gutter) var(--space-md)}.work-track{padding-inline:var(--gutter);gap:var(--space-sm);scroll-padding-left:var(--gutter)}.work-item{flex-basis:86vw}.work-picture{height:auto;aspect-ratio:1.12}.work-caption{display:block}.work-caption h3{font-size:21px}.work-caption dl{margin-top:var(--space-md);font-size:10px;gap:var(--space-3xs) var(--space-xs)}.works-controls{margin-left:var(--gutter);padding-top:var(--space-sm);font-size:10px}.works-controls>span{max-width:60%}
 .services-layout{display:block}.service-visual h2{font-size:30px}.service-visual .service-image{height:auto;aspect-ratio:1.45}.service-visual figcaption{margin-bottom:var(--space-lg)}.service-content .micro{margin-bottom:var(--space-md)}.service-selector .row{font-size:22px}.service-selector .description{font-size:13px}.screen-about{display:block;padding:0}.about-window{min-height:520px}.window-copy{padding:var(--space-xl) var(--gutter);max-width:600px}.window-copy h2{font-size:32px}.window-copy p{font-size:15px}.footer-top{display:block}.footer-nav{margin-top:var(--space-lg);gap:var(--space-md);font-size:12px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:var(--space-2xs)}
 .menu-top{padding-block:var(--space-md)}.menu-grid{display:block;padding-top:var(--space-lg)}.overlay-nav a{font-size:30px;padding-block:var(--space-md)}.menu-photo{display:none}.menu-note{margin-top:var(--space-lg)}.menu-consult{display:block}.menu-consult p{margin-top:var(--space-md)}
 .page-heading{padding-block:var(--space-xl) var(--space-lg)}.page-heading h1{font-size:36px}.journal-layout{display:block;padding-bottom:var(--space-xl)}.journal-intro{margin-bottom:var(--space-lg)}.journal-intro h2{font-size:27px;margin-bottom:var(--space-sm)}.journal-intro p{max-width:40ch}.journal-feature h2{font-size:28px}.categories{gap:var(--space-2xs) var(--space-md)}.journal-grid{gap:var(--space-xl) var(--space-lg)}.journal-entry h3{font-size:22px}.journal-entry p{font-size:13px}.journal-grid .journal-entry{grid-column:1 / -1}.journal-grid .journal-entry:nth-child(2){margin-left:var(--space-lg)}
 .feature-banner{height:76svh;min-height:500px}.feature-banner .banner-copy{left:var(--gutter);right:var(--gutter)}.banner-copy h1{font-size:36px}.about-intro{display:block;padding-block:var(--space-xl)}.about-intro h2{font-size:28px;margin-bottom:var(--space-md)}.about-intro p{font-size:20px}.approach{padding-bottom:var(--space-xl)}.approach-row{grid-template-columns:28px minmax(0,1fr);gap:var(--space-sm)}.approach-row p{grid-column:2;font-size:14px}.capability-layout{display:block}.capability .image{margin-top:var(--space-lg);aspect-ratio:1.3}.capability h2{font-size:29px}.process-words{font-size:25px!important}
 .consult-band{padding-block:var(--space-xl)}.consult-band .wrap{display:block}.consult-band h2{font-size:31px}.project-info{display:block;padding-block:var(--space-lg) var(--space-xl)}.project-info dl{margin-top:var(--space-lg)}.project-gallery{padding-bottom:var(--space-xl)}.project-gallery figure{flex-basis:90%}.project-gallery .image{aspect-ratio:1.1}
 .article-intro{padding-block:var(--space-lg)}.article-intro h1{font-size:34px}.article-intro .standfirst{font-size:18px}.article-meta{gap:var(--space-xs)}.article-cover{width:100%;aspect-ratio:1.4}.article-layout{display:block;padding-block:var(--space-lg) var(--space-xl)}.toc{position:static;padding-bottom:var(--space-lg);margin-bottom:var(--space-lg);border-bottom:var(--rule-width) solid var(--color-rule)}.article-body h2{font-size:25px}.article-pull{font-size:23px}.related-list{display:block}.related-list article{margin-top:var(--space-lg)}
 .drawer-inner{padding:var(--space-md)}.drawer h2{font-size:30px}.form-grid{gap:var(--space-md) var(--space-sm)}
}
@media(max-height:700px) and (min-width:901px){html.snap-home{scroll-snap-type:none}.home-screen{min-height:760px}.visual-screen{height:100svh;min-height:620px}.screen-about{min-height:760px}}
.panel-shade{background:linear-gradient(90deg,var(--color-scrim),transparent 72%)}.visual-controls .scene-number{white-space:nowrap}
.work-picture img{transform:scale(var(--image-crop,1))}.work-picture-link:hover img{transform:scale(calc(var(--image-crop,1) * 1.02))}
.visual-stage{height:calc(100% - var(--visual-control-height))}.visual-controls{height:var(--visual-control-height)}
.panel-photo img{object-position:var(--focus-desktop,50% 50%)}.panel-shade{background:linear-gradient(90deg,var(--color-caption-scrim) 0%,var(--color-caption-scrim) 38%,var(--color-caption-end) 78%)}
.panel-caption{left:calc(var(--gutter) + var(--space-md));top:54%;max-width:min(620px,calc(var(--panel-size) - var(--gutter) * 2 - var(--space-xl)))}
.panel-caption h1,.panel-caption h2{font-size:clamp(30px,2.8vw,42px);letter-spacing:-.035em}.panel-caption>p:not(.micro){max-width:36ch;line-height:1.8}
.visual-panel.is-switching .panel-caption{opacity:0}.panel-origin{background:var(--color-image-hint);padding:var(--space-3xs) var(--space-2xs);bottom:var(--space-md)}
.scene-tabs{display:flex;align-items:center;gap:var(--space-lg);height:100%}.visual-controls .scene-tabs button{display:flex;align-items:center;gap:var(--space-2xs);min-height:44px;border-bottom:2px solid transparent;white-space:nowrap;font-size:12px;color:var(--color-muted)}
.visual-controls .scene-tabs button[aria-pressed=true]{color:var(--color-ink);border-bottom-color:var(--color-accent)}.scene-tab-number{font-size:10px;letter-spacing:.04em}.scene-tab-short{display:none}
.work-track{cursor:grab;scroll-padding-left:0}.work-track.dragging{cursor:grabbing;user-select:none}.work-track.dragging *{cursor:grabbing}.work-picture-link{display:block;padding:0;border:0;background:transparent;width:100%;text-align:left}.work-picture-link:active{opacity:1}
.work-picture{position:relative;height:min(59svh,680px)}.picture-affordance{position:absolute;right:var(--space-sm);bottom:var(--space-sm);padding:var(--space-2xs) var(--space-xs);background:var(--color-image-hint);color:var(--color-paper);font-size:11px;line-height:1.5;white-space:nowrap;pointer-events:none}
.work-caption{padding-top:var(--space-md)}.work-caption .work-category{font-size:10px;letter-spacing:.08em;margin:0 0 var(--space-2xs)}.work-caption h3{font-size:clamp(22px,2vw,28px)}.work-detail-link{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:12px;min-height:40px;white-space:nowrap}
.work-detail-link:hover{opacity:.6}.work-caption dl{padding-top:var(--space-sm);grid-template-columns:48px minmax(0,1fr);gap:var(--space-2xs) var(--space-sm)}
.gallery-buttons{gap:var(--space-lg)}.gallery-buttons button{border:var(--rule-width) solid var(--color-rule);width:48px;height:48px;line-height:1}.gallery-buttons button:disabled{opacity:.3;cursor:default}.gallery-buttons>span{min-width:48px;text-align:center;letter-spacing:.04em}
.works-controls>span{display:flex;flex-direction:column;gap:var(--space-3xs)}.gallery-hint{font-size:10px;color:var(--color-muted)}.mobile-hint{display:none}
.project-picture-button{width:100%;display:block;border:0;padding:0;background:transparent;text-align:left}
.style-source-note{display:inline-block;background:var(--color-image-hint);padding:var(--space-3xs) var(--space-2xs);font-size:11px!important}
.style-banner::after{background:linear-gradient(90deg,var(--color-caption-scrim) 0%,var(--color-caption-scrim) 35%,var(--color-caption-end) 100%)}
.style-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2xl);padding-block:var(--space-2xl)}.style-intro h2{font-size:36px;margin-top:var(--space-md)}.style-intro ul{padding-left:var(--space-md);margin-block:var(--space-lg)}.style-intro li{margin-bottom:var(--space-sm)}
.style-related{padding-bottom:var(--space-2xl)}.style-related h2{font-size:28px;margin-bottom:var(--space-lg)}.style-related nav{display:flex;flex-wrap:wrap;gap:var(--space-xl)}
@media(max-width:900px){.style-intro{display:block;padding-block:var(--space-xl)}.style-intro h2{font-size:30px;margin-bottom:var(--space-lg)}.style-related nav{gap:var(--space-lg)}}
.image-viewer{position:fixed;inset:0;width:100%;height:100dvh;max-height:none;max-width:none;margin:0;padding:0;border:0;background:var(--color-dark);color:var(--color-paper)}.image-viewer::backdrop{background:var(--color-dark)}
.viewer-shell{height:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;padding:var(--space-lg) var(--space-xl) var(--space-sm);gap:var(--space-md)}
.viewer-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.viewer-header h2{font-size:25px;margin-top:var(--space-3xs)}.viewer-header .micro{color:var(--color-light-muted);font-size:10px}.viewer-origin{font-size:11px;color:var(--color-light-muted);margin-top:var(--space-2xs)}
.image-viewer button{border:0;background:transparent;color:inherit;min-width:44px;min-height:44px;padding:var(--space-2xs);white-space:nowrap}.image-viewer button:hover{opacity:.65}.image-viewer button:disabled{opacity:.3;cursor:default}.image-viewer :focus-visible{outline-color:var(--color-paper)}
.viewer-stage{position:relative;min-height:0;min-width:0;width:100%;overflow:hidden;touch-action:pinch-zoom}.viewer-picture{height:100%;width:100%;min-width:0;max-width:100%}.viewer-picture img{width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity var(--dur-fast) var(--ease-out);pointer-events:none}.viewer-picture img.ready{opacity:1}
.viewer-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;font-size:14px;gap:var(--space-sm)}.viewer-status button{pointer-events:auto;text-decoration:underline;text-underline-offset:5px}
.viewer-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-md);font-size:12px}.viewer-navigation{display:flex;align-items:center;gap:var(--space-sm)}.viewer-navigation button{font-size:28px;border:var(--rule-width) solid var(--color-muted)}.viewer-navigation>span{min-width:52px;text-align:center;white-space:nowrap}
.viewer-pages{display:flex;align-items:center;gap:var(--space-md)}.viewer-pages button{font-size:12px;color:var(--color-light-muted);border-bottom:var(--rule-width) solid transparent}.viewer-pages button[aria-pressed=true]{color:var(--color-paper);border-bottom-color:currentColor}
.viewer-detail{justify-self:end;min-height:44px;display:flex;align-items:center;white-space:nowrap;font-size:12px}.viewer-hint{text-align:center;color:var(--color-light-muted);font-size:10px}
.viewer-header-actions{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.viewer-header-actions button{font-size:12px}.viewer-header-actions [data-viewer-zoom]{border-bottom:var(--rule-width) solid var(--color-muted)}
.viewer-picture{overflow:auto;cursor:zoom-in;scrollbar-width:none}.viewer-picture::-webkit-scrollbar{display:none}.viewer-picture.zoomed{cursor:grab;touch-action:pan-x pan-y pinch-zoom}.viewer-picture.panning{cursor:grabbing;user-select:none}.viewer-picture.zoomed img{max-width:none;object-fit:fill}
@media(max-width:1100px) and (min-width:901px){.scene-tabs{gap:var(--space-md)}.scene-tab-full{display:none}.scene-tab-short{display:inline}.visual-controls .control-group{gap:var(--space-sm)}}
@media(max-width:900px){
 :root{--visual-control-height:88px}.visual-controls{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:40px 40px;gap:var(--space-2xs);padding-block:var(--space-3xs)}
 .scene-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2xs)}.visual-controls .scene-tabs button{min-height:40px;justify-content:center;gap:var(--space-3xs);font-size:12px}.scene-tab-full{display:none}.scene-tab-short{display:inline}
 .visual-controls .control-group{justify-content:space-between;gap:var(--space-2xs)}.visual-controls .control-group button,.visual-controls .control-group a{min-height:40px;min-width:40px;display:flex;align-items:center;justify-content:center}
 .panel-photo img{object-position:var(--focus-mobile,50% 50%)}.panel-caption{left:var(--space-md);top:calc(var(--panel-size) * .43);max-width:calc(100% - var(--space-xl))}.panel-caption h1,.panel-caption h2{font-size:clamp(25px,6.8vw,34px)}.panel-caption>p:not(.micro){max-width:none}
 .panel-origin{top:calc(var(--panel-size) - 32px);bottom:auto}.work-picture{height:auto;aspect-ratio:1.14}.work-caption{padding-top:var(--space-sm)}.work-caption h3{font-size:22px}.work-caption dl{margin-top:var(--space-xs);padding-top:0}.work-detail-link{min-height:40px}
 .works-controls{gap:var(--space-md);align-items:flex-start}.works-controls>span{max-width:none;font-size:10px}.gallery-buttons{gap:var(--space-2xs)}.gallery-buttons button{width:40px;height:40px;font-size:25px}.gallery-buttons>span{min-width:44px;font-size:10px}.desktop-hint{display:none}.mobile-hint{display:inline}
 .picture-affordance{right:var(--space-xs);bottom:var(--space-xs);font-size:10px;padding:var(--space-2xs)}
 .viewer-shell{padding:var(--space-md) var(--space-sm) var(--space-sm);gap:var(--space-sm)}.viewer-header{align-items:flex-start;padding-inline:var(--space-xs)}.viewer-header h2{font-size:20px}.viewer-origin{font-size:10px}.viewer-header .micro{font-size:9px}.viewer-header>button{font-size:12px;min-width:64px;padding-inline:var(--space-3xs)}
 .viewer-footer{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2xs);padding-inline:var(--space-xs)}.viewer-pages{grid-column:1 / -1;grid-row:2;justify-content:center;gap:var(--space-md)}.viewer-navigation{gap:var(--space-2xs)}.viewer-navigation>span{font-size:11px;min-width:46px}.viewer-navigation button{min-width:40px;min-height:40px}.viewer-detail{font-size:11px}.viewer-hint{font-size:9px}
 .viewer-header-actions{gap:var(--space-2xs)}.viewer-header h2{font-size:19px}.viewer-header-actions button{padding-inline:var(--space-3xs);font-size:12px}
}
@media(max-width:900px){.visual-screen.home-screen{padding:var(--header-height) 0 0;min-height:660px}.panel-caption p{max-width:none}}
@media(max-width:430px){.visual-controls>span{display:none}.visual-controls{justify-content:flex-end}.visual-controls .control-group{gap:var(--space-md)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.snap-home{scroll-snap-type:none}*,*::before,*::after{transition:none!important;animation:none!important}.work-picture-link:hover img{transform:scale(var(--image-crop,1))}.skip{transform:none;display:none}.skip:focus{display:block}}

/* Domestic audience: Chinese titles lead, English supports, text remains server rendered. */
.panel-category b{font-size:16px;font-weight:400;letter-spacing:.16em}.panel-category small{display:block;font-size:10px;font-weight:400;letter-spacing:.07em;margin-inline-start:10px;opacity:.85}.active .panel-category{font-size:inherit;left:var(--space-md)}.active .panel-category b{font-size:32px}.active .panel-category small{font-size:11px}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.section-head h2{margin-bottom:var(--space-2xs)}.section-head>p{font-size:13px;max-width:25ch;color:var(--color-muted)}.knowledge-content .section-head h2{margin-bottom:var(--space-2xs)}.knowledge-content .section-head{align-items:flex-start}.knowledge-content .section-head>p{max-width:16ch;padding-top:var(--space-xs)}
.screen-knowledge{min-height:calc(100svh - var(--header-height));padding-block:calc(var(--header-height) + var(--space-lg)) var(--space-2xl)}.knowledge-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-xl)}.brand-position p{font-size:16px;line-height:1.9}.knowledge-pair h3{font-size:22px}.knowledge-pair p{font-size:14px;line-height:1.85}.knowledge-thumb{aspect-ratio:1.45}.knowledge-pair .micro{font-size:12px}
.works-shell{display:block;margin-left:var(--gutter)}.works-heading{writing-mode:horizontal-tb;display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);margin-bottom:var(--space-lg);padding-right:var(--gutter);letter-spacing:normal}.works-heading h2{font-size:var(--text-title)}.works-heading .works-intro{margin-left:auto;max-width:40ch;font-size:14px;line-height:1.75;letter-spacing:normal;color:var(--color-muted)}.work-picture{height:min(47svh,530px)}.work-item{flex-basis:min(72vw,1120px)}.works-controls{margin-left:var(--gutter)}.work-caption{padding-top:var(--space-md)}.work-caption h3{font-size:24px;margin-block:var(--space-2xs)}.work-caption dl{font-size:12px;line-height:1.8;align-content:start;padding-top:var(--space-2xs)}.work-caption .work-category{font-size:12px;color:var(--color-ink)}.work-category-en{display:block;font-size:10px;color:var(--color-muted);letter-spacing:.08em;margin-top:var(--space-3xs)}
.service-visual h2{margin-bottom:var(--space-2xs)}.service-subtitle{color:var(--color-light-muted);margin-bottom:var(--space-md)}.service-lead{font-size:15px;line-height:1.85;color:var(--color-light-muted);margin-bottom:var(--space-lg)}.service-list-title{font-size:16px;color:var(--color-light-muted);margin-bottom:var(--space-md)}.service-focus{display:block;color:var(--color-light-muted);font-size:12px;margin-top:var(--space-2xs)}.service-selector .description{max-width:none}.service-visual .service-image{height:min(35svh,380px)}
.window-copy>h2{font-size:clamp(28px,2.7vw,40px)}.consult-preparation{margin-block:var(--space-md);padding-block:var(--space-sm);border-block:var(--rule-width) solid var(--color-rule);font-size:13px;color:var(--color-muted)}.consult-preparation p{margin:0;font-size:13px}.consult-preparation ul{margin:var(--space-xs) 0 0;padding-left:20px;line-height:1.9}.consult-band .micro{margin-block:var(--space-2xs) var(--space-md)}
.common-questions{padding-block:var(--space-2xl);scroll-snap-align:start}.question-list{border-top:var(--rule-width) solid var(--color-rule)}.question-list details{border-bottom:var(--rule-width) solid var(--color-rule);padding-block:var(--space-md)}.question-list summary{font-size:19px;cursor:pointer;list-style:none;position:relative;padding-right:var(--space-lg);line-height:1.65}.question-list summary::-webkit-details-marker{display:none}.question-list summary::after{content:'+';position:absolute;right:0;top:0;color:var(--color-muted)}.question-list details[open] summary::after{content:'−'}.question-list summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.question-list details p{margin-top:var(--space-sm);max-width:80ch;color:var(--color-muted);font-size:15px;line-height:1.9}.question-more{display:inline-flex;gap:var(--space-xs);align-items:center;min-height:44px;white-space:nowrap;font-size:14px;margin-top:var(--space-md)}
.footer-bottom{font-size:12px;align-items:center}.footer-identity,.footer-legal{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);align-items:center}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}.icp-link:hover{text-decoration:underline;text-underline-offset:4px}.footer-nav{gap:var(--space-md)}.page-heading>.micro{margin-top:var(--space-xs)}.banner-copy>h1+.micro{margin-top:var(--space-sm)}
@media(max-width:1100px) and (min-width:901px){.works-controls{margin-left:var(--gutter)}.works-heading .works-intro{display:none}.knowledge-content .section-head>p{display:none}.work-caption{gap:var(--space-md)}}
@media(max-width:900px){
 .panel-category{display:flex;align-items:center;gap:var(--space-2xs);line-height:1.4}.panel-category b{font-size:12px;letter-spacing:.08em}.panel-category small{font-size:9px;margin:0}.active .panel-category{left:auto;right:var(--space-md);top:calc(var(--panel-size) - 66px);display:block;text-align:right}.active .panel-category b{font-size:19px}.active .panel-category small{font-size:9px;display:block;margin-top:2px}.panel-origin{top:calc(var(--panel-size) - 24px)}
 .section-head{display:block}.section-head>p{margin-top:var(--space-sm);max-width:none}.knowledge-layout{display:block}.screen-knowledge{min-height:0;padding-block:var(--space-xl)}.knowledge-content .section-head>p{display:block;max-width:none;padding-top:0}.knowledge-pair p{display:block;font-size:13px}.knowledge-thumb{aspect-ratio:1.15}.knowledge-pair h3{font-size:19px}.brand-position{padding-bottom:var(--space-xl)}.brand-position h2{font-size:31px}
 .works-shell{margin-left:0}.works-heading{display:block;margin:0 var(--gutter) var(--space-md);padding:0}.works-heading h2{font-size:30px}.works-heading .micro{margin-top:var(--space-2xs)}.works-heading .works-intro{font-size:13px;margin:var(--space-sm) 0 0}.work-item{flex-basis:86vw}.work-picture{height:auto;aspect-ratio:1.12}.work-caption h3{font-size:21px}.work-caption dl{font-size:12px}.work-caption{padding-top:var(--space-sm)}.works-controls{margin-left:var(--gutter)}
 .service-visual .service-image{height:auto;aspect-ratio:1.45}.service-lead{font-size:14px}.service-focus{font-size:12px}.service-selector .row{font-size:21px}.service-selector .description{padding-left:var(--space-lg)}.consult-preparation ul{margin-left:0}.window-copy>h2{font-size:30px}.common-questions{padding-block:var(--space-xl)}.common-questions h2{font-size:28px}.question-list summary{font-size:17px}.question-list details p{font-size:14px}.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2xs)}.footer-identity{display:flex;column-gap:var(--space-sm)}.footer-bottom span{margin-top:0}.footer-legal{gap:var(--space-md)}.footer-identity>span:first-child{flex-basis:100%}.footer-top .footer-nav{gap:var(--space-sm)}
}

/* Service and city pages use the same editorial frame and gutters as About. */
.information-hero.about-editorial-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.information-hero .about-hero-copy h1{font-size:var(--text-title);line-height:1.5;text-wrap:balance}
.information-hero .about-hero-copy>p:last-of-type{max-width:36ch}
.information-hero .about-hero-image{height:auto;aspect-ratio:1.35}
.information-details{padding-bottom:var(--space-2xl);scroll-margin-top:calc(var(--header-height) + var(--space-md))}
.information-section{display:grid;grid-template-columns:40px minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-lg);padding-block:var(--space-lg);border-top:var(--rule-width) solid var(--color-rule);align-items:start}
.information-section h2{font-size:clamp(22px,2vw,28px);line-height:1.6;text-wrap:balance}
.information-section p{font-size:15px;color:var(--color-muted);line-height:1.95;max-width:52ch}
.information-section p+p{margin-top:var(--space-md)}
.information-work,.information-explore{padding-block:var(--space-xl) var(--space-2xl);border-top:var(--rule-width) solid var(--color-rule)}
.information-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xl) var(--space-lg);margin-top:var(--space-lg)}
.information-work-link{display:block;min-width:0}
.information-work-link .image{aspect-ratio:1.5;overflow:hidden;background:var(--color-subtle)}
.information-work-link img{transition:transform var(--dur-image) var(--ease-out)}
.information-work-link:hover img{transform:scale(1.015)}
.information-work-copy{padding-top:var(--space-sm)}
.information-work-copy h3{font-size:22px;line-height:1.6;margin-top:var(--space-xs)}
.information-work-link:hover h3{color:var(--color-accent)}
.information-work-copy .editorial-read{margin-top:var(--space-xs)}
.information-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-2xl);margin-top:var(--space-lg)}
.information-links .text-action{display:flex;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-md);border-top:var(--rule-width) solid var(--color-rule);white-space:normal;line-height:1.7}
.information-links .end-arrow{flex-shrink:0}
@media(max-width:1100px){.information-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.information-section{gap:var(--space-md)}}
@media(max-width:900px){
 .information-hero .about-hero-copy h1{font-size:30px}.information-hero .about-hero-copy>p:last-of-type{max-width:none}.information-hero .about-hero-image{aspect-ratio:1.35}
 .information-details{padding-bottom:var(--space-xl)}.information-section{grid-template-columns:24px minmax(0,1fr);gap:var(--space-xs);padding-block:var(--space-md)}.information-section h2{font-size:22px}.information-section>div{grid-column:2}.information-section p{font-size:14px;max-width:none}
 .information-work,.information-explore{padding-block:var(--space-lg) var(--space-xl)}.information-page .section-head{display:block}.information-page .section-head>.text-action{margin-top:var(--space-sm)}.information-work-grid{gap:var(--space-lg)}.information-work-copy h3{font-size:21px}.information-links{grid-template-columns:minmax(0,1fr);margin-top:var(--space-md)}.information-links .text-action{padding-block:var(--space-sm)}
}
@media(max-width:600px){.information-work-grid{grid-template-columns:minmax(0,1fr)}}

/* Editorial subpages and a direct, shared WeCom contact link. */
.journal-page-heading{padding-bottom:var(--space-lg)}.journal-page-heading>p:last-child{max-width:62ch}.journal-spotlight{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--space-xl);background:var(--color-subtle);padding:var(--space-xl);align-items:center}.spotlight-copy h2{font-size:clamp(28px,2.8vw,40px);margin-block:var(--space-md)}.spotlight-copy>p:not(.micro){font-size:15px;line-height:1.9;color:var(--color-muted);max-width:34ch}.spotlight-copy>p.spotlight-focus{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-sm);font-size:12px;max-width:none;margin-top:var(--space-md)}.spotlight-focus span{white-space:nowrap}.spotlight-copy .text-action{margin-top:var(--space-lg)}.spotlight-image{display:block;min-width:0;height:350px;overflow:hidden}.spotlight-image:hover img{transform:scale(1.015)}.spotlight-image img{transition:transform var(--dur-image) var(--ease-out)}
.reading-start{padding-block:var(--space-2xl);display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:var(--space-xl)}.reading-start h2{font-size:28px;margin-bottom:var(--space-xs)}.reading-start nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}.reading-start a{display:block;position:relative;border-top:var(--rule-width) solid var(--color-rule);padding-top:var(--space-md);padding-right:var(--space-sm);min-height:110px}.reading-start a>span:first-child{display:block;font-size:16px;white-space:nowrap}.reading-start a small{display:block;color:var(--color-muted);font-size:12px;line-height:1.8;margin-top:var(--space-2xs)}.reading-arrow{position:absolute;right:0;top:var(--space-md);color:var(--color-accent)}.reading-start a:hover{border-color:var(--color-accent)}
.journal-index{scroll-margin-top:calc(var(--header-height) + var(--space-md));padding-bottom:var(--space-xl)}.journal-search{width:min(100%,360px)}.journal-search label{display:block;font-size:12px;color:var(--color-muted);margin-bottom:var(--space-2xs)}.journal-search>div{display:flex;border-bottom:var(--rule-width) solid var(--color-rule);gap:var(--space-xs)}.journal-search input{width:100%;min-width:0;border:0;background:transparent;padding:var(--space-2xs) 0;min-height:44px;font-size:14px}.journal-search button,.journal-empty button{border:0;background:transparent;min-height:44px;font-size:13px;white-space:nowrap}.journal-search button:hover{text-decoration:underline;text-underline-offset:4px}.journal-index-note{display:flex;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-md);font-size:12px;color:var(--color-muted)}.editorial-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xl) var(--space-lg);padding-top:var(--space-lg)}.editorial-grid .journal-entry,.editorial-grid .journal-entry:last-child{grid-column:auto;max-width:none;margin:0}.editorial-grid .journal-entry h3{font-size:22px;line-height:1.55}.editorial-grid .journal-entry .image{aspect-ratio:1.5;margin-bottom:var(--space-sm)}.editorial-grid .text-entry{border-top:var(--rule-width) solid var(--color-rule);padding-top:var(--space-lg)}.editorial-entry-meta{display:flex;justify-content:space-between;gap:var(--space-xs);color:var(--color-muted);font-size:11px}.editorial-read{display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-md);font-size:13px;min-height:44px;white-space:nowrap}.journal-empty{padding:var(--space-xl);text-align:center;background:var(--color-subtle);margin-block:var(--space-lg)}.journal-empty h3{font-size:22px}.journal-empty p{color:var(--color-muted);font-size:14px;margin-block:var(--space-sm)}
.about-editorial-hero{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-2xl);align-items:center;padding-block:var(--space-lg) var(--space-2xl)}.about-hero-copy h1{font-size:clamp(32px,3.3vw,48px)}.about-hero-copy>.micro{margin-block:var(--space-xs) var(--space-lg)}.about-hero-copy h2{font-size:clamp(28px,2.7vw,38px);line-height:1.55;margin-bottom:var(--space-md)}.about-hero-copy>p:last-of-type{max-width:34ch;font-size:15px;line-height:1.95;color:var(--color-muted)}.about-jump{display:inline-flex;align-items:center;gap:var(--space-sm);min-height:44px;font-size:14px;margin-top:var(--space-lg);white-space:nowrap}.about-hero-image{height:480px;overflow:hidden}.about-editorial-hero figcaption{color:var(--color-muted);font-size:11px;margin-top:var(--space-xs)}
.about-belief{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl);padding-block:var(--space-2xl);border-top:var(--rule-width) solid var(--color-rule)}.about-belief h2{font-size:34px;margin-top:var(--space-md)}.about-belief>div>p:not(.micro){font-size:16px;color:var(--color-muted);line-height:1.95;margin-bottom:var(--space-md)}.about-belief .text-action{margin-top:var(--space-sm)}
.about-collaboration{background:var(--color-dark);color:var(--color-paper);padding-block:var(--space-2xl)}.about-collaboration .section-head>p,.about-collaboration .micro{color:var(--color-light-muted)}.collaboration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xl);margin-top:var(--space-xl)}.collaboration-grid article{border-top:var(--rule-width) solid var(--color-muted);padding-top:var(--space-md)}.collaboration-grid h3{font-size:27px;margin-block:var(--space-sm) var(--space-md)}.collaboration-grid p{font-size:14px;line-height:1.9;color:var(--color-light-muted)}.collaboration-grid .collaboration-lead{font-size:16px;color:var(--color-paper);margin-bottom:var(--space-xs)}
.about-workflow{padding-block:var(--space-2xl);scroll-margin-top:calc(var(--header-height) + var(--space-md))}.workflow-list{list-style:none;margin:var(--space-xl) 0 0;padding:0;border-top:var(--rule-width) solid var(--color-rule)}.workflow-list li{display:grid;grid-template-columns:48px minmax(0,.75fr) minmax(0,1.25fr);gap:var(--space-md);padding-block:var(--space-lg);border-bottom:var(--rule-width) solid var(--color-rule);align-items:start}.workflow-number{font-size:13px;color:var(--color-muted);padding-top:var(--space-2xs)}.workflow-list h3{font-size:24px}.workflow-list p{font-size:15px;color:var(--color-muted);line-height:1.85}.workflow-list small{display:block;font-size:12px;color:var(--color-muted);margin-top:var(--space-xs)}
.about-service-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl);padding-bottom:var(--space-2xl)}.about-service-scope h2{font-size:30px}.about-service-scope .micro{margin-block:var(--space-xs) var(--space-md)}.about-service-scope p:not(.micro){font-size:14px;line-height:1.9;color:var(--color-muted);max-width:44ch}.about-service-scope .about-cities{margin-top:var(--space-md)}.about-service-scope ul{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm) var(--space-lg)}.about-service-scope li{font-size:15px;border-bottom:var(--rule-width) solid var(--color-rule);padding-block:var(--space-xs)}
.footer-contact{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg) 0 var(--space-xl);margin-bottom:var(--space-xl);border-bottom:var(--rule-width) solid var(--color-rule)}.footer-contact h2{font-size:clamp(24px,2.2vw,32px)}.footer-contact p{font-size:14px;color:var(--color-muted);margin-top:var(--space-xs)}.wecom-contact{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-lg);background:var(--color-accent);color:var(--color-paper);min-height:56px;padding:var(--space-sm) var(--space-md);font-size:16px;white-space:nowrap;flex-shrink:0}.wecom-contact:hover{background:var(--color-dark)}.wecom-contact:focus-visible{outline-offset:5px}
@media(max-width:1100px){.reading-start{display:block}.reading-start nav{margin-top:var(--space-lg)}.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-editorial-hero{gap:var(--space-lg)}.about-hero-image{height:430px}.collaboration-grid{gap:var(--space-lg)}}
@media(max-width:900px){
 .journal-page-heading{padding-bottom:var(--space-md)}.journal-spotlight{display:flex;flex-direction:column;padding:var(--space-md);gap:var(--space-lg);align-items:stretch}.spotlight-copy h2{font-size:28px}.spotlight-copy>p:not(.micro){max-width:none;font-size:14px}.spotlight-copy>p.spotlight-focus{font-size:11px}.spotlight-copy .text-action{margin-top:var(--space-md)}.spotlight-image{height:auto;aspect-ratio:1.45}.reading-start{padding-block:var(--space-xl)}.reading-start nav{grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}.reading-start a{min-height:80px}.reading-start a>span:first-child{font-size:16px}.journal-index .section-head{display:block}.journal-search{margin-top:var(--space-md);width:100%}.journal-index-note{display:block}.journal-index-note>p:last-child{margin-top:var(--space-2xs)}.editorial-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}.editorial-grid .journal-entry,.editorial-grid .journal-entry:nth-child(2){margin-left:0}.editorial-grid .journal-entry .image{aspect-ratio:1.6}.journal-empty{padding:var(--space-lg)}
 .about-editorial-hero{display:block;padding-block:var(--space-sm) var(--space-xl)}.about-hero-copy h1{font-size:34px}.about-hero-copy h2{font-size:28px}.about-hero-copy>.micro{margin-bottom:var(--space-md)}.about-hero-copy>p:last-of-type{max-width:none;font-size:14px}.about-hero-copy{margin-bottom:var(--space-lg)}.about-hero-image{height:auto;aspect-ratio:1.05}.about-jump{margin-top:var(--space-md)}.about-belief{display:block;padding-block:var(--space-xl)}.about-belief h2{font-size:28px;margin-bottom:var(--space-lg)}.about-belief>div>p:not(.micro){font-size:14px}.about-collaboration{padding-block:var(--space-xl)}.about-collaboration h2{font-size:28px}.collaboration-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-lg);margin-top:var(--space-lg)}.collaboration-grid h3{font-size:24px;margin-block:var(--space-xs)}.about-workflow{padding-block:var(--space-xl)}.about-workflow h2{font-size:28px}.workflow-list{margin-top:var(--space-lg)}.workflow-list li{grid-template-columns:28px minmax(0,1fr);gap:var(--space-xs);padding-block:var(--space-md)}.workflow-list h3{font-size:21px}.workflow-list li>div{grid-column:2}.workflow-list p{font-size:14px}.about-service-scope{display:block;padding-bottom:var(--space-xl)}.about-service-scope h2{font-size:28px}.about-service-scope ul{margin-top:var(--space-lg);gap:var(--space-xs) var(--space-md)}.about-service-scope li{font-size:14px}.footer-contact{display:block;padding-block:var(--space-sm) var(--space-lg);margin-bottom:var(--space-lg)}.footer-contact h2{font-size:25px;max-width:none}.footer-contact h2 span{display:block}.footer-contact p{font-size:13px}.wecom-contact{width:100%;margin-top:var(--space-lg);font-size:16px;min-height:56px}
}

/* Site-wide color roles: ivory reading surfaces, stone panels, restrained moss accents. */
::selection{background:var(--color-accent-tint);color:var(--color-ink)}
.brand strong{color:var(--color-accent)}
.menu-dialog .brand strong{color:var(--color-paper)}
.primary-nav a[aria-current]{color:var(--color-accent);text-decoration-thickness:2px}
.primary-nav a:hover,.plain-button:hover,.footer-nav a:hover,.breadcrumbs a:hover,.toc a:hover,.question-more:hover,.about-jump:hover{color:var(--color-accent);opacity:1}
.footer{background:var(--color-footer)}
.consult-band p{color:var(--color-muted)}
.text-action:hover,.work-detail-link:hover{color:var(--color-accent);opacity:1}
.text-action:hover .end-arrow{background:var(--color-accent-hover)}
.image-window .text-action:hover,.panel-caption .text-action:hover,.menu-dialog .text-action:hover{color:var(--color-on-image)}
.visual-panel,.about-window.image-window,.feature-banner,.picture-affordance{color:var(--color-on-image)}
.visual-controls .scene-tabs button[aria-pressed=true]{color:var(--color-accent)}
.visual-controls button:hover{opacity:1;color:var(--color-accent)}
.visual-panel .panel-toggle:focus-visible,.panel-caption a:focus-visible,.image-window a:focus-visible{outline-color:var(--color-on-image)}
.categories button{padding-inline:var(--space-2xs)}
.categories button[aria-pressed=true]{color:var(--color-accent);background:var(--color-accent-tint);text-decoration:none}
.categories button:hover{background:var(--color-accent-tint)}
.journal-search>div{border-color:var(--color-control-edge)}
.journal-search>div:focus-within{border-color:var(--color-focus)}
.journal-search input::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--color-muted);opacity:1}
.field input,.field select,.field textarea{border-color:var(--color-control-edge)}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--color-accent)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-focus)}
.field [aria-invalid=true]{border-color:var(--color-error)}
.submit{background:var(--color-accent);color:var(--color-on-image)}
.submit:hover,.wecom-contact:hover{background:var(--color-accent-hover);opacity:1}
.wecom-contact{color:var(--color-on-image)}
.gallery-buttons button{border-color:var(--color-control-edge)}
.gallery-buttons button:hover:not(:disabled){color:var(--color-accent);background:var(--color-accent-tint);opacity:1}
.service-selector,.service-selector:last-child,.overlay-nav a,.overlay-nav a:last-child,.collaboration-grid article,.viewer-navigation button{border-color:var(--color-dark-rule)}
.about-collaboration :focus-visible,.screen-services :focus-visible,.capability :focus-visible{outline-color:var(--color-on-image)}

/* Style archive: a real list with independent image and project-detail paths. */
.style-banner .text-action{margin-top:var(--space-md)}.style-banner .text-action:focus-visible{outline-color:var(--color-on-image)}.style-banner .text-action:hover{color:var(--color-on-image)}
.style-works{scroll-margin-top:calc(var(--header-height) + var(--space-md));padding-block:var(--space-lg) var(--space-2xl);border-top:var(--rule-width) solid var(--color-rule)}
.style-works .section-head{align-items:flex-end}.style-works-intro{color:var(--color-muted);font-size:15px;max-width:65ch;margin-bottom:var(--space-xl)}
.style-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl) var(--space-lg)}
.style-work-card{min-width:0}.style-work-photo{display:block;position:relative;aspect-ratio:1.5;width:100%;border:0;padding:0;background:var(--color-subtle);overflow:hidden;text-align:left}
.style-work-photo img{transition:transform var(--dur-image) var(--ease-out)}.style-work-photo:hover img{transform:scale(1.02)}.style-work-photo:active{opacity:1}
.style-work-meta{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--space-2xs);margin-top:var(--space-sm)}
.style-work-card h3{font-size:25px;margin-block:var(--space-xs)}.style-work-card h3 a:hover{color:var(--color-accent)}
.style-work-description{font-size:14px;line-height:1.9;color:var(--color-muted);max-width:55ch}.style-work-card .work-detail-link{margin-top:var(--space-sm)}
.cover-only img{object-fit:contain}.style-works-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);border-top:var(--rule-width) solid var(--color-rule);margin-top:var(--space-xl);padding-top:var(--space-md)}.style-works-bottom>p{font-size:12px;color:var(--color-muted);max-width:60ch}
.project-continuation{padding-block:var(--space-lg) var(--space-2xl);border-top:var(--rule-width) solid var(--color-rule)}
.project-continue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);margin-top:var(--space-lg)}
.project-continue-link{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:var(--space-md);min-width:0}
.project-continue-link .image{aspect-ratio:1.3;background:var(--color-subtle)}.project-continue-link h3{font-size:21px;margin-top:var(--space-2xs)}.project-continue-link:hover h3{color:var(--color-accent)}.project-continue-link .editorial-read{margin-top:var(--space-xs)}
@media(max-width:900px){.style-works{padding-block:var(--space-lg) var(--space-xl)}.style-works .section-head{display:block}.style-works .section-head>p{margin-top:var(--space-sm)}.style-works-intro{font-size:14px;margin-bottom:var(--space-lg)}.style-work-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.style-work-card h3{font-size:23px}.style-works-bottom{display:block;margin-top:var(--space-lg)}.style-works-bottom .text-action{margin-top:var(--space-sm)}.project-continuation{padding-block:var(--space-lg) var(--space-xl)}.project-continuation .section-head{display:block}.project-continuation .section-head .text-action{margin-top:var(--space-sm)}.project-continue-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}.project-continue-link{gap:var(--space-sm)}.project-continue-link h3{font-size:19px}}

/* Independent AI style study pages share the existing gallery and continuation. */
.concept-cover .project-picture-button{position:relative}.concept-cover .image{aspect-ratio:1.5}.concept-cover figcaption{font-size:12px;color:var(--color-muted);margin-top:var(--space-xs)}
.concept-discussion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl);padding-block:var(--space-2xl)}.concept-discussion h2{font-size:30px;margin-block:var(--space-xs) var(--space-md)}.concept-discussion p,.concept-discussion li{font-size:15px;color:var(--color-muted);line-height:1.9}.concept-discussion ul{padding-left:var(--space-md);margin-top:var(--space-md)}.concept-source-note{margin-top:var(--space-md)}.concept-discussion .text-action{margin-top:var(--space-md)}
@media(max-width:900px){.concept-cover .image{aspect-ratio:1.35}.concept-discussion{grid-template-columns:minmax(0,1fr);gap:var(--space-lg);padding-block:var(--space-xl)}.concept-discussion h2{font-size:27px}.concept-discussion p,.concept-discussion li{font-size:14px}}

/* Shared shell refinement · consistent masthead and integrated directory footer. */
.site-header,.site-header.home-header:not(.compact){height:var(--header-height);border-bottom:var(--rule-width) solid var(--color-rule)}
.site-header .masthead,.home-header:not(.compact) .masthead{align-items:center;padding-bottom:0}
.site-header .brand strong,.home-header:not(.compact) .brand strong{font-size:26px;letter-spacing:.1em;color:var(--color-ink)}
.site-header .brand small{color:var(--color-muted);font-size:9px;letter-spacing:.18em}
.home-header:not(.compact) .primary-nav,.home-header:not(.compact) .header-actions{align-self:center;padding-top:0}
.primary-nav{gap:var(--space-lg)}.primary-nav a{position:relative;min-height:48px}
.primary-nav a[aria-current]{text-decoration:none;color:var(--color-accent)}
.primary-nav a[aria-current]::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-accent)}
.header-consult{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2xs) var(--space-sm);border:var(--rule-width) solid var(--color-accent);background:var(--color-accent);color:var(--color-paper);font-size:13px;white-space:nowrap}
.header-consult:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.header-consult:active{opacity:1;background:var(--color-dark)}
.header-actions{gap:var(--space-sm)}.menu-toggle{position:relative;gap:5px;width:44px;padding:var(--space-2xs) var(--space-xs)}.menu-toggle b{font-size:9px;font-weight:400;line-height:1.2;white-space:nowrap;letter-spacing:.12em}.menu-toggle:hover{background:var(--color-accent-tint)}
.visual-screen.home-screen{padding-top:var(--header-height)}
.footer-directory{background:var(--color-footer);color:var(--color-paper);padding-block:var(--space-lg) var(--space-sm)}
.footer-mast{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:var(--rule-width) solid var(--color-dark-rule);padding-bottom:var(--space-md)}
.footer-kicker{font-size:16px;line-height:1.5;letter-spacing:.04em}.footer-kicker small{font-size:10px;color:var(--color-light-muted);letter-spacing:.12em;display:inline-block;margin-left:var(--space-md)}
.footer-back{display:inline-flex;align-items:center;gap:var(--space-md);min-height:44px;white-space:nowrap;font-size:12px}.footer-back span{font-size:20px}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.35fr) minmax(0,1.05fr);gap:var(--space-xl);padding-block:var(--space-xl)}
.footer-directory .brand strong{font-size:29px;color:var(--color-paper);letter-spacing:.12em}.footer-directory .brand small{font-size:9px;letter-spacing:.2em;color:var(--color-light-muted)}
.footer-brand-copy{font-size:14px;line-height:1.9;color:var(--color-light-muted);margin-top:var(--space-md)}
.footer-cities{font-size:13px;margin-top:var(--space-lg)}.footer-cities span{display:block;color:var(--color-light-muted);font-size:11px;margin-bottom:var(--space-2xs)}
.footer-directories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}
.footer-link-group h2{font-size:12px;letter-spacing:.08em;color:var(--color-light-muted);margin-bottom:var(--space-sm)}
.footer-link-group a{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xs);min-height:44px;width:fit-content;font-size:14px;white-space:nowrap}
.footer-link-group a span{font-size:12px;color:var(--color-light-muted);opacity:0}.footer-link-group a:hover span,.footer-link-group a:focus-visible span{opacity:1}
.footer-inquiry h2{font-size:26px;line-height:1.4}.footer-inquiry-en{font-size:9px;letter-spacing:.08em;color:var(--color-light-muted);margin-top:var(--space-2xs)}
.footer-inquiry>p:not(.footer-inquiry-en){font-size:13px;line-height:1.9;color:var(--color-light-muted);margin-top:var(--space-sm)}
.footer-directory .wecom-contact{display:flex;width:100%;background:var(--color-paper);color:var(--color-dark);min-height:56px;font-size:15px;padding:var(--space-sm) var(--space-md);margin-top:var(--space-md);gap:var(--space-md)}
.footer-directory .wecom-contact:hover{background:var(--color-accent-tint)}.footer-directory .wecom-contact:active{opacity:1;background:var(--color-light-muted)}
.footer-inquiry>small{display:block;font-size:11px;color:var(--color-light-muted);margin-top:var(--space-2xs)}
.footer-directory .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);border-color:var(--color-dark-rule);padding-top:var(--space-sm);margin-top:0;font-size:11px;color:var(--color-light-muted)}
.footer-directory .footer-identity,.footer-directory .footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs) var(--space-md)}
.footer-directory .footer-bottom span{margin-top:0;display:inline-block}.footer-directory .preview-tag{font-size:10px;color:var(--color-light-muted)}
.footer-directory a:hover{color:var(--color-paper);text-decoration:underline;text-underline-offset:5px}.footer-directory .wecom-contact:hover{color:var(--color-dark);text-decoration:none}
.footer-directory a:focus-visible{outline-color:var(--color-paper)}
@media(max-width:1100px){.primary-nav{gap:var(--space-md)}.footer-grid{gap:var(--space-lg)}.footer-directories{gap:var(--space-md)}.footer-inquiry h2{font-size:24px}.footer-directory .brand strong{font-size:27px}.footer-kicker small{margin-left:var(--space-sm)}}
@media(max-width:900px){
 .site-header .brand strong,.home-header:not(.compact) .brand strong{font-size:22px}.site-header .brand small{font-size:8px}.site-header .header-actions{gap:var(--space-xs)}.header-consult{font-size:12px;padding-inline:var(--space-xs)}.menu-toggle{width:36px;padding-inline:var(--space-2xs)}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg) var(--space-xl);padding-block:var(--space-lg)}.footer-brand-block{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm) var(--space-xl)}.footer-brand-copy{margin-top:0}.footer-cities{margin-top:0;grid-column:1 / -1}.footer-cities span{display:inline;margin-right:var(--space-sm)}
 .footer-kicker small{display:block;margin:var(--space-3xs) 0 0}.footer-link-group a{min-height:44px}.footer-directory .footer-identity>span:first-child{flex-basis:auto}
}
@media(max-width:600px){
 .footer-directory{padding-top:var(--space-md)}.footer-mast{padding-bottom:var(--space-sm)}.footer-kicker{font-size:15px}.footer-back{gap:var(--space-xs);font-size:11px}.footer-grid{display:block;padding-block:var(--space-lg)}.footer-brand-block{display:block}.footer-brand-copy{margin-top:var(--space-sm)}.footer-cities{margin-top:var(--space-sm);font-size:12px}.footer-directories{margin-top:var(--space-lg);padding-block:var(--space-lg);border-block:var(--rule-width) solid var(--color-dark-rule);gap:var(--space-xl)}.footer-link-group h2{margin-bottom:var(--space-2xs)}.footer-inquiry{margin-top:var(--space-lg)}.footer-inquiry h2{font-size:25px}.footer-directory .wecom-contact{margin-top:var(--space-sm)}
 .footer-directory .footer-bottom{display:block;padding-block:var(--space-sm) 0}.footer-directory .footer-identity{gap:0 var(--space-sm);align-items:flex-start}.footer-directory .footer-identity>span:first-child{flex-basis:100%;padding-block:var(--space-2xs)}.footer-directory .footer-legal{justify-content:space-between;margin-top:0}
}
@media(prefers-reduced-motion:reduce){.footer-directory *,.site-header *{transition:none;animation:none}}

/* Mobile directory and persistent, user-controlled WeCom contact. */
.menu-dialog .menu-shell{height:100%;display:grid;grid-template-rows:var(--header-height) minmax(0,1fr) auto;padding-bottom:env(safe-area-inset-bottom,0px)}
.menu-dialog .menu-top{padding:0;border-bottom:var(--rule-width) solid var(--color-dark-rule)}.menu-top .brand strong{font-size:26px}.menu-top .brand small{font-size:9px;color:var(--color-light-muted)}
.menu-top button{display:flex;gap:var(--space-xs);align-items:center;justify-content:center;padding-inline:var(--space-xs);min-width:72px;font-size:13px}.menu-top button span:last-child{font-size:24px}
.menu-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3xl);padding-block:var(--space-md);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.overlay-nav .menu-primary-link,.overlay-nav .menu-primary-link:last-child{min-height:80px;padding:var(--space-sm) 0;border:0;border-bottom:var(--rule-width) solid var(--color-dark-rule);font-size:30px}
.menu-link-copy{display:flex;align-items:baseline;gap:var(--space-md)}.menu-link-copy small{font-size:10px;letter-spacing:.1em}.menu-direction{font-size:20px;color:var(--color-light-muted)}
.menu-primary-link[aria-current] .menu-link-copy>span::after{content:'当前';font-size:10px;letter-spacing:0;margin-left:var(--space-xs);color:var(--color-light-muted)}
.menu-style-links{padding-block:var(--space-sm) var(--space-md)}.menu-style-links h2{font-size:12px;color:var(--color-light-muted);margin-bottom:var(--space-xs)}.menu-style-links>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs)}
.overlay-nav .menu-style-links a,.overlay-nav .menu-style-links a:last-child{display:flex;justify-content:space-between;align-items:center;border:var(--rule-width) solid var(--color-dark-rule);font-size:14px;min-height:44px;padding:var(--space-2xs) var(--space-xs)}.menu-style-links a[aria-current]{background:var(--color-paper);color:var(--color-dark)}
.menu-style-links a:hover{background:var(--color-light-muted);color:var(--color-dark)}.menu-primary-link:hover{color:var(--color-light-muted)}.menu-primary-link:active,.menu-style-links a:active{opacity:.7}
.menu-dialog .menu-photo{height:min(44svh,480px)}.menu-visual{padding-top:var(--space-xs)}.menu-note{font-size:16px;margin-top:var(--space-sm)}.menu-note span{font-size:10px;letter-spacing:.1em}
.menu-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);border-top:var(--rule-width) solid var(--color-dark-rule);padding-block:var(--space-md)}.menu-bottom p{font-size:15px}.menu-bottom small{display:block;font-size:11px;color:var(--color-light-muted);margin-top:var(--space-3xs)}
.menu-wecom{display:inline-flex;justify-content:space-between;align-items:center;gap:var(--space-xl);padding:var(--space-xs) var(--space-md);min-height:48px;background:var(--color-paper);color:var(--color-dark);font-size:14px;white-space:nowrap}.menu-wecom:hover{background:var(--color-accent-tint)}
.wecom-widget{position:fixed;right:var(--space-md);bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px));z-index:32;color:var(--color-paper);background:var(--color-dark);box-shadow:0 4px 16px var(--color-contact-shadow)}
.wecom-widget-expanded{display:flex}.wecom-widget button{border:0;background:transparent;color:inherit;min-height:52px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}
.wecom-float-trigger{gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);text-align:left}.wecom-float-trigger small{display:block;color:var(--color-light-muted);font-size:10px;line-height:1.4}.wecom-minimize{min-width:44px;border-left:var(--rule-width) solid var(--color-dark-rule)!important;font-size:20px!important}.wecom-widget .wecom-restore{width:52px}
.wecom-widget button:hover{background:var(--color-accent-hover)}.wecom-widget button:active{opacity:1;background:var(--color-accent)}.wecom-widget button:focus-visible{outline:2px solid var(--color-paper);outline-offset:-5px}
.wecom-popover{position:fixed;inset:auto var(--space-md) calc(var(--space-md) + 64px + env(safe-area-inset-bottom,0px)) auto;width:min(320px,100vw - 2 * var(--space-md));margin:0;padding:var(--space-md);border:var(--rule-width) solid var(--color-control-edge);background:var(--color-paper);color:var(--color-ink);box-shadow:0 8px 32px var(--color-contact-shadow);max-height:calc(100dvh - var(--header-height) - 100px);overflow-y:auto;overscroll-behavior:contain}
.wecom-panel-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xs);margin-top:calc(-1 * var(--space-xs))}.wecom-panel-top p{font-size:11px;color:var(--color-muted)}.wecom-panel-top button{background:transparent;border:0;min-width:44px;min-height:44px;font-size:23px;margin-right:calc(-1 * var(--space-xs))}.wecom-panel-top button:hover{background:var(--color-accent-tint)}
.wecom-popover h2{font-size:26px;margin-top:var(--space-xs)}.wecom-panel-copy{font-size:14px;line-height:1.8;color:var(--color-muted);margin-top:var(--space-sm)}.wecom-panel-link{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:var(--space-xs) var(--space-sm);margin-top:var(--space-md);background:var(--color-accent);color:var(--color-paper);font-size:14px}.wecom-panel-link:hover{background:var(--color-accent-hover)}.wecom-panel-link:active{opacity:1;background:var(--color-dark)}.wecom-panel-note{margin-top:var(--space-sm);color:var(--color-muted);font-size:11px;line-height:1.8}
body:has(dialog[open]) .wecom-widget{visibility:hidden;pointer-events:none}
@media(max-width:900px){
 .site-header .menu-toggle{width:44px;padding-inline:var(--space-xs)}.menu-top .brand strong{font-size:22px}.menu-top .brand small{font-size:8px}.menu-dialog .menu-content{display:block;padding-block:var(--space-xs) var(--space-md)}.menu-visual{display:none}.menu-link-copy{gap:var(--space-sm)}.menu-link-copy small{font-size:9px}.overlay-nav .menu-primary-link,.overlay-nav .menu-primary-link:last-child{font-size:24px;min-height:64px;padding:var(--space-xs) 0}.menu-direction{font-size:18px}.menu-bottom{display:block;padding-block:var(--space-sm)}.menu-bottom>p{font-size:12px;color:var(--color-light-muted)}.menu-bottom>p small{display:inline;margin-left:var(--space-2xs);font-size:10px}.menu-wecom{display:flex;width:100%;margin-top:var(--space-xs);min-height:48px}
 .wecom-widget{right:var(--space-sm);bottom:calc(var(--space-sm) + env(safe-area-inset-bottom,0px))}.wecom-widget button{min-height:48px;font-size:12px}.wecom-float-trigger{padding-inline:var(--space-xs);gap:var(--space-2xs)}.wecom-float-trigger small{font-size:9px}.wecom-widget .wecom-restore{width:48px}.wecom-popover{right:var(--space-sm);bottom:calc(var(--space-sm) + 60px + env(safe-area-inset-bottom,0px));width:min(320px,100vw - 2 * var(--space-sm));padding:var(--space-md)}
}
@media(max-width:350px){.menu-bottom>p small{display:block;margin-left:0}.menu-link-copy small{font-size:8px;letter-spacing:.04em}.menu-primary-link[aria-current] .menu-link-copy>span::after{margin-left:var(--space-2xs);font-size:9px}}
@media(prefers-reduced-motion:reduce){.wecom-widget *,.wecom-popover *{transition:none;animation:none}}
.site-header .brand,.menu-top .brand{min-height:44px;display:flex;flex-direction:column;justify-content:center}
.wecom-widget{bottom:var(--contact-inset)}.wecom-popover{bottom:calc(var(--contact-inset) + 64px)}
html.contact-above-hero-controls{--contact-inset:calc(var(--visual-control-height) + var(--space-md) + env(safe-area-inset-bottom,0px))}
@media(max-width:900px){:root{--contact-inset:calc(var(--space-sm) + env(safe-area-inset-bottom,0px))}}

/* Cross-platform arrows are vectors, not platform emoji glyphs. */
.ui-arrow{display:inline-block;width:1em;height:1em;min-width:12px;min-height:12px;vertical-align:-.12em;flex-shrink:0;pointer-events:none}
.menu-direction{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}

/* Figma 2026-10-09 shared system. The four-panel hero keeps its original
   dimensions, variables, imagery and interaction selectors. */
:root{--layout-width:1280px;--layout-gutter:clamp(24px,5.55556vw,80px);--color-footer-copy:#E5E9DF;--color-footer-divider:rgba(255,255,255,.19);--control-height:52px}
body:has(.subpage){--header-height:96px;--gutter:var(--layout-gutter)}
.subpage .wrap,.subpage~.site-header .wrap,.figma-footer .wrap{width:min(100% - 2 * var(--layout-gutter),var(--layout-width))}
.site-header .brand strong{font-size:25px;letter-spacing:0}.site-header .brand small{color:var(--color-accent);margin-top:5px;letter-spacing:0}
.primary-nav{gap:40px}.primary-nav a{min-height:40px}.primary-nav a[aria-current]::after{height:1px}.primary-nav a:hover{opacity:1;color:var(--color-accent)}
.header-consult{min-height:var(--control-height);padding-inline:24px;font-size:15px;gap:28px;border:0}.header-consult .ui-arrow{font-size:20px}
.site-header .menu-toggle{display:none}
.figma-footer{padding-block:64px 28px}.figma-footer-content{display:grid;grid-template-columns:minmax(0,640fr) minmax(0,560fr);gap:80px;align-items:start}
.figma-footer-message{display:flex;flex-direction:column;gap:20px}.figma-footer-message>.micro{font-size:11px;color:var(--color-footer-copy);letter-spacing:0}.figma-footer-message h2{font-size:40px;line-height:1.45;letter-spacing:0}.figma-footer-message>p:last-child{font-size:16px;line-height:1.85;color:var(--color-footer-copy)}
.figma-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.figma-footer .footer-cities{margin:0;font-size:13px;color:var(--color-footer-copy)}
.figma-footer .wecom-contact{min-height:40px;width:auto;margin:0;padding:0;gap:28px;border:0;border-bottom:1px solid var(--color-dark-rule);background:transparent;color:var(--color-paper);font-size:15px}.figma-footer .wecom-contact:hover{background:transparent;color:var(--color-accent-tint)}
.figma-footer .footer-service-note{font-size:12px;line-height:1.85;color:var(--color-footer-copy)}.footer-mobile-nav{display:none}
.figma-footer .footer-bottom{margin-top:48px;padding-top:28px;border-top:1px solid var(--color-footer-divider);font-size:11px;color:var(--color-footer-copy);line-height:1.6}.figma-footer .footer-bottom a{min-height:24px}.figma-footer .footer-legal{gap:16px}
.figma-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:var(--control-height);padding:12px 24px;background:var(--color-accent);color:var(--color-paper);font-size:15px;line-height:1.4}.figma-primary:hover{background:var(--color-accent-hover)}.figma-primary:active{background:var(--color-dark);opacity:1}.figma-primary .ui-arrow{font-size:20px}
.about-editorial-hero{grid-template-columns:minmax(0,520fr) minmax(0,680fr);gap:80px;padding-block:80px}.about-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:28px}.about-hero-copy>.micro{margin:0;color:var(--color-accent);letter-spacing:0}.about-hero-copy h1,.information-hero .about-hero-copy h1{font-size:46px;line-height:1.45;letter-spacing:0}.about-hero-copy h2{margin:0;font-size:34px}.about-hero-copy>p.editorial-summary{font-size:20px;line-height:1.85;max-width:none;color:var(--color-ink)}
.information-hero.about-editorial-hero{grid-template-columns:minmax(0,520fr) minmax(0,680fr)}.about-hero-image,.information-hero .about-hero-image{height:auto;aspect-ratio:680/520}.about-editorial-hero figcaption{margin-top:12px}
.editorial-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}.editorial-hero-actions .about-jump{font-size:12px;margin:0}.about-hero-copy>.about-jump{margin:0}
@media(max-width:1100px){.primary-nav{gap:24px}.about-editorial-hero{gap:40px}.figma-footer-content{gap:48px}.about-hero-copy h1,.information-hero .about-hero-copy h1{font-size:38px}.about-hero-copy>p.editorial-summary{font-size:18px}}
@media(max-width:900px){
 body:has(.subpage){--header-height:84px;--gutter:24px}.site-header .brand strong{font-size:22px;letter-spacing:0}.site-header .brand small{font-size:9px;color:var(--color-muted);margin-top:0}.site-header .header-consult{display:none}.site-header .menu-toggle{display:flex;flex-direction:row;width:auto;align-items:center;gap:12px;padding:0;min-width:64px;color:var(--color-accent)}.site-header .menu-toggle b{font-size:14px;letter-spacing:0}.site-header .menu-toggle .menu-plus{width:auto;height:auto;background:none;font-size:20px}
 .about-editorial-hero{display:block;padding-block:48px}.about-hero-copy{gap:24px;margin-bottom:32px}.about-hero-copy h1,.information-hero .about-hero-copy h1{font-size:32px;line-height:1.45}.about-hero-copy h2{font-size:28px}.about-hero-copy>p.editorial-summary{font-size:16px;line-height:1.85}.about-hero-image,.information-hero .about-hero-image{aspect-ratio:680/520}.editorial-hero-actions{width:100%;gap:16px}.editorial-hero-actions .figma-primary{width:100%}
 .figma-footer{padding-block:48px}.figma-footer-content{display:flex;flex-direction:column;gap:24px}.figma-footer-message{gap:24px}.figma-footer-message>.micro{display:none}.figma-footer-message h2{font-size:28px}.figma-footer-message>p:last-child{font-size:14px;max-width:26ch;color:var(--color-accent-tint)}.figma-footer-contact{gap:24px;width:100%}.figma-footer .footer-cities{font-size:12px;color:var(--color-accent-tint)}.footer-mobile-nav{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:12px}.footer-mobile-nav a{min-height:32px;display:flex;align-items:center}.figma-footer .wecom-contact{width:100%;min-height:52px;background:var(--color-paper);color:var(--color-dark);padding:12px 24px;border:0}.figma-footer .wecom-contact:hover{background:var(--color-accent-tint);color:var(--color-dark)}.figma-footer .footer-service-note{display:none}.figma-footer .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px;padding-top:0;border:0;color:var(--color-accent-tint)}.figma-footer .footer-identity>span:first-child{flex-basis:auto;padding:0}.figma-footer .footer-legal{justify-content:flex-start;gap:8px;flex-wrap:wrap}.figma-footer .footer-bottom a{white-space:normal}
}
/* Shared cover, reading rhythm and directory components. */
.subpage .page-heading,.subpage .article-intro{padding-block:80px 64px}.subpage .page-heading h1,.subpage .article-intro h1{font-size:46px;line-height:1.45;letter-spacing:0}.subpage .page-heading>.micro,.subpage .article-intro>.micro{color:var(--color-accent);margin-block:0 28px}.subpage .page-heading>p:last-child{font-size:19px;line-height:1.85;max-width:60ch;margin-top:28px}
.project-cover .image{height:auto;aspect-ratio:1280/580;overflow:hidden}.project-cover figcaption,.style-cover figcaption{font-size:12px;color:var(--color-muted);margin-top:12px;line-height:1.85}
.style-cover .image{height:auto;aspect-ratio:1280/570;position:relative;overflow:hidden}.source-badge{position:absolute;bottom:16px;left:16px;max-width:calc(100% - 32px);padding:6px 12px;background:var(--color-subtle);color:var(--color-accent);font-size:11px;line-height:1.6}
.subpage .project-info{padding-block:80px;grid-template-columns:minmax(0,720fr) minmax(0,480fr);gap:80px}.project-info h2{font-size:32px}.project-info>div>p{font-size:18px;line-height:1.85}.project-info dl{border-top:1px solid var(--color-rule);padding-top:20px}
.subpage .project-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;overflow:visible}.subpage .project-gallery figure{width:100%;min-width:0}.subpage .project-gallery .image{height:auto;aspect-ratio:auto}.subpage .project-gallery img{height:auto;object-fit:contain}.subpage .project-gallery figcaption{font-size:12px;color:var(--color-muted);line-height:1.85;margin-top:12px}
.subpage section:has(>.project-gallery){padding-block:64px!important}.subpage section:has(>.project-gallery):nth-of-type(even){background:var(--color-subtle)}
.works-directory{padding-bottom:80px}.works-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}.works-directory-grid article{min-width:0}.works-directory-photo{display:block;position:relative}.works-directory-photo .image{aspect-ratio:408/268;overflow:hidden}.works-directory h2{font-size:23px;margin-block:20px 12px}.works-directory .work-detail-link{margin-top:16px}.work-detail-link{display:inline-flex;gap:28px;align-items:center;min-height:40px;border-bottom:1px solid var(--color-rule);color:var(--color-accent);font-size:15px}
.style-intro{padding-block:80px}.style-works{padding-block:80px;background:var(--color-subtle)}.style-work-grid{gap:48px 32px}.style-work-card h3{font-size:23px}.style-work-photo{height:auto;aspect-ratio:624/280}.style-work-description{font-size:13px}.style-works .section-head h2{font-size:32px}
@media(max-width:1100px){.subpage .project-info{gap:48px}.works-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.subpage .page-heading,.subpage .article-intro{padding-block:48px 32px}.subpage .page-heading h1,.subpage .article-intro h1{font-size:32px}.subpage .page-heading>p:last-child{font-size:16px;margin-top:24px}.subpage .page-heading>.micro,.subpage .article-intro>.micro{margin-bottom:24px}.project-cover .image,.style-cover .image{aspect-ratio:1.3}.subpage .project-info{display:block;padding-block:48px}.project-info h2{font-size:28px}.project-info>div>p{font-size:16px}.project-info dl{margin-top:32px}.subpage section:has(>.project-gallery){padding-block:32px!important}.subpage .project-gallery{gap:24px}.works-directory{padding-bottom:48px}.works-directory-grid{grid-template-columns:minmax(0,1fr);gap:32px}.works-directory h2{font-size:23px}.works-directory-photo .image{aspect-ratio:342/234}.style-intro,.style-works{padding-block:48px}.style-work-photo{aspect-ratio:1.46}.style-works .section-head h2{font-size:28px}}
.drawer{width:min(480px,100%);overflow-y:auto;overscroll-behavior:contain}.drawer-inner{display:flex;flex-direction:column;gap:28px;padding:48px}.drawer-heading{margin:0}.drawer-heading>.micro,.drawer-heading button{color:var(--color-accent);font-size:14px}.drawer h2{font-size:32px;line-height:1.45;margin:0}.drawer-lead{font-size:16px;line-height:1.85;margin:0}.drawer .consult-preparation{margin:0;padding:0}.drawer .consult-preparation p,.drawer .consult-preparation li{font-size:16px;line-height:1.85}.drawer .consult-preparation ul{margin-top:24px}.drawer .wecom-panel-link{width:100%;min-height:52px;margin:0;font-size:15px}.drawer .form-note{font-size:12px;line-height:1.85;margin:0}.drawer .action{font-size:12px}
@media(max-width:900px){.drawer-inner{padding:32px 24px;gap:24px}.drawer h2{font-size:28px}.drawer .consult-preparation p,.drawer .consult-preparation li,.drawer-lead{font-size:15px}}

@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400;font-display:swap;src:url('/assets/cg-noto-serif-400-ded522aad6e6.woff2') format('woff2')}
@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:400;font-display:swap;src:url('/assets/cg-noto-sans-400-4524c3642adb.woff2') format('woff2')}
@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:500;font-display:swap;src:url('/assets/cg-noto-sans-500-6d0b74f85c03.woff2') format('woff2')}
/* Hallmark · genre: editorial · refinement within the existing CuiGuan system
 * pre-emit critique: P5 H5 E4 S5 R5 V4
 * Typography pairs a roman Chinese serif with readable sans-serif text.
 * The protected four-panel stage retains its original font and dimensions. */
.visual-screen{font-family:var(--font-legacy)}
.visual-screen h1,.visual-screen h2{font-family:var(--font-display)}
.site-header .brand strong{font-family:var(--font-body);font-size:22px;line-height:1.3;font-weight:500;letter-spacing:.02em}
.site-header .brand small{font-size:9px;line-height:1.6;letter-spacing:.06em}
.primary-nav{font-size:var(--type-action)}.header-consult{font-size:var(--type-action);font-weight:400;gap:var(--space-md);min-height:48px}
.subpage h1,.subpage h2,.home-main>section:not(.visual-screen) h2,.figma-footer h2{font-family:var(--font-editorial);font-style:normal;font-weight:400;letter-spacing:0}
.subpage .page-heading,.subpage .article-intro{padding-block:var(--section-opening) var(--space-xl)}
.subpage .page-heading h1,.subpage .article-intro h1,.about-hero-copy h1,.information-hero .about-hero-copy h1{font-size:var(--type-display);line-height:var(--type-display-leading);font-weight:400;max-width:22em;text-wrap:balance}
.subpage .page-heading>.micro,.subpage .article-intro>.micro,.about-hero-copy>.micro{font-size:var(--type-label);line-height:1.6;letter-spacing:.14em;margin:0 0 var(--space-md)}
.subpage .page-heading>p:last-child,.subpage .article-intro .standfirst{font-size:var(--type-lead);line-height:var(--type-reading-leading);max-width:var(--measure-intro);margin-top:var(--space-md)}
.subpage .section-head h2,.subpage .related h2,.about-belief h2,.about-workflow h2,.style-intro h2,.concept-discussion h2{font-size:var(--type-section);line-height:var(--type-section-leading);text-wrap:balance}
.subpage p{font-size:var(--type-reading);line-height:var(--type-reading-leading)}
.subpage .micro,.subpage figcaption,.subpage .article-meta,.subpage .editorial-entry-meta,.subpage .style-work-meta,.subpage .editorial-read,.subpage .style-work-description,.subpage .work-detail-link{font-size:var(--type-meta);line-height:1.7}
.subpage .page-heading>.micro,.subpage .about-hero-copy>.micro,.subpage .section-head .micro{font-size:var(--type-label);letter-spacing:.14em}
.about-editorial-hero,.information-hero.about-editorial-hero{grid-template-columns:minmax(0,480fr) minmax(0,704fr);gap:var(--editorial-gap);padding-block:var(--section-opening) var(--section-closing)}
.about-hero-copy{gap:var(--space-md)}.about-hero-copy>.micro{margin:0}.about-hero-copy>p.editorial-summary{font-size:var(--type-lead);line-height:var(--type-reading-leading);max-width:28em;color:var(--color-muted)}
.about-hero-image,.information-hero .about-hero-image{aspect-ratio:704/488}
.editorial-hero-actions{gap:var(--space-sm) var(--space-md);margin-top:var(--space-2xs)}.figma-primary,.subpage .text-action{font-size:var(--type-action);gap:var(--space-md)}
.works-directory h2,.style-work-card h3,.information-work-copy h3,.editorial-grid .journal-entry h3,.project-continue-link h3{font-family:var(--font-body);font-size:var(--type-card);font-weight:500;line-height:1.5;letter-spacing:0;margin-block:var(--space-sm) var(--space-2xs)}
.works-directory .micro{font-size:var(--type-meta);line-height:1.7}.works-directory .work-detail-link{margin-top:var(--space-xs);min-height:44px}
.works-directory-grid{column-gap:var(--space-lg);row-gap:var(--space-xl)}
.information-section{grid-template-columns:32px minmax(0,360fr) minmax(0,808fr);gap:var(--space-xl);padding-block:var(--space-lg)}
.information-section h2{font-family:var(--font-editorial);font-size:24px;line-height:1.6;text-wrap:balance;max-width:15em}.information-section p{font-size:var(--type-reading);line-height:var(--type-reading-leading);max-width:var(--measure-reading)}
.information-section p+p{margin-top:var(--space-sm)}
.subpage .project-info{gap:var(--editorial-gap);padding-block:var(--section-closing);grid-template-columns:minmax(0,704fr) minmax(0,480fr)}.project-info h2{font-size:var(--type-section)}.project-info>div>p{font-size:var(--type-reading);max-width:var(--measure-reading);line-height:var(--type-reading-leading)}.project-info dl{font-size:var(--type-meta);gap:var(--space-sm) var(--space-md)}
.subpage .article-intro{max-width:1120px}.subpage .article-intro h1{max-width:18em}.subpage>.article-body{max-width:var(--measure-reading);padding-block:var(--space-2xl)}.article-body h2{font-size:var(--type-section);line-height:1.5;margin-block:var(--space-xl) var(--space-md)}.article-body p{font-size:var(--type-reading);line-height:var(--type-reading-leading)}.article-body>section:has(h2){margin-bottom:var(--space-md)}
.spotlight-copy h2{font-size:var(--type-section);line-height:1.5}.spotlight-copy>p:not(.micro){font-size:var(--type-reading);line-height:var(--type-reading-leading);max-width:32em}.editorial-grid .journal-entry p{font-size:var(--type-reading);line-height:var(--type-reading-leading)}
.about-belief>div>p:not(.micro),.workflow-list p,.collaboration-grid>article>p:not(.collaboration-lead){font-size:var(--type-reading);line-height:var(--type-reading-leading)}.collaboration-grid h3,.workflow-list h3{font-family:var(--font-body);font-size:var(--type-card);font-weight:500;line-height:1.5}.collaboration-lead{font-size:var(--type-lead)}
.home-main>section:not(.visual-screen) .brand-position h2,.home-main>section:not(.visual-screen) .window-copy h2{font-size:38px;line-height:1.45;letter-spacing:0}.home-main>section:not(.visual-screen) .section-head h2,.home-main>section:not(.visual-screen) .knowledge-content h2,.home-main>section:not(.visual-screen) .service-visual h2{font-size:var(--type-section);line-height:1.5}
.home-main>section:not(.visual-screen) .knowledge-pair h3,.home-main>section:not(.visual-screen) .work-caption h3{font-family:var(--font-body);font-size:var(--type-card);font-weight:500;line-height:1.5;letter-spacing:0}.home-main>section:not(.visual-screen) .brand-position p,.home-main>section:not(.visual-screen) .window-copy>p:not(.micro),.home-main>section:not(.visual-screen) .knowledge-pair p{font-size:var(--type-reading);line-height:var(--type-reading-leading)}
.figma-footer-message h2{font-size:34px;line-height:1.45}.figma-footer-message>p:last-child{font-size:var(--type-reading);line-height:1.85}.figma-footer .footer-cities,.figma-footer .footer-service-note{font-size:var(--type-meta)}
.drawer h2{font-family:var(--font-editorial);font-size:var(--type-section);line-height:1.5;letter-spacing:0}.drawer-lead{font-size:var(--type-reading);line-height:1.85}
@media(max-width:1100px){.about-editorial-hero,.subpage .project-info{gap:var(--space-xl)}.information-section{gap:var(--space-lg);grid-template-columns:28px minmax(0,300fr) minmax(0,600fr)}}
@media(max-width:900px){
 .site-header .brand strong{font-size:20px;line-height:1.4}.site-header .brand small{font-size:9px}.subpage .page-heading,.subpage .article-intro{padding-block:var(--section-opening) var(--space-lg)}
 .subpage .page-heading h1,.subpage .article-intro h1,.about-hero-copy h1,.information-hero .about-hero-copy h1{font-size:var(--type-display);line-height:1.4;text-wrap:balance}
 .subpage .page-heading>p:last-child{font-size:var(--type-lead);margin-top:var(--space-sm)}.subpage .page-heading>.micro{margin-bottom:var(--space-sm)}
 .about-hero-copy{gap:var(--space-md);margin-bottom:var(--space-lg)}.about-hero-copy>p.editorial-summary{font-size:var(--type-reading)}.about-editorial-hero,.information-hero.about-editorial-hero{display:block;padding-block:var(--section-opening) var(--section-closing)}
 .information-section{grid-template-columns:24px minmax(0,1fr);gap:var(--space-xs);padding-block:var(--space-lg)}.information-section h2{font-size:22px;line-height:1.65;max-width:none}.information-section>div{grid-column:2}.information-section p{font-size:var(--type-reading);max-width:none}
 .subpage .project-info{display:block;padding-block:var(--section-closing)}.subpage .article-intro{max-width:none}.subpage>.article-body{width:calc(100% - 2 * var(--gutter));padding-block:var(--space-lg) var(--space-xl)}
 .home-main>section:not(.visual-screen) .brand-position h2,.home-main>section:not(.visual-screen) .window-copy h2{font-size:32px}.home-main>section:not(.visual-screen) .service-visual h2,.home-main>section:not(.visual-screen) .knowledge-content h2{font-size:var(--type-section)}
 .figma-footer-message h2{font-size:28px}.figma-footer-message>p:last-child{font-size:var(--type-reading);max-width:24em}
}

.subpage h3{font-family:var(--font-body)}
/* The screenshot's floating consultation control is part of the protected area. */
.wecom-widget,.wecom-popover{font-family:var(--font-legacy)}
/* SEO contact and new pages extend the existing editorial components. */
.header-phone{font-size:var(--type-action);font-variant-numeric:tabular-nums;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;color:var(--color-accent)}
.business-contact{font-style:normal;display:flex;flex-direction:column;gap:var(--space-2xs);max-width:42em;font-size:var(--type-reading);line-height:var(--type-reading-leading)}.business-contact p{margin:0}.business-contact a{display:inline-flex;align-items:center;width:fit-content;min-height:44px;color:var(--color-accent);font-variant-numeric:tabular-nums}.business-contact-name{font-weight:500}.business-contact-note{color:var(--color-muted)}
.figma-footer .business-contact{font-size:var(--type-meta);color:var(--color-footer-copy);gap:var(--space-3xs)}.figma-footer .business-contact p{font-size:var(--type-meta);line-height:1.7}.figma-footer .business-contact a{color:var(--color-paper);min-height:32px}.figma-footer .business-contact-name{display:none}
.footer-service-links{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-sm);font-size:var(--type-meta)}.footer-service-links a{display:inline-flex;align-items:center;min-height:32px;white-space:nowrap}
.home-main .brand-position h1{font-family:var(--font-editorial);font-size:38px;font-weight:400;line-height:1.45;letter-spacing:0}.home-main .brand-position .brand-statement{font-size:var(--type-lead);line-height:1.65;margin-top:var(--space-md)}
@media(max-width:1100px){.site-header .header-actions{gap:var(--space-xs)}.header-phone{font-size:12px}.site-header .header-consult{padding-inline:var(--space-sm)}}
@media(max-width:900px){.header-phone{display:none}.home-main .brand-position h1{font-size:32px}.business-contact{font-size:var(--type-reading)}.footer-service-links{gap:var(--space-2xs) var(--space-md)}}
@media(max-width:900px){.figma-footer .business-contact a,.footer-service-links a,.footer-mobile-nav a,.figma-footer .footer-bottom a{min-height:44px}}

.article-body .article-inline{margin:36px 0 42px}.article-inline img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain}.article-inline figcaption{margin-top:10px;color:var(--ink-muted,#6b7368);font-size:13px;line-height:1.8}

.article-table-scroll{max-width:100%;overflow-x:auto;margin:28px 0 36px}.article-table-scroll table{width:100%;min-width:340px;border-collapse:collapse;font-size:14px;line-height:1.75}.article-table-scroll th,.article-table-scroll td{padding:12px 10px;border-bottom:1px solid #dce1d3;text-align:right}.article-table-scroll th:first-child,.article-table-scroll td:first-child{text-align:left}.article-table-scroll th,.article-table-scroll tbody tr:last-child{background:#e6ecdf;color:#355743}
