.service-directory a{transition:background .2s,color .2s}.service-directory a:hover,.service-directory a[aria-current]{background:#edf4f3}.service-directory a b{transition:transform .2s}.service-directory a:hover b{transform:translateY(4px)}
.service-rail{position:fixed;top:var(--service-header,88px);left:0;right:0;z-index:40;display:flex;justify-content:center;background:rgba(250,253,252,.9);backdrop-filter:blur(18px);border-bottom:1px solid #cddddd;overflow-x:auto;padding:0 20px;gap:24px}.service-rail[hidden]{display:none}.service-rail a{flex-shrink:0;white-space:nowrap;padding:16px 0;color:#526e76;text-decoration:none;font-size:13px;border-bottom:2px solid transparent}.service-rail a span{margin-right:8px;font-size:11px}.service-rail a b{display:none}.service-rail a[aria-current]{border-bottom-color:#0d4d5e;color:#0d4d5e}.service-chapter{scroll-margin-top:calc(var(--service-header,88px) + 88px)}
.service-visual{margin:32px 0;display:grid;grid-template-columns:minmax(200px,340px) 1fr;align-items:center;gap:30px;background:linear-gradient(120deg,#f0f6f5,#fff);padding:24px}.service-visual svg{width:100%;fill:none;stroke:#426f7a;stroke-width:1.5;stroke-linejoin:round}.service-visual .sv-accent{stroke:#a3845f;stroke-width:2}.service-visual figcaption{font-size:14px;line-height:2;color:#315c65}.service-visual figcaption span{display:block;font-size:11px;letter-spacing:.18em;color:#927956;margin-bottom:10px}.motion-mode .service-visual.is-seen svg{animation:service-draw 1.5s ease both}.motion-suspended .service-visual svg{animation-play-state:paused!important}@keyframes service-draw{from{opacity:.2;stroke-dasharray:600;stroke-dashoffset:600}to{opacity:1;stroke-dasharray:600;stroke-dashoffset:0}}
.service-explorer{margin:32px 0}.service-explorer h3{font-size:16px;margin-bottom:18px}.service-choice{border-top:1px solid #d9e3e3}.service-choice:last-child{border-bottom:1px solid #d9e3e3}.service-choice summary{cursor:pointer;padding:16px 0;color:#0d4d5e;font-size:16px}.service-choice[open] summary{font-weight:600}.service-choice>div{padding:0 0 22px 18px;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px}.service-choice p{margin:0;font-size:14px;line-height:1.9}.service-choice strong{display:block;font-size:12px;font-weight:400;color:#7a888d;margin-bottom:6px}.service-choice a{grid-column:1/-1;justify-self:start}.service-rail a:focus-visible,.service-choice summary:focus-visible{outline:2px solid #0d4d5e;outline-offset:-3px}
@media(max-width:760px){.service-rail{justify-content:flex-start;gap:22px;padding:0 20px}.service-visual{grid-template-columns:1fr;gap:12px;padding:20px}.service-visual svg{max-width:290px;margin:auto}.service-visual figcaption{font-size:12px}.service-choice>div{grid-template-columns:1fr}.service-rail a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.service-visual svg,.service-directory a,.service-directory a b{animation:none!important;transition:none!important}}

/* 都更完整樣板：低彩度建築圖解與依序呈現的評估架構。 */
.renewal-visual{margin:38px 0 44px;padding:30px 0 18px;border-top:1px solid #cddcdb;border-bottom:1px solid #cddcdb}.rv-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.rv-heading p{font-size:10px;letter-spacing:.17em;color:#957d5b;margin:0 0 10px}.rv-heading h3{font-size:21px;font-weight:500;margin:0;color:#124e5d}.rv-replay{border:0;background:transparent;color:#42636b;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap;padding:12px 0}.rv-replay span{margin-left:8px;font-size:20px}.rv-replay:disabled{opacity:.45;cursor:default}.rv-replay:focus-visible{outline:2px solid #0d4d5e;outline-offset:4px}.rv-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:linear-gradient(180deg,#f4f8f7,transparent)}.rv-stage{padding:22px 16px 16px;min-width:0}.rv-stage+.rv-stage{border-left:1px solid #dbe5e3}.rv-step{font-size:13px;color:#335d66;display:flex;align-items:center;gap:12px}.rv-step>span{color:#9c8768;font-size:22px;font-weight:300}.rv-stage svg{width:100%;height:200px;stroke:#527984;stroke-width:.8;stroke-linejoin:round;fill:none;overflow:visible}.rv-stage .rv-road{stroke:#e0e8e6;stroke-width:12}.rv-stage .rv-parcel{fill:#e4eeea;stroke:#b3c6be}.rv-stage .rv-boundary{stroke:#a68a60;stroke-width:1.5;stroke-dasharray:4 3}.rv-stage .rv-window{stroke:#7fa4ad;stroke-width:.8}.rv-stage .rv-measure{stroke:#a68a60;stroke-dasharray:3 4}.rv-stage h4{font-size:14px;color:#164e5b;line-height:1.8;margin:10px 0}.rv-stage p{font-size:13px;line-height:1.9;color:#6d7e82;margin:0}.rv-tags{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:18px;font-size:11px;color:#8c795d}.rv-allocation{height:200px;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:13px;color:#245967}.rv-basis{align-self:center;padding:9px 14px;background:#e0ece8}.rv-branches{position:relative;display:grid;grid-template-columns:1fr 1fr;padding-top:28px;margin:0 6px}.rv-branches:before{content:'';position:absolute;top:14px;left:25%;right:25%;height:12px;border:1px solid #b3c8c6;border-bottom:0}.rv-branches:after{content:'';position:absolute;height:14px;top:0;left:50%;border-left:1px solid #b3c8c6}.rv-branches span{display:block;font-size:18px}.rv-branches small{font-size:10px;color:#72878a}.rv-result{border-top:1px solid #b9cdcc;margin:18px 14px 0;padding-top:12px;font-size:12px}.renewal-visual>figcaption{font-size:11px;color:#7a8b8f;margin-top:20px}.motion-mode .rv-playing .rv-stage{animation:rv-enter 1.5s both cubic-bezier(.2,.65,.3,1)}.motion-mode .rv-playing .rv-stage:nth-child(2){animation-delay:1.4s}.motion-mode .rv-playing .rv-stage:nth-child(3){animation-delay:2.8s}.motion-mode .rv-playing .rv-boundary{animation:rv-outline 2s both}.motion-suspended .renewal-visual *{animation-play-state:paused!important}@keyframes rv-enter{from{opacity:.16;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes rv-outline{from{stroke-dashoffset:80;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@media(max-width:1050px) and (min-width:761px){#renewal{grid-template-columns:150px minmax(0,1fr);gap:32px}.rv-stage{padding:18px 10px}.rv-stage h4{font-size:13px}}
@media(max-width:760px){.rv-heading{align-items:flex-start}.rv-heading h3{font-size:18px}.rv-heading p{font-size:9px}.rv-stages{grid-template-columns:1fr}.rv-stage{padding:24px 18px}.rv-stage+.rv-stage{border-left:0;border-top:1px solid #dbe5e3}.rv-stage svg{height:200px}.rv-allocation{max-width:280px;margin:auto}.rv-stage p br{display:none}.rv-replay{font-size:11px}.rv-replay span{display:block}.renewal-visual>figcaption{line-height:1.8}}
@media(prefers-reduced-motion:reduce){.renewal-visual *{animation:none!important;transition:none!important}}
.studio .renewal-visual .rv-replay{border:0;border-radius:0;background:transparent;box-shadow:none;padding:8px 0;min-height:0;color:#42636b;font-size:12px;line-height:1.5}
@media(max-width:760px){.rv-heading{display:block}.studio .renewal-visual .rv-replay{margin-top:12px}.rv-replay span{display:inline;margin-left:8px}}
.rv-purpose{height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#245967;font-size:13px}.rv-purpose>span{padding:9px 14px;background:#e0ece8}.rv-purpose>div{display:flex;gap:14px;border-top:1px solid #b9cdcc;padding-top:18px;margin-top:20px}.rv-purpose b{font-size:13px;font-weight:500}.rv-purpose small{font-size:10px;color:#72878a;margin-top:20px}

/* 依知識來源重製：先呈現分配關係，再提供動態導讀。 */
.studio .renewal-tabs{display:flex;flex-wrap:wrap;gap:0 28px;border-bottom:1px solid #cbdcdb;margin-bottom:24px}.studio .renewal-tabs button{border:0;border-radius:0;box-shadow:none;background:transparent;color:#72858a;padding:12px 0;font:inherit;font-size:16px;border-bottom:2px solid transparent;cursor:pointer}.studio .renewal-tabs button[aria-selected=true]{color:#0d4d5e;border-bottom-color:#0d4d5e}.renewal-tabs button:focus-visible{outline:2px solid #0d4d5e;outline-offset:4px}.renewal-panel[hidden]{display:none}.renewal-panel-title{font-size:16px;line-height:1.8;font-weight:500;color:#355f67;margin:0 0 28px}.rights-map{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.rights-source,.rights-pool{background:#f3f7f5;padding:24px}.renewal-eyebrow{display:block;font-size:11px;letter-spacing:.08em;color:#957b57;margin-bottom:10px}.rights-map h5{font-size:19px;font-weight:500;margin:0 0 22px;line-height:1.5;color:#164e5b}.rights-map p,.joint-map p{font-size:13px;line-height:1.9;color:#61777d;margin:8px 0 0}.rights-register{display:flex;flex-wrap:wrap;gap:12px;color:#335f66;font-size:12px;padding:14px 0;border-top:1px solid #ccdcda;border-bottom:1px solid #ccdcda}.rights-ratio{color:#0d4d5e;font-size:17px;margin-top:24px}.rights-ratio small{display:block;font-size:12px;color:#70878c;margin-top:6px}.rights-deduction{padding:0 0 18px;border-bottom:1px solid #cddcda}.rights-deduction strong{color:#8b7150;font-size:15px;font-weight:500}.rights-remaining{padding-top:18px}.rights-remaining strong{color:#155665;font-size:15px;font-weight:500}.rights-join{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;padding:14px;color:#9bb7b9}.rights-join span{font-size:24px}.rights-join p{font-size:11px;margin:0}.rights-entitlement{grid-column:1/-1;text-align:center;background:#e7f0ed;padding:22px}.rights-entitlement strong{display:block;color:#0d4d5e;font-size:24px;font-weight:500}.rights-selection{grid-column:1/-1;display:grid;grid-template-columns:1fr 40px 1fr;gap:16px;padding:28px 0 0;align-items:center}.rights-selection strong{font-size:16px;color:#0d4d5e;font-weight:500}.rights-versus{text-align:center;font-size:24px;color:#9ab1b5}.renewal-footnote{font-size:11px!important;color:#798b8f!important;line-height:1.8;margin:24px 0}.joint-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f3f7f5}.joint-inputs>div{padding:20px 16px}.joint-inputs>div+div{border-left:1px solid #d6e2de}.joint-map strong{font-size:16px;color:#174e5b;font-weight:500;display:block;line-height:1.7}.joint-analysis{text-align:center;padding:18px}.joint-analysis>span:first-child{display:block;color:#9ab4b5;font-size:24px;margin-bottom:12px}.joint-negotiation{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:center;text-align:center;padding:24px 12px;border-top:1px solid #d3e1df;border-bottom:1px solid #d3e1df}.joint-negotiation>div>span{font-size:24px;color:#0d4d5e}.joint-negotiation>strong{font-size:13px;color:#947d59}.joint-agreement{padding:22px;background:#e7f0ed;margin-top:24px}.renewal-sources{font-size:12px;color:#71878b;margin-top:28px;border-top:1px solid #dae4e2;padding-top:14px}.renewal-sources summary{cursor:pointer}.renewal-sources p{font-size:12px;line-height:1.9}.renewal-sources a{display:inline-block;margin:4px 20px 4px 0;color:#335f68;text-underline-offset:4px}.motion-mode .rv-playing .renewal-reveal{animation:rv-enter 1s both}.motion-mode .rv-playing .rights-pool{animation-delay:.5s}.motion-mode .rv-playing .rights-join{animation-delay:1s}.motion-mode .rv-playing .rights-entitlement{animation-delay:1.5s}.motion-mode .rv-playing .rights-selection{animation-delay:2.5s}.motion-mode .rv-playing .joint-analysis{animation-delay:1s}.motion-mode .rv-playing .joint-negotiation{animation-delay:2s}.motion-mode .rv-playing .joint-agreement{animation-delay:3s}
@media(max-width:760px){.rights-map{grid-template-columns:1fr;gap:16px}.rights-map h5{font-size:18px}.rights-source,.rights-pool{padding:20px}.rights-join{padding:0}.rights-join span:first-child{display:none}.rights-join{grid-template-columns:1fr}.rights-selection{grid-template-columns:1fr;gap:10px;padding-top:10px}.rights-versus{display:none}.rights-selection>div{padding:12px 0;border-bottom:1px solid #d5e2df}.joint-inputs{grid-template-columns:1fr}.joint-inputs>div+div{border-left:0;border-top:1px solid #d6e2de}.joint-negotiation{gap:12px;grid-template-columns:1fr 1fr}.joint-negotiation>strong{grid-column:1/-1;grid-row:2}.renewal-panel-title{font-size:14px}.rights-entitlement strong{font-size:22px}}
/* 概念優先：主圖使用量體、權利人及契約圖像；說明收至展開區。 */
.concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:linear-gradient(#f3f7f5,#fff)}.concept-step{padding:20px 12px}.concept-step+.concept-step{border-left:1px solid #d9e3df}.concept-number{font-size:12px;letter-spacing:.12em;color:#9b835e}.concept-step h5{margin:8px 0 12px;color:#174e5b;font-size:19px;font-weight:500}.concept-step svg{width:100%;height:240px;stroke:#688f96;stroke-width:1;stroke-linejoin:round;fill:none}.concept-step svg text{fill:#365f68;stroke:none;font-size:12px;font-family:inherit}.concept-step svg text.concept-small{font-size:10px}.concept-step .concept-land{fill:#e0ebe5;stroke:#afc9bc}.concept-step .concept-line{stroke:#9c845d;stroke-width:1.3;fill:none}.concept-step p{font-size:13px;line-height:1.9;color:#637a80;margin:14px 0 0}.concept-key{display:flex;gap:20px;border-top:1px solid #d5e2dd;padding:18px 0;font-size:13px;line-height:1.8;color:#245563}.concept-key>span{flex-shrink:0;color:#96805c}.motion-mode .rv-playing .concept-step{animation:rv-enter 1.2s both}.motion-mode .rv-playing .concept-step:nth-child(2){animation-delay:1s}.motion-mode .rv-playing .concept-step:nth-child(3){animation-delay:2s}
@media(max-width:760px){.concept-grid{grid-template-columns:1fr}.concept-step{padding:22px 12px}.concept-step+.concept-step{border-left:0;border-top:1px solid #d9e3df}.concept-step svg{height:230px}.concept-step h5{font-size:18px}.concept-key{display:block}.concept-key>span{display:block;margin-bottom:6px}}
.concept-step svg{stroke-linecap:round;shape-rendering:geometricPrecision}.concept-step svg text{letter-spacing:0}.concept-step .rv-window{stroke:#8faeaf;stroke-width:.65}

/* 土地權利使用雙幅圖解，保留圖形與標註的閱讀空間。 */
.land-rights-visual .concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.land-rights-visual .concept-step svg{height:270px}
@media(max-width:760px){.land-rights-visual .concept-grid{grid-template-columns:1fr}.land-rights-visual .concept-step svg{height:250px}}

/* 市場顧問以實際成果為主體，閱讀提示採無框編排。 */
.market-evidence{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(230px,1fr);gap:28px;align-items:start}
.market-map{margin:0;min-width:0}.market-map img{display:block;width:100%;height:auto}.market-map>a{display:block;cursor:zoom-in}
.market-map figcaption{font-size:12px;color:var(--muted,#687d83);line-height:1.8;padding-top:12px}
.market-map figcaption a{display:block;color:var(--ink,#0d4d5e);margin-top:6px}
.market-reading-label{font-size:12px;color:#9c845d;letter-spacing:.12em;margin:0 0 18px}
.market-reading ol{list-style:none;margin:0;padding:0}.market-reading li{display:flex;gap:14px;padding:17px 0;border-top:1px solid #dce5e5}
.market-reading li>span{font-size:12px;color:#9c845d;padding-top:3px}.market-reading h5{font-size:17px;margin:0 0 8px;font-weight:500;color:#0d4d5e}.market-reading li p{font-size:14px;line-height:1.85;margin:0;color:#687d83}
.market-visual .concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.motion-mode .rv-playing .market-map{animation:rv-enter 1.2s both}
.motion-mode .rv-playing .market-reading{animation:rv-enter 1.2s .35s both}
@media(max-width:900px){.market-evidence{grid-template-columns:1fr}.market-reading li{padding:14px 0}}
@media(max-width:760px){.market-visual .concept-grid{grid-template-columns:1fr}}

/* 爭議估價：用途分流，雙幅圖解。 */
.disputes-visual .concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.disputes-visual .concept-step svg{height:270px}
@media(max-width:760px){.disputes-visual .concept-grid{grid-template-columns:1fr}.disputes-visual .concept-step svg{height:250px}}

/* 企業估價依交易與財報用途分流。 */
.assets-visual .concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.assets-visual .concept-step svg{height:270px}
@media(max-width:760px){.assets-visual .concept-grid{grid-template-columns:1fr}.assets-visual .concept-step svg{height:250px}}

/* 公有不動產依處分、出租與取得目的分流。 */
.public-visual .concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.public-visual .concept-step svg{height:270px}
@media(max-width:760px){.public-visual .concept-grid{grid-template-columns:1fr}.public-visual .concept-step svg{height:250px}}

/* 雙幅圖解統一尺度，四項用途在窄螢幕保持可讀。 */
.market-visual .concept-step svg{height:270px}
@media(max-width:760px){.market-visual .concept-step svg{height:250px}.studio .renewal-tabs{gap:0 20px}.studio .renewal-tabs button{font-size:14px;min-height:44px;white-space:nowrap}}

.service-next{display:flex;flex-wrap:wrap;gap:18px 32px;margin-top:28px}
