/* Guanzhao case study: light surfaces and orange-red accents. */
@font-face{font-family:"Guanzhao Specimen Rounded";src:local("JiangChengYuanTi-500W"),local("江城圆体 500W");font-weight:500;font-display:swap}
@font-face{font-family:"Guanzhao Specimen PingFang";src:local("PingFang SC Regular"),local("PingFangSC-Regular");font-weight:400;font-display:swap}
@font-face{font-family:"Guanzhao Color Codes";src:url("../assets/fonts/PixelifySans.ttf") format("truetype");font-weight:400 700;font-display:swap}
body.is-guanzhao{background:#fdfbf7;color:#1c2529;--acid:#c24724}
body.is-guanzhao #detail-view{background:#fdfbf7;color:#1c2529}
body.is-guanzhao #progress{background:#e76033}
body.is-guanzhao #image-viewer .viewer-bar{background:#fdfbf7;color:#1c2529}
body.is-guanzhao #image-viewer .viewer-bar button{color:#a9391c;border-color:#c8b6a9}
body.is-guanzhao .viewer-scroll{background:#f0ece5}
html:has(body.is-guanzhao){scrollbar-color:#b57d65 #fdfbf7}
html:has(body.is-guanzhao)::-webkit-scrollbar-track{background:#fdfbf7}
html:has(body.is-guanzhao)::-webkit-scrollbar-thumb{background:#b57d65;border-color:#fdfbf7}
.gz{--gz-paper:#fdfbf7;--gz-surface:#f4f1eb;--gz-ink:#1c2529;--gz-muted:#626866;--gz-line:#d8d8cf;--gz-accent:#c24724;--gz-action:#e76033;--gz-soft:#fff0e6;--portfolio-body:"Portfolio Numerals","Segoe UI","Microsoft YaHei","PingFang SC",Arial,sans-serif;background:var(--gz-paper);color:var(--gz-ink);font-family:var(--portfolio-body);font-size:16px;line-height:1.75;overflow:clip}
.gz *{box-sizing:border-box}.gz h1,.gz h2,.gz h3,.gz h4,.gz p,.gz figure,.gz dl{margin:0}.gz h1,.gz h2,.gz h3{letter-spacing:-.035em;text-wrap:balance}.gz #gz-title:focus{outline:none}.gz button,.gz a{touch-action:manipulation}.gz ::selection{background:#ffd5c1;color:#1c2529}.gz :is(button,a,summary):focus-visible{outline:2px solid var(--gz-accent);outline-offset:5px}.gz svg:not(.ia-desktop):not(.picker-arc):not(.flow-v10-connectors){fill:none;stroke:currentColor}.gz :is(.gz-header,.gz-button,.gz-standalone,.gz-footer,.gz-demo-launch) svg{width:22px;height:22px;stroke-width:1.5;flex-shrink:0}
.gz-container{width:min(1200px,calc(100% - 96px));margin-inline:auto}
/* Shared case header, cover hierarchy and introduction proportions match SiteLens. */
.gz-header{height:72px;min-height:72px;padding:0 32px;display:flex;align-items:center;gap:22px;background:var(--gz-paper);color:var(--gz-ink)}.gz-brand{display:flex;align-items:center;gap:14px;font-size:18px;color:var(--gz-accent)}.gz-brand i{width:24px;height:24px;background:var(--gz-action);clip-path:polygon(0 0,65% 0,65% 35%,100% 35%,100% 70%,65% 70%,65% 100%,35% 100%,35% 70%,0 70%)}.gz-header>b{font-size:22px;letter-spacing:-.03em;font-weight:650}.gz-header>b>span{display:none}.gz-header-actions{display:flex;align-items:center;gap:32px;margin-left:auto}.gz-header .gz-back{border:0;background:none;color:var(--gz-ink);display:flex;align-items:center;gap:10px;font-size:13px;padding:10px 0;min-height:44px}.gz-back svg{transform:rotate(180deg)}
.gz-cover{position:relative;display:flex;align-items:center;min-height:calc(100svh - 72px);max-height:1020px;isolation:isolate;overflow:hidden;background:var(--gz-paper)}.gz-cover-copy{width:min(44%,625px);flex:0 0 44%;padding:45px 20px 44px clamp(36px,6.5vw,130px);position:relative;z-index:2}.gz-project-line{font-size:12px;font-weight:650;letter-spacing:.13em;color:#68635e;margin-bottom:52px}.gz-project-line>span{padding:0 10px;color:var(--gz-accent)}.gz-cover h1{font:650 clamp(43px,4.4vw,75px)/1.22 var(--portfolio-body);letter-spacing:-.035em;margin:0 0 42px}.gz-cover h1>span{color:var(--gz-accent)}.gz-cover-description{max-width:470px;font-size:clamp(16px,1.36vw,21px);line-height:1.82;color:#5e625e}.gz-cover-role{margin-top:58px;font-size:10px;letter-spacing:.1em;color:#6f7068;line-height:1.8}.gz-cover-code{position:absolute;inset:0 0 auto;height:220px;display:flex;align-items:flex-start;gap:12px;overflow:hidden;pointer-events:none;user-select:none;font:500 12px/16px var(--mono);text-align:center;color:#ce6842;opacity:.3;z-index:0}.gz-cover-code .cover-code-column{display:block;flex:0 0 8px;white-space:pre;mask-image:linear-gradient(#000,#000b 55%,transparent)}
.gz-cover-media{position:absolute;left:52%;top:50%;width:min(560px,44vw);height:610px;transform:translateY(-50%)}.gz-hero-front,.gz-hero-back{position:absolute;width:260px;left:0;top:20px;transform:rotate(-3deg);z-index:2}.gz-hero-back{width:238px;left:48%;top:100px;transform:rotate(7deg);z-index:1}.gz-hero-front .gz-screen,.gz-hero-back .gz-screen{border:6px solid #343b3b;border-radius:34px;box-shadow:12px 26px 46px #5b3a2526}
.gz-screen{padding:0;border:0;background:transparent;display:block;width:100%;cursor:zoom-in;overflow:hidden;line-height:0;border-radius:20px}.gz-screen img{display:block;width:100%;height:auto}.gz-screen:hover img{filter:brightness(1.02)}
.gz-nav{position:sticky;top:0;z-index:20;background:#fdfbf7f5;border-block:1px solid var(--gz-line)}.gz-nav>.gz-container{display:flex;justify-content:space-between}.gz-nav button{border:0;border-bottom:2px solid transparent;background:none;color:var(--gz-muted);min-height:65px;padding:0 26px;display:flex;align-items:center;gap:14px;font-size:14px}.gz-nav button>span{color:var(--gz-accent);font-size:13px}.gz-nav button[aria-current="true"]{color:var(--gz-accent);border-bottom-color:var(--gz-action)}.gz-nav button:hover{color:var(--gz-ink)}.gz section[id]{scroll-margin-top:90px}
.gz-about{padding:84px 0;border-bottom:1px solid var(--gz-line)}.gz-about-grid{display:grid;grid-template-columns:48% 52%;align-items:center}.gz-about-left{padding-right:35px}.gz-about-left h2{font:650 clamp(65px,7.1vw,100px)/.99 var(--portfolio-body);letter-spacing:-.04em}.gz-about-left h2>span{color:var(--gz-accent)}.gz-about-meta{display:grid;grid-template-columns:1fr 1fr;gap:25px 28px;padding:0 0 30px!important;border-bottom:1px solid var(--gz-line)}.gz-about-meta dt{font-size:12px;color:var(--gz-muted);margin-bottom:7px}.gz-about-meta dd{margin:0;font-size:14px;line-height:1.7;font-weight:550}.gz-about-statement{padding-top:33px}.gz-about-statement p{font-size:15px;color:var(--gz-muted);max-width:40ch}
.gz-v28{--paper:#fdfbf7;--cloud:#f4f1eb;--cream:#fff0e6;--ink:#1c2529;--ink2:#535b58;--muted:#686c66;--line:#d8d8cf;--orange:#e76033;--amber:#ffc9af;--peach:#fbe4d5;--rose:#f3c9ba;--lilac:#eee7e1;--mint:#cce0d1;--blue:#b8d1d6;--body:var(--portfolio-body);--display:var(--portfolio-body);font-family:var(--portfolio-body);background:var(--paper);color:var(--ink)}
.gz-v28 :is(h1,h2,h3,h4,h5){letter-spacing:-.035em}.gz-v28 :is(.section-kicker,.strategy-topline,.strategy-eyebrow,.strategy-link-note){color:var(--gz-accent)}
.gz-v28 #discovery{background:var(--gz-paper)}.gz-v28 #discovery .strategy-insight::before{background:#fbe2d2}.gz-v28 #discovery .strategy-insight h3{color:var(--gz-ink);letter-spacing:-.035em}.gz-v28 #discovery .strategy-insight h3 em,.gz-v28 #discovery .strategy-stat b{color:var(--gz-accent)}.gz-v28 #discovery .strategy-stat small{color:#69675e}.gz-v28 #discovery .strategy-intro,.gz-v28 #discovery .strategy-insight p{color:#5b5c54}.gz-v28 #discovery .strategy-theme-source{color:#656159}.gz-v28 #discovery .strategy-goals{background:#fff0e6;color:var(--gz-ink);border-radius:0;box-shadow:none;border-block:1px solid #eac4af}.gz-v28 #discovery .strategy-goal{border-color:#dfb9a5}.gz-v28 #discovery .strategy-goal-intro small,.gz-v28 #discovery .strategy-goal>span,.gz-v28 #discovery .strategy-goal em{color:var(--gz-accent)}.gz-v28 #discovery .strategy-goal p,.gz-v28 #discovery .strategy-note,.gz-v28 #discovery .strategy-count{color:#68645a}.gz-v28 #discovery .strategy-theme-result i{background:var(--gz-action)}
.gz-v28 .arch-section .ia-tree-surface{background-color:#f4f1eb;background-image:none;border-color:#ddd4c8;border-radius:0;box-shadow:none}.gz-v28 .ia-node rect{fill:#fffdf9;stroke:#c9bcaf;rx:8px}.gz-v28 .ia-node text{fill:#28312f}.gz-v28 .ia-flow .ia-node-sub{fill:#646860}.gz-v28 .ia-root rect{fill:#e76033;stroke:#ba4423}.gz-v28 .ia-root text{fill:#fffdf9}.gz-v28 .ia-emphasis:not(.ia-root) rect{fill:#ffe6d6;stroke:#bc6344}.gz-v28 .ia-wire{stroke:#a08c7d}.gz-v28 .ia-points{fill:#e76033}.gz-v28 .ia-label{fill:#a33f22}.gz-v28 .ia-m-root{background:#e76033;color:#fffdf9;border-color:#c24724}.gz-v28 :is(.ia-m-module,.ia-m-step){background:#fffdf9;color:#28312f;border-color:#c9bcaf}.gz-v28 :is(.ia-m-module,.ia-m-step).selected{background:#ffe6d6;color:#a9391c;border-color:#c24724}.gz-v28 :is(.ia-m-pills span,.ia-m-module small,.ia-m-step small){color:#5b655d}.gz-v28 .ia-m-flow-title{color:#a33f22}
.gz-v28 .visual-section-v6{background:#f4f1eb}.gz-v28 :is(.token-board,.type-board,.illustration-board){border-radius:0;box-shadow:none;border-color:#d9d6ce}.gz-v28 .token-card{border-radius:0}.gz-v28 .token-card.orange{background:#e76033;color:#fffdf9}.gz-v28 .token-card.base{background:#fdfbf7}.gz-v28 .token-card.surface{background:#fce9dd}.gz-v28 .token-card.ink{background:#4e2d1f;color:#fffdf9}.gz-v28 :is(.token-card.orange,.token-card.ink) :is(strong,small,.token-meta){color:#fffdf9}.gz-v28 :is(.token-card.base,.token-card.surface) :is(strong,small,.token-meta){color:#3f3b35}.gz-v28 .gz-product-illustration{display:block;width:70%;height:100%;object-fit:contain;margin-inline:auto}.gz-v28 .illustration-stage{background:#fff7ee}.gz-v28 .type-sample-cn{font-family:"Guanzhao Rounded","Microsoft YaHei",sans-serif}.gz-v28 :is(.type-sample-meta,.type-sample-en,.type-row div,.illustration-board p,.type-header>span,.token-header>span,.illustration-header>span){color:#65675f}
.gz-v28 #interfaces{background:#fdfbf7}.gz-v28 #interfaces .flow-board{background:#f6ece4;border-radius:0}.gz-v28 #interfaces .flow-board::before{filter:sepia(.5);opacity:.25}.gz-v28 #interfaces .phone.gz-actual-phone{padding:0;border:6px solid #3c403d;border-radius:36px;overflow:hidden;background:#fdfbf7}.gz-v28 #interfaces .phone.gz-actual-phone::before,.gz-v28 #interfaces .phone.gz-actual-phone::after{display:none}.gz-v28 #interfaces .gz-actual-phone .gz-screen{height:100%;border-radius:24px}.gz-v28 #interfaces .gz-actual-phone img{width:100%;height:100%;object-fit:fill}.gz-v28 #interfaces .flow-callout{border-radius:8px!important;background:#fff8f1!important;border-color:#d4a78c!important;color:#343b35!important;box-shadow:0 10px 22px #59351b12!important}.gz-v28 #interfaces .flow-callout strong{font-size:14px;letter-spacing:-.02em}.gz-v28 #interfaces .flow-callout-overline{color:#a64325}.gz-v28 #interfaces .flow-callout p{color:#64645a}.gz-v28 #interfaces .flow-callout-no{color:#d8673c;letter-spacing:-.03em}.gz-v28 #interfaces .flow-v17-line{stroke:#b68a72}.gz-v28 #interfaces .flow-v17-junction{fill:#e76033;stroke:#fff4eb}.gz-v28 #interfaces .flow-kicker{color:#aa4929}.gz-v28 #interfaces .flow-note{color:#66695d}.gz-v28 #interfaces .flow-end-card{border-radius:12px;background:#fffaf5;border-color:#dfc7b6}.gz-v28 #interfaces .flow-end-actions .primary{background:#c24724;color:#fff}.gz-v28 #interfaces .flow-end-actions span{color:#9c3d20}.gz-v28 #interfaces .flow-v10-replay{color:#a9391c;border-color:#caa28b;background:#fffaf5;font-size:12px;min-height:44px}
.gz-outcome{padding:90px 0;background:#fff7ef}.gz-outcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.gz-demo-copy h2{font-size:clamp(46px,5vw,72px);line-height:1.22;font-weight:650}.gz-demo-copy h2>span{color:var(--gz-accent)}.gz-demo-copy>.gz-button{margin-top:26px}.gz-button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:15px 24px;border:1px solid #a83e20;background:#c24724;color:#fffdf9;min-height:54px;font-size:15px;font-weight:600;transition:transform .2s,background .2s}.gz-button:hover{background:#aa3c1f;transform:translateY(-2px)}.gz-standalone{display:flex;gap:14px;align-items:center;min-height:44px;font-size:13px;color:var(--gz-accent);margin-top:15px;width:fit-content}.gz-live-device{position:relative;max-width:350px;width:100%;justify-self:center;border-radius:30px;overflow:hidden;background:#fdfbf7;line-height:0;box-shadow:0 20px 45px #59351b14}.gz-demo-poster{position:relative}.gz-demo-poster>img{width:100%;height:auto;display:block}.gz-demo-launch{position:absolute;bottom:12%;left:8%;width:84%;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px;border:0;background:#c24724;color:#fffdf9;font-size:14px;line-height:1.5}.gz-live-device iframe{display:block;border:0;width:100%;height:780px;background:#fdfbf7}.gz-live-device [hidden]{display:none}.gz-load-status{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#4e2d1f;font-size:11px;line-height:1.8;pointer-events:none}.gz-footer{display:flex;align-items:center;justify-content:space-between;padding-block:35px 45px;border-top:1px solid var(--gz-line);gap:30px}.gz-footer>a{display:flex;gap:18px;align-items:center;min-height:44px;font-size:14px}.gz-footer>a:hover{color:var(--gz-accent)}
@media(min-width:761px) and (max-width:1100px){.gz-cover-copy{width:47%;flex-basis:47%;padding-left:5vw}.gz-cover-media{left:51%;width:48vw;height:540px}.gz-hero-front{width:220px;top:30px}.gz-hero-back{width:200px;left:47%;top:110px}.gz-nav button{padding-inline:18px}.gz-about-left h2{font-size:clamp(58px,7vw,78px)}.gz-outcome-grid{gap:7%}}
@media(max-width:760px){.gz-container{width:calc(100% - 40px)}.gz-header{padding:0 24px;gap:14px}.gz-header>b{font-size:18px}.gz-brand{font-size:16px;gap:10px}.gz-brand i{width:19px;height:19px}.gz-header-actions{gap:18px}.gz-header .gz-back{font-size:11px}.gz-back svg{width:18px;height:18px}.gz-cover{display:block;min-height:805px;max-height:none}.gz-cover-copy{width:100%;padding:74px 28px 0}.gz-project-line{font-size:10px;margin-bottom:25px}.gz-cover h1{font-size:clamp(42px,11vw,65px);margin-bottom:17px;line-height:1.22}.gz-cover-description{font-size:14px;line-height:1.82;max-width:385px}.gz-cover-role{font-size:8px;letter-spacing:.08em;margin-top:27px}.gz-cover-code{height:160px;font-size:10px;line-height:12px;gap:8px;opacity:.25}.gz-cover-code .cover-code-column{flex-basis:6px}.gz-cover-media{left:8%;top:430px;width:84%;height:390px;transform:none}.gz-hero-front{width:170px;top:0}.gz-hero-back{width:155px;left:45%;top:40px}.gz-hero-front .gz-screen,.gz-hero-back .gz-screen{border-width:4px;border-radius:24px}.gz-nav>.gz-container{width:100%;padding-inline:10px}.gz-nav button{padding-inline:8px;gap:5px;font-size:12px;min-height:56px}.gz-nav button>span{font-size:11px}.gz-about{padding-block:58px}.gz-about-grid{grid-template-columns:1fr;gap:35px}.gz-about-left{padding:0}.gz-about-left h2{font-size:70px}.gz-about-meta{gap:24px 18px;padding-bottom:24px!important}.gz-about-meta dd{font-size:13px}.gz-about-statement{padding-top:27px}.gz-about-statement p{font-size:14px}.gz-v28 .strategy-topline{font-size:11px}.gz-v28 #discovery .strategy-goals{border-radius:0}.gz-v28 #discovery .strategy-goal{border-color:#dfb9a5}.gz-v28 .token-card small,.gz-v28 .token-meta{font-size:11px}.gz-v28 #interfaces .phone.gz-actual-phone{border-radius:34px}.gz-outcome{padding-block:64px}.gz-outcome-grid{grid-template-columns:1fr;gap:35px}.gz-demo-copy h2{font-size:46px}.gz-demo-copy>.gz-button{margin-top:20px}.gz-live-device{max-width:350px}.gz-live-device iframe{height:min(780px,calc((100vw - 40px)*2.22))}.gz-footer{padding-block:24px 35px}.gz-footer>a{font-size:13px;gap:8px}.gz-footer svg{width:18px}}
@media(prefers-reduced-motion:reduce){.gz *,.gz *::before,.gz *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.gz-button:hover{transform:none}}
/* Contrast on the light case-study surface. */
.gz-v28 #discovery .strategy-goal h4{color:#1c2529}
.gz-v28 #discovery .strategy-goal h4 em{color:#c24724}
.gz-v28 .arch-section{background:#fffdf9;color:#1c2529}
.gz-v28 .arch-heading h2{color:#1c2529}
.gz-v28 .arch-heading p,.gz-v28 .arch-caption{color:#62675f}
.gz-v28 .arch-heading .section-kicker{color:#a9391c}
.gz-v28 .ia-m-pills span{background:#fff7ef;color:#5b5147;border-color:#d2b8a6}
.gz-v28 .ia-m-final{border-color:#d2b8a6}
.gz-v28 .token-card.orange :is(strong,small,.token-meta){color:#281b14}
.gz-nav>.gz-container{overflow-x:auto;scrollbar-width:none;justify-content:flex-start}
.gz-nav>.gz-container::-webkit-scrollbar{display:none}
.gz-nav button{flex:1 0 auto;padding-inline:18px}
.gz-v28 :is(.g28-position-section,.g26-mechanism,.showcase,.delivery-section){color:var(--gz-ink)}
.gz-v28 .g28-position-section{background:#f4f1eb}
.gz-v28 :is(.g28-position-left h2,.g26-mech-heading h2,.showcase-intro h2,.delivery-left h2){color:#1c2529;letter-spacing:-.035em}
.gz-v28 :is(.g28-section-kicker,.g28-column-heading h3,.showcase-crumb,.ia24-chapter,.g26-panel-top,.show-eyebrow){color:#a9391c}
.gz-v28 :is(.g28-position-description,.g28-principle p,.g28-aim-box>span,.g28-column-heading>span,.g26-panel-desc,.g26-mech-heading>p,.g26-mech-foot,.g26-mechanism-note,.delivery-left p,.delivery-right small,.showcase-intro>p){color:#626866}
.gz-v28 :is(.g28-principle,.g28-aim-box){border-radius:0;background:#fffdf9;border-color:#d8d8cf;box-shadow:none}
.gz-v28 .g28-principle h4{color:#1c2529;letter-spacing:-.025em}
.gz-v28 .g28-exclusion-list span{color:#6a625b;border-color:#cbbbae;text-decoration-color:#91705f}
.gz-v28 .ia24{background:#fffdf9}
.gz-v28 .ia24-board{background:#f4f1eb;color:#1c2529;border-color:#d8d8cf;border-radius:0;box-shadow:none}
.gz-v28 .ia24-header p,.gz-v28 .ia24-board-head,.gz-v28 .ia24-board-head span:last-child,.gz-v28 .ia24-colname,.gz-v28 .ia24-bottom{color:#626866;border-color:#d8d8cf}
.gz-v28 .ia24-canvas{background-image:none}
.gz-v28 .ia24-node{background:#fffdf9;color:#1c2529;border-color:#aa9c90;border-radius:6px;box-shadow:none}
.gz-v28 .ia24-node.root{background:#c24724;color:#fffdf9;border-color:#c24724}
.gz-v28 .ia24-node.module{background:#ffe6d6;color:#9b391e;border-color:#c67f5c}
.gz-v28 .ia24-node.group,.gz-v28 .ia24-node.leaf{color:#39403c;background:#fffdf9;border-color:#b2a797}
.gz-v28 .ia24-node-end,.gz-v28 .ia24-node:not(.root)::before{background:#b97a59;box-shadow:0 0 0 2px #f4f1eb}
.gz-v28 .ia24-node.root .ia24-node-end{background:#c24724;box-shadow:0 0 0 2px #f4f1eb}
.gz-v28 .ia24-bottom i{background:#c24724}
.gz-v28 .ia24-m-root>span{background:#c24724;color:#fffdf9;border-radius:6px}
.gz-v28 :is(.ia24-m-module-name,.ia24-m-group-name,.ia24-m-leaf){background:#fffdf9;color:#39403c;border-color:#b2a797;border-radius:6px}
.gz-v28 .ia24-m-module-name{background:#ffe6d6;color:#9b391e;border-color:#c67f5c}
.gz-v28 .ia24-hint{color:#626866}
.gz-v28 .showcase{background:#fdfbf7}
.gz-v28 .showcase-panel{border-radius:0}
.gz-v28 .show-one{background:#fff0e6}
.gz-v28 .show-two{background:#f4f1eb}
.gz-v28 .show-three{background:#fff6ef;color:#1c2529}
.gz-v28 :is(.show-copy h3,.show-three .show-copy h3){color:#1c2529;letter-spacing:-.035em}
.gz-v28 :is(.show-copy h3 em,.show-two .show-copy h3 em,.show-three .show-copy h3 em,.show-two .show-eyebrow,.show-three .show-eyebrow){color:#c24724}
.gz-v28 :is(.show-copy>p,.show-three .show-copy>p){color:#626866}
.gz-v28 .show-three .show-numeral{color:#d87e5120}
.gz-v28 .end-media{background:#f4e9de}
.gz-v28 .end-halo{border-color:#c5ad9559}
.gz-v28 .end-selection span{background:#fffdf9;color:#983c22;border-color:#caa993}
.gz-v28 .end-selection span.selected{background:#ffe3d2;color:#74341f}
.gz-v28 .end-selection small{color:#62635b;opacity:1}
.gz-v28 :is(.end-loop-note,.show-small,.method-variations small,.method-example small,.show-label,.end-check-graphic>small){color:#62635b}
.gz-v28 .end-check-graphic{box-shadow:8px 18px 34px #59351b20}
.gz-v28 .end-check-graphic>div span:first-child{background:#c24724;color:#fffdf9}
.gz-v28 .show-keylines span{color:#91442b;border-color:#d5b9a4;background:#fffdf9}
.gz-v28 #highlights .phone.gz-actual-phone{padding:0;border:6px solid #3c403d;border-radius:36px;overflow:hidden;background:#fdfbf7}
.gz-v28 #highlights .phone.gz-actual-phone::before,.gz-v28 #highlights .phone.gz-actual-phone::after{display:none}
.gz-v28 #highlights .gz-actual-phone .gz-screen{height:100%;border-radius:24px}
.gz-v28 #highlights .gz-actual-phone img{width:100%;height:100%;object-fit:fill}
.gz-v28 .g26-mechanism{background:#fdfbf7}
.gz-v28 .g26-mech-panel{border-radius:0;box-shadow:none;border-color:#d8d8cf;background:#f4f1eb}
.gz-v28 .g26-session{background:#fff0e6}
.gz-v28 :is(.g26-filter-box,.g26-session-demo){border-radius:12px;background:#fffdf9;border-color:#ded3c6}
.gz-v28 :is(.g26-context-btn,.g26-session-btn){border-radius:8px;min-height:44px;color:#983c22;border-color:#d5b9a4;background:#fffdf9}
.gz-v28 .g26-context-btn.is-active,.gz-v28 .g26-session-primary{color:#fffdf9;background:#c24724;border-color:#c24724}
.gz-v28 .g26-context-btn:hover,.gz-v28 .g26-session-btn:hover{background:#ffe3d2;color:#7d2c16}
.gz-v28 .g26-result{background:#ffe3d2;color:#1c2529;border-radius:12px}
.gz-v28 :is(.g26-result small,.g26-result span,.g26-filter-head,.g26-rule-bits span,.g26-session-outcome small,.g26-session-outcome span,.g26-restart){color:#62635b}
.gz-v28 .g26-session-outcome strong{color:#39403c}
.gz-v28 .g26-rule-progress,.gz-v28 .g26-rule-dot,.gz-v28 .g26-stage-meter i.is-done{background:#c24724}
.gz-v28 .g26-restart{min-height:44px}
.gz-v28 .g26-rule-bits span{background:#fff2e8}
.gz-v28 .g26-plane-symbol{background:#ffe5d4}
.gz-v28 .delivery-section{background:#f4f1eb}
.gz-v28 .delivery-cta{background:#c24724;color:#fffdf9;border:1px solid #a9391c;border-radius:0;min-height:48px;align-items:center}
.gz-v28 .delivery-cta:hover{background:#a9391c}
.gz-v28 .delivery-right span{color:#c24724}
.gz-v28 .gz-recommend-section{padding:88px 0 96px;background:var(--gz-paper);scroll-margin-top:90px}
.gz-v28 .gz-recommend-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:36px}
.gz-v28 .gz-recommend-heading h2{font-size:clamp(42px,4.8vw,68px);line-height:1.2;font-weight:750;letter-spacing:-.035em;margin-top:19px;color:var(--gz-ink)}
.gz-v28 .gz-recommend-heading>p{font-size:14px;line-height:1.9;color:var(--gz-muted);max-width:360px;padding-bottom:6px}
.gz-v28 .gz-recommend-board{display:grid;grid-template-columns:minmax(0,1.05fr) 28px minmax(0,1.12fr) 28px minmax(0,.93fr);align-items:center;gap:20px;background:#fffdf9;border:1px solid var(--gz-line);padding:32px}
.gz-v28 .gz-recommend-inputs{list-style:none;display:grid;gap:12px;padding:0;margin:0}
.gz-v28 .gz-recommend-inputs li{display:flex;justify-content:center;align-items:center;min-height:54px;padding:12px 16px;background:var(--gz-surface);color:#535b58;font-size:14px;text-align:center}
.gz-v28 .gz-rank-step{min-height:142px;padding:22px 12px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}
.gz-v28 .gz-recommend-adapt{background:#fce3d5;color:#9b3d22}
.gz-v28 .gz-recommend-result{background:#fff0e6;color:#9b3d22}
.gz-v28 .gz-rank-step>svg{width:30px;height:30px;margin-bottom:12px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gz-v28 .gz-rank-step h3{font-size:21px;line-height:1.4;font-weight:700;letter-spacing:-.025em;color:inherit}
.gz-v28 .gz-rank-step p{font-size:12px;line-height:1.7;color:#7c5745;margin-top:6px}
.gz-v28 .gz-rank-arrow{color:#b2785d;display:flex;justify-content:center}
.gz-v28 .gz-rank-arrow svg{width:28px;height:24px;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gz-v28 .gz-recommend-board.is-ready .gz-rank-arrow path{animation:gz-recommend-connect .6s ease-out both}
.gz-v28 .gz-recommend-board.is-ready .gz-rank-arrow:nth-child(4) path{animation-delay:.2s}
@keyframes gz-recommend-connect{from{stroke-dasharray:48;stroke-dashoffset:48}to{stroke-dasharray:48;stroke-dashoffset:0}}
@media(max-width:900px){.gz-v28 .gz-recommend-board{gap:12px;padding:24px}.gz-v28 .gz-rank-step h3{font-size:18px}.gz-v28 .gz-recommend-inputs li{font-size:13px}}
@media(max-width:760px){.gz-v28 .gz-recommend-section{padding:66px 0}.gz-v28 .gz-recommend-heading{display:block;margin-bottom:28px}.gz-v28 .gz-recommend-heading h2{font-size:40px}.gz-v28 .gz-recommend-heading>p{margin-top:17px;font-size:13px}.gz-v28 .gz-recommend-board{grid-template-columns:minmax(0,1fr);padding:22px;gap:18px}.gz-v28 .gz-rank-arrow svg{transform:rotate(90deg)}.gz-v28 .gz-rank-step{min-height:132px}.gz-v28 .gz-rank-step h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.gz-v28 .gz-recommend-board.is-ready .gz-rank-arrow path{animation:none}}
.gz-v28 #discovery .strategy-stat:nth-child(n){transform:none}
.gz-v28 #discovery .strategy-affinity-grid{align-items:stretch}
.gz-v28 #discovery .strategy-theme:nth-child(n){transform:none}
.gz-v28 .token-card :is(small,.token-meta){font-family:"Guanzhao Color Codes",monospace}
.gz-v28 .type-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(12px,2vw,26px);align-content:start;min-width:0}
.gz-v28 .type-main>.type-header{grid-column:1/-1;margin-bottom:18px}
.gz-v28 .type-side .type-header{margin-bottom:18px}
.gz-v28 .gz-font-specimen{padding-top:16px;min-width:0;border-top:1px solid #d8d8cf}
.gz-v28 .gz-font-specimen>span{display:block;font:13px/1.5 var(--portfolio-body);color:#626866;margin-bottom:12px}
.gz-v28 .gz-font-specimen>div{font-size:clamp(52px,5.3vw,74px);line-height:1.15;letter-spacing:0}
.gz-v28 .gz-font-specimen>p{font-size:clamp(14px,1.5vw,22px);line-height:1.6;margin-top:10px;color:#39403c}
.gz-v28 .type-scale{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.gz-v28 .type-row{display:flex;flex-direction:column;gap:4px;padding:11px 0 12px;border-top:1px solid #d8d8cf}
@media(min-width:961px){.gz-v28 .type-board{grid-template-columns:1.12fr .88fr}}
@media(max-width:600px){
 .gz-v28 .gz-font-specimen>span{font-size:12px;min-height:3em}
 .gz-v28 .gz-font-specimen>div{font-size:clamp(40px,12vw,54px)}
 .gz-v28 .type-scale{column-gap:14px}
}
.gz-v28 .gz-rounded-specimen{font-family:"Guanzhao Specimen Rounded","江城圆体",var(--portfolio-body);font-weight:500}
.gz-v28 .gz-pingfang-specimen{font-family:"Guanzhao Specimen PingFang","PingFang SC",var(--portfolio-body);font-weight:400}
.gz-v28 .illustration-stage{background:transparent;border-radius:0}
.gz-v28 .illustration-stage::before,.gz-v28 .illustration-stage::after{content:none}
.gz-v28 .gz-product-illustration{width:100%;max-height:240px;object-fit:contain}
.gz-v28 .gz-method-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start;padding:0 6px}
.gz-v28 .gz-example-device{border:5px solid #3c403d;border-radius:26px;overflow:hidden;background:#fdfbf7;box-shadow:8px 18px 30px #59351b16}
.gz-v28 .gz-example-device .gz-screen{border-radius:20px}
.gz-v28 #highlight-task .show-copy{padding:clamp(40px,4.8vw,70px) clamp(28px,4vw,60px) clamp(40px,4.8vw,70px) clamp(24px,3vw,44px);min-width:0}
.gz-v28 #highlight-task .method-variations{width:min(100%,420px);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.gz-v28 #highlight-task .method-variations>div{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:70px;padding:12px 14px}
.gz-v28 #highlight-task .method-variations img{display:block;width:42px;height:42px;object-fit:contain}
.gz-v28 #highlight-task .method-variations b{font-size:13px;line-height:1.5;letter-spacing:0;white-space:normal}
@media(max-width:600px){
 .gz-v28 #highlight-task .show-copy{padding:32px 22px 22px}
 .gz-v28 #highlight-task .method-variations{gap:10px;margin-top:20px}
 .gz-v28 #highlight-task .method-variations>div{grid-template-columns:32px minmax(0,1fr);gap:8px;padding:10px;min-height:58px}
 .gz-v28 #highlight-task .method-variations img{width:32px;height:34px}
 .gz-v28 #highlight-task .method-variations b{font-size:12px}
}
.gz-v28 .end-check-phone{left:3%;top:62px;transform:scale(.72) rotate(-6deg)}
.gz-v28 .show-three .end-phone{right:4%;top:150px;transform:scale(.72) rotate(6deg)}
.gz-v28 #interfaces .flow-device.gz-full-end{transform:none}

/* The first three rows share one leading edge; the last pair stays right. */
.gz-v28 #interfaces .gz-flow-board{
  --flow-screen:clamp(180px,17.5vw,238px);
  --flow-gap:clamp(18px,3vw,40px);
  --flow-pair-gap:clamp(30px,5vw,68px);
  --flow-inset:clamp(24px,4vw,54px);
  --flow-leading:max(0px,calc(100% / 4 - var(--flow-inset) / 2 - var(--flow-screen) / 2));
  position:relative;display:grid;gap:clamp(44px,5vw,72px);padding:var(--flow-inset);
  background:#f6ece4;overflow:hidden;isolation:isolate;
}
.gz-v28 #interfaces .gz-flow-row{display:grid;align-items:start;gap:var(--flow-gap);min-width:0}
.gz-v28 #interfaces :is(.gz-flow-row--single,.gz-flow-row--left){padding-inline-start:var(--flow-leading)}
.gz-v28 #interfaces .gz-flow-row--single{grid-template-columns:var(--flow-screen) minmax(0,1fr)}
.gz-v28 #interfaces .gz-flow-row--left{grid-template-columns:var(--flow-screen) var(--flow-screen) minmax(0,1fr)}
.gz-v28 #interfaces .gz-flow-row--right{grid-template-columns:minmax(0,1fr) var(--flow-screen) var(--flow-screen)}
.gz-v28 #interfaces :is(.gz-flow-row--left,.gz-flow-row--right){column-gap:var(--flow-pair-gap)}
.gz-v28 #interfaces .gz-flow-row--right>.gz-flow-card:nth-child(1){grid-column:2}
.gz-v28 #interfaces .gz-flow-row--right>.gz-flow-card:nth-child(2){grid-column:3}
.gz-v28 #interfaces .gz-flow-card,.gz-v28 #interfaces .gz-flow-note{grid-row:1;min-width:0}
.gz-v28 #interfaces .gz-flow-card{position:relative;z-index:2}
.gz-v28 #interfaces .gz-flow-frame{border:6px solid #3c403d;border-radius:36px;overflow:hidden;background:#fdfbf7;box-shadow:0 12px 26px #50362316}
.gz-v28 #interfaces .gz-flow-card:has(.gz-screen:focus-visible){outline:2px solid var(--gz-accent);outline-offset:4px}
.gz-v28 #interfaces .gz-flow-frame .gz-screen{border:0;border-radius:24px;box-shadow:none}
.gz-v28 #interfaces .gz-flow-frame .gz-screen img{width:100%;height:auto}
.gz-v28 #interfaces .gz-flow-note{
  position:relative;z-index:2;align-self:center;width:min(100%,224px);
  padding:17px 18px;border:1px solid #d4a78c;border-radius:8px;background:#fff8f1;color:#343b35;box-shadow:0 10px 22px #59351b12;
}
.gz-v28 #interfaces .gz-flow-note strong{display:block;position:relative;font-size:14px;line-height:1.4;letter-spacing:-.02em}
.gz-v28 #interfaces .gz-flow-note p{position:relative;margin-top:7px;color:#64645a;font-size:13px;line-height:1.7}
.gz-v28 #interfaces .gz-flow-row--single>.gz-flow-note{grid-column:2}
.gz-v28 #interfaces .gz-flow-row--left>.gz-flow-note{grid-column:3}
.gz-v28 #interfaces .gz-flow-row--right>.gz-flow-note{grid-column:1;justify-self:end}
.gz-v28 #interfaces .gz-flow-track{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.gz-v28 #interfaces .gz-flow-track .gz-flow-line{fill:none;stroke:#a5795c;stroke-width:2;stroke-dasharray:4 6;stroke-linecap:butt}
.gz-v28 #interfaces .gz-flow-track marker path{fill:#a5795c;stroke:none}
.gz-v28 #interfaces .gz-flow-plane{position:absolute;top:20px;right:12px;width:68px;z-index:3;opacity:0;pointer-events:none}
.gz-v28 #interfaces .gz-flow-plane svg{display:block;width:100%;height:auto}
.gz-v28 #interfaces .gz-flow-card.is-plane-playing .gz-flow-plane{animation:gzv28-flow-v10-fly 2.05s cubic-bezier(.25,.65,.39,1) both}
.gz-v28 #interfaces .gz-flow-replay{display:block;margin:9px 0 0 auto;min-height:44px;padding:6px 10px;border:1px solid #cba991;border-radius:20px;background:#fff8f1;color:#8c3e22;font-size:12px;cursor:pointer}
@media(prefers-reduced-motion:reduce){.gz-v28 #interfaces .gz-flow-replay{display:none}}
@media(min-width:801px) and (max-width:960px){
 .gz-v28 #interfaces .gz-flow-row--left{grid-template-columns:repeat(2,var(--flow-screen))}
 .gz-v28 #interfaces .gz-flow-row--left>.gz-flow-note{grid-column:1/-1;grid-row:2}
}
@media(max-width:800px){
 .gz-v28 #interfaces .gz-flow-board{--flow-gap:14px;--flow-pair-gap:22px;--flow-inset:clamp(14px,4vw,24px);--flow-leading:max(0px,calc(100% / 4 - var(--flow-inset) / 2 - min(32%,112px)));padding:24px var(--flow-inset)}
 .gz-v28 #interfaces .gz-flow-row--single{grid-template-columns:minmax(0,1fr)}
 .gz-v28 #interfaces .gz-flow-row--single>.gz-flow-card{grid-column:1;justify-self:start;width:min(64%,224px)}
 .gz-v28 #interfaces :is(.gz-flow-row--left,.gz-flow-row--right){grid-template-columns:repeat(2,minmax(0,1fr))}
 .gz-v28 #interfaces .gz-flow-row--left{margin-inline-end:12px}
 .gz-v28 #interfaces .gz-flow-row--right{margin-inline-start:12px}
 .gz-v28 #interfaces .gz-flow-row--right>.gz-flow-card:nth-child(1){grid-column:1}
 .gz-v28 #interfaces .gz-flow-row--right>.gz-flow-card:nth-child(2){grid-column:2}
 .gz-v28 #interfaces :is(.gz-flow-row--single,.gz-flow-row--left,.gz-flow-row--right)>.gz-flow-note{grid-column:1/-1;grid-row:2;justify-self:stretch;width:auto}
 .gz-v28 #interfaces .gz-flow-frame{border-width:4px;border-radius:24px}
 .gz-v28 #interfaces .gz-flow-frame .gz-screen{border-radius:18px}
 .gz-v28 #interfaces .gz-flow-plane{width:44px}
}
@media(max-width:1000px){.gz-v28 .show-method-preview{max-width:640px;margin-inline:auto;width:100%}.gz-v28 .end-check-phone{left:14%;top:30px}.gz-v28 .show-three .end-phone{right:13%;top:100px}}
@media(max-width:600px){.gz-v28 .gz-method-pair{gap:14px;padding:0}.gz-v28 .gz-example-device{border-width:3px;border-radius:20px}.gz-v28 .gz-example-device .gz-screen{border-radius:15px}.gz-v28 .end-check-phone{left:8%;top:24px;transform:scale(.5) rotate(-6deg);transform-origin:top left}.gz-v28 .show-three .end-phone{right:6%;top:105px;transform:scale(.5) rotate(6deg);transform-origin:top right}}
@media(max-width:760px){.gz-nav button{flex:0 0 auto;padding-inline:14px;min-height:56px}.gz-v28 .ia24-m-module{grid-template-columns:70px minmax(0,1fr);column-gap:12px}.gz-v28 .ia24-m-module-name{font-size:12px}.gz-v28 .g26-context-btn{font-size:12px}.gz-v28 .g26-mech-heading h2{font-size:40px}.gz-v28 .g28-principle{padding:20px 16px}}

/* Compact project mark and title. */
.gz-header .gz-project-brand{gap:12px;min-height:44px;color:var(--gz-ink);white-space:nowrap}
.gz-project-brand img{display:block;flex:none;width:24px;height:24px}
.gz-project-brand strong{font:700 15px/1.4 "Guanzhao Specimen Rounded",var(--portfolio-body)}
.gz-project-brand small{margin-left:4px;font-size:10px;font-weight:500;color:var(--gz-muted)}
@media(max-width:760px){.gz-header .gz-project-brand{gap:10px}}
@media(max-width:620px){.gz-project-brand small{display:none}}
