/* 根管治疗 · 环绕式诊疗路径与影像服务原则 */
.root-canal-care-system{position:relative;padding:70px max(24px,calc((100vw - 1180px)/2)) 28px;background:linear-gradient(145deg,#f5fbfc 0%,#e5f1f2 50%,#f8fbf8 100%);overflow:hidden}.root-canal-care-system:before{position:absolute;top:-220px;right:-130px;width:560px;height:560px;border:1px solid rgba(80,132,146,.13);border-radius:50%;content:"";pointer-events:none}.root-canal-care-layout{position:relative;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(350px,.84fr);max-width:1180px;margin:0 auto;border:0;background:rgba(255,255,255,.52);box-shadow:0 24px 56px rgba(31,78,91,.11)}.root-canal-orbit-flow,.root-canal-principles{padding:36px 34px 34px}.root-canal-orbit-flow{border-right:1px solid rgba(76,125,139,.16)}
.root-canal-section-heading{position:relative;margin:0 0 22px;outline:0;text-align:left}.root-canal-section-heading>span{position:absolute;z-index:0;top:-7px;left:0;max-width:100%;overflow:hidden;color:rgba(183,139,57,.15);font-family:Georgia,"Times New Roman",serif;font-size:clamp(24px,2.35vw,34px);font-weight:400;letter-spacing:.04em;line-height:1;white-space:nowrap;transition:color .35s ease,letter-spacing .5s cubic-bezier(.16,1,.3,1)}.root-canal-section-heading h2{position:relative;z-index:1;display:inline-block;margin:0;color:#315463;font-size:24px;font-weight:400;letter-spacing:.025em;line-height:1.4}.root-canal-section-heading i{display:inline-block;position:relative;width:94px;height:11px;margin-left:14px;vertical-align:middle}.root-canal-section-heading i:before{position:absolute;top:5px;left:0;width:100%;height:1px;content:"";background:#bd8e3d;transform:scaleX(.36);transform-origin:left center;transition:transform .55s cubic-bezier(.16,1,.3,1)}.root-canal-section-heading i:after{position:absolute;top:2px;left:50%;width:7px;height:7px;border:1px solid #bd8e3d;background:#eef7f9;content:"";transform:translateX(-50%) rotate(45deg);transition:transform .55s cubic-bezier(.16,1,.3,1),background .3s ease}.root-canal-section-heading:hover>span,.root-canal-section-heading:focus-visible>span{color:rgba(183,139,57,.25);letter-spacing:.075em}.root-canal-section-heading:hover i:before,.root-canal-section-heading:focus-visible i:before{transform:scaleX(1)}.root-canal-section-heading:hover i:after,.root-canal-section-heading:focus-visible i:after{background:#d2aa5a;transform:translateX(-50%) rotate(225deg) scale(1.14)}
.root-canal-orbit-stage{height:524px;margin-top:0}.root-canal-orbit-core{width:182px;height:182px;border:7px solid rgba(255,255,255,.88);background:#d7ebed;box-shadow:0 20px 44px rgba(31,78,91,.22);transform:translate(-50%,-57%)}.root-canal-orbit-core:before{inset:10px;border-color:rgba(255,255,255,.7)}.root-canal-orbit-core:after{position:absolute;z-index:2;inset:17px;border:1px solid rgba(104,182,205,.72);border-radius:50%;content:"";opacity:0;transform:scale(.72) rotate(0);transition:opacity .35s ease,transform .7s cubic-bezier(.16,1,.3,1)}.root-canal-orbit-core img{filter:saturate(.92) contrast(1.04);transform:scale(1.08)}.root-canal-orbit-flow.is-core-active .root-canal-orbit-core:after{opacity:1;transform:scale(1.16) rotate(180deg)}.root-canal-orbit-flow.is-core-active .root-canal-orbit-core{box-shadow:0 0 0 10px rgba(106,184,209,.13),0 24px 52px rgba(31,78,91,.3)}.root-canal-orbit-flow.is-core-active .root-canal-orbit-root i{animation:root-canal-root-pulse .8s cubic-bezier(.16,1,.3,1) both}.root-canal-orbit-flow.is-core-active .root-canal-orbit-root i:nth-child(2){animation-delay:.1s}.root-canal-orbit-flow.is-core-active .root-canal-orbit-root i:nth-child(3){animation-delay:.2s}
.root-canal-orbit-nodes button{display:block;width:160px;min-height:78px;padding:39px 16px 13px;border:0;background:rgba(255,255,255,.86);box-shadow:none;backdrop-filter:blur(4px);transition:background .35s ease,box-shadow .42s ease,transform .45s cubic-bezier(.16,1,.3,1)}.root-canal-orbit-nodes button:before{position:absolute;right:16px;bottom:11px;left:16px;height:1px;content:"";background:#bd8e3d;transform:scaleX(.18);transform-origin:left center;transition:transform .48s cubic-bezier(.16,1,.3,1)}.root-canal-orbit-nodes button b{position:absolute;top:13px;left:16px;color:rgba(183,139,57,.66);font-family:Georgia,"Times New Roman",serif;font-size:13px;font-weight:400;letter-spacing:.08em}.root-canal-orbit-nodes button span{display:block;color:#3f606b;font-size:16px;font-weight:500;line-height:1.35;text-align:left}.root-canal-orbit-nodes button small{display:block;margin-top:6px;color:#627d86;font-size:12px;font-weight:300;line-height:1.45;text-align:left}.root-canal-orbit-nodes button:hover,.root-canal-orbit-nodes button:focus-visible,.root-canal-orbit-nodes button.is-active{border:0;background:#fff;box-shadow:0 18px 36px rgba(31,78,91,.16);outline:0}.root-canal-orbit-nodes button:hover:before,.root-canal-orbit-nodes button:focus-visible:before,.root-canal-orbit-nodes button.is-active:before{transform:scaleX(1)}.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button{animation:root-canal-node-pulse .72s cubic-bezier(.16,1,.3,1) both}.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button:nth-child(2){animation-delay:.08s}.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button:nth-child(3){animation-delay:.16s}.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button:nth-child(4){animation-delay:.24s}.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button:nth-child(5){animation-delay:.32s}
.root-canal-flow-detail-placeholder{position:absolute;z-index:2;right:50%;bottom:16px;width:255px;height:118px;overflow:hidden;background:#e3f0f1;opacity:.9;transform:translateX(50%);transition:opacity .35s ease,filter .4s ease}.root-canal-flow-detail-placeholder:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(229,241,242,.8),rgba(229,241,242,.1))}.root-canal-flow-detail-placeholder img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transform:scale(1.12)}.root-canal-flow-detail-placeholder span{position:absolute;z-index:1;right:15px;bottom:13px;left:15px;color:rgba(49,84,99,.68);font-family:Georgia,"Times New Roman",serif;font-size:13px;letter-spacing:.12em;text-align:right}.root-canal-flow-detail{position:absolute;z-index:8;right:50%;bottom:0;width:min(350px,calc(100% - 44px));min-height:118px;margin:0;padding:23px 25px 25px;background:rgba(255,255,255,.96);box-shadow:0 20px 44px rgba(31,78,91,.19);transform:translateX(50%);transition:opacity .3s ease,transform .48s cubic-bezier(.16,1,.3,1)}.root-canal-flow-detail:before{position:absolute;top:14px;right:25px;left:25px;height:1px;content:"";background:#bd8e3d;transform:scaleX(.32);transform-origin:left center;transition:transform .55s cubic-bezier(.16,1,.3,1)}.root-canal-flow-detail h4{margin:9px 0 7px;color:#385662;font-size:19px;font-weight:500}.root-canal-flow-detail p{margin:0;color:#57727d;font-size:14px;font-weight:300;line-height:1.75}.root-canal-orbit-flow.is-flow-detail-active .root-canal-flow-detail-placeholder{filter:blur(3px);opacity:.42}.root-canal-orbit-flow.is-flow-detail-active .root-canal-flow-detail:before{transform:scaleX(1)}.root-canal-orbit-flow.is-flow-detail-active .root-canal-flow-detail{animation:root-canal-detail-in .48s cubic-bezier(.16,1,.3,1) both}
.root-canal-principles-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.52fr);gap:14px;align-items:end}.root-canal-principle-grid{gap:12px;margin:0}.root-canal-principle-grid button{min-height:178px;padding:42px 17px 15px;border:0;background-image:linear-gradient(135deg,rgba(255,255,255,.94),rgba(239,248,249,.77)),var(--root-principle-image);background-position:center;background-size:cover;box-shadow:none;overflow:hidden}.root-canal-principle-grid button:before{position:absolute;inset:0;content:"";background:linear-gradient(125deg,rgba(255,255,255,.08),rgba(230,243,245,.08));transition:background .4s ease}.root-canal-principle-grid button>*{position:relative;z-index:1}.root-canal-principle-grid button b{position:absolute;top:14px;left:16px;margin:0;color:rgba(183,139,57,.72);font-family:Georgia,"Times New Roman",serif;font-size:13px;font-weight:400;letter-spacing:.08em}.root-canal-principle-grid button strong{padding:0;color:#3f606b;font-size:16px;font-weight:500}.root-canal-principle-grid button small{color:#5d7780;font-size:13px}.root-canal-principle-grid button p{color:#456773}.root-canal-principle-grid button i{z-index:2;right:13px;top:12px}.root-canal-principle-grid button:hover,.root-canal-principle-grid button:focus-visible,.root-canal-principle-grid button.is-open{border:0;background-image:linear-gradient(135deg,rgba(255,255,255,.79),rgba(235,247,248,.55)),var(--root-principle-image);box-shadow:0 18px 36px rgba(31,78,91,.16);transform:translateY(-5px)}.root-canal-principle-grid button:hover:before,.root-canal-principle-grid button:focus-visible:before,.root-canal-principle-grid button.is-open:before{background:linear-gradient(125deg,rgba(255,255,255,.03),rgba(219,240,242,.03))}.root-canal-principles-showcase{position:relative;align-self:end;min-height:242px;margin:0;overflow:hidden;background:#dcecef;outline:0}.root-canal-principles-showcase:after{position:absolute;z-index:1;inset:0;content:"";background:linear-gradient(180deg,rgba(18,55,65,.04),rgba(18,55,65,.62))}.root-canal-principles-showcase:before{position:absolute;z-index:3;top:0;left:-40%;width:28%;height:100%;content:"";background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);transition:left .8s cubic-bezier(.16,1,.3,1)}.root-canal-principles-showcase img{width:100%;height:100%;object-fit:cover;object-position:62% center;transform:scale(1.05);transition:transform .8s cubic-bezier(.16,1,.3,1),filter .45s ease}.root-canal-principles-showcase figcaption{position:absolute;z-index:2;right:17px;bottom:17px;left:17px;color:#fff;text-shadow:0 2px 12px rgba(8,39,47,.36)}.root-canal-principles-showcase span{display:block;font-size:10px;font-weight:500;letter-spacing:.14em}.root-canal-principles-showcase strong{display:block;margin-top:6px;font-size:15px;font-weight:500;line-height:1.45}.root-canal-principles-showcase:hover:before,.root-canal-principles-showcase:focus-visible:before{left:112%}.root-canal-principles-showcase:hover img,.root-canal-principles-showcase:focus-visible img{transform:scale(1.1);filter:saturate(1.06);outline:0}
@keyframes root-canal-root-pulse{50%{background:linear-gradient(180deg,rgba(69,145,171,.85),rgba(191,151,83,.45));transform:translateX(-50%) scaleY(1.12)}to{transform:translateX(-50%) scaleY(1)}}@keyframes root-canal-node-pulse{45%{box-shadow:0 20px 38px rgba(31,78,91,.2);transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(-194px) rotate(calc(-1 * var(--root-flow-angle))) scale(1.045)}to{transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(-194px) rotate(calc(-1 * var(--root-flow-angle)))}}@keyframes root-canal-detail-in{from{opacity:0;filter:blur(4px);transform:translate(50%,10px)}to{opacity:1;filter:blur(0);transform:translate(50%,0)}}
@media(max-width:980px){.root-canal-care-layout{grid-template-columns:1fr}.root-canal-orbit-flow{border-right:0;border-bottom:1px solid rgba(76,125,139,.16)}.root-canal-principles-layout{grid-template-columns:minmax(0,1fr) minmax(210px,.4fr)}.root-canal-principles-showcase{min-height:226px}}
@media(max-width:680px){.root-canal-care-system{padding:52px 16px 14px}.root-canal-orbit-flow,.root-canal-principles{padding:28px 18px}.root-canal-section-heading{margin-bottom:20px}.root-canal-section-heading>span{font-size:24px}.root-canal-section-heading h2{font-size:23px}.root-canal-section-heading i{width:62px;margin-left:8px}.root-canal-orbit-stage{padding-top:214px}.root-canal-orbit-nodes button{min-height:62px;padding:13px 14px 12px 49px}.root-canal-orbit-nodes button b{top:17px;left:14px}.root-canal-orbit-nodes button small{display:none}.root-canal-flow-detail-placeholder{position:relative;right:auto;bottom:auto;width:100%;height:136px;margin-top:14px;transform:none}.root-canal-flow-detail{position:relative;right:auto;bottom:auto;width:100%;min-height:136px;transform:none}.root-canal-orbit-flow.is-flow-detail-active .root-canal-flow-detail{animation:root-canal-detail-mobile-in .48s cubic-bezier(.16,1,.3,1) both}.root-canal-principles-layout{grid-template-columns:1fr}.root-canal-principle-grid{grid-template-columns:1fr 1fr}.root-canal-principle-grid button{min-height:155px}.root-canal-principles-showcase{min-height:218px}.root-canal-principle-grid button p{max-height:80px;margin-top:9px;opacity:1}.root-canal-principle-grid button i{display:none}@keyframes root-canal-detail-mobile-in{from{opacity:0;filter:blur(4px);transform:translateY(10px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.root-canal-care-system *{animation:none!important;transition:none!important}}

/* 对齐冷光美白的双列诊疗台：流程图区与下方水印阅读区互不抢位。 */
.root-canal-refined-title{margin-bottom:34px}.root-canal-care-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.root-canal-orbit-stage{height:438px}.root-canal-flow-footer{position:relative;min-height:166px;overflow:hidden;border-top:1px solid rgba(76,125,139,.14)}.root-canal-flow-detail-placeholder{position:absolute;inset:0;width:auto;height:auto;margin:0;transform:none}.root-canal-flow-detail-placeholder img{object-position:center 46%;opacity:.62}.root-canal-flow-detail-placeholder span{right:50%;bottom:20px;left:auto;min-width:245px;color:rgba(49,84,99,.42);font-size:22px;letter-spacing:.12em;text-align:center;transform:translateX(50%)}.root-canal-flow-detail{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;min-height:0;margin:0;padding:29px 32px;transform:none}.root-canal-flow-detail h4{margin-top:7px}.root-canal-orbit-flow.is-flow-detail-active .root-canal-flow-detail{animation:root-canal-footer-detail-in .48s cubic-bezier(.16,1,.3,1) both}.root-canal-principles-layout{display:flex;flex-direction:column;gap:20px}.root-canal-principle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}.root-canal-principle-grid button{min-height:214px;padding:43px 20px 20px}.root-canal-principle-grid button p{max-height:112px;margin-top:11px;opacity:1}.root-canal-principles-showcase{align-self:stretch;width:100%;min-height:238px}.root-canal-principles-showcase img{object-position:center 44%}@keyframes root-canal-footer-detail-in{from{opacity:0;filter:blur(4px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@media(max-width:680px){.root-canal-refined-title{margin-bottom:26px}.root-canal-orbit-stage{height:auto}.root-canal-flow-footer{min-height:144px}.root-canal-flow-detail{padding:23px 22px}.root-canal-flow-detail-placeholder span{font-size:16px}.root-canal-principle-grid{grid-template-columns:1fr}.root-canal-principle-grid button{min-height:178px}.root-canal-principles-showcase{min-height:220px}}

/* 根管治疗 · 精细化诊疗的按需信息与中心放射反馈。 */
.root-canal-principle-grid button p{position:absolute;right:20px;bottom:19px;left:20px;max-height:none;margin:0;opacity:0;pointer-events:none;transform:translateY(9px);transition:opacity .22s ease,transform .38s cubic-bezier(.16,1,.3,1)}.root-canal-principle-grid button:hover p,.root-canal-principle-grid button:focus-visible p,.root-canal-principle-grid button.is-open p{max-height:none;margin:0;opacity:1;transform:translateY(0)}.root-canal-principles-showcase{align-self:flex-start;width:64%;min-height:178px}.root-canal-principles-showcase img{object-position:center 48%}.root-canal-flow-detail-placeholder{cursor:default;isolation:isolate}.root-canal-flow-detail-placeholder:before{position:absolute;z-index:2;top:0;left:-42%;width:26%;height:100%;content:"";background:linear-gradient(100deg,transparent,rgba(255,255,255,.72),transparent);transform:skewX(-18deg);transition:left .82s cubic-bezier(.16,1,.3,1)}.root-canal-flow-detail-placeholder:hover:before,.root-canal-flow-detail-placeholder:focus-visible:before{left:116%}.root-canal-flow-detail-placeholder:hover img,.root-canal-flow-detail-placeholder:focus-visible img{filter:saturate(1.04) contrast(1.04);opacity:.84;transform:scale(1.18)}.root-canal-flow-detail-placeholder:hover:after,.root-canal-flow-detail-placeholder:focus-visible:after{background:linear-gradient(90deg,rgba(229,241,242,.46),rgba(229,241,242,.02))}.root-canal-flow-detail-placeholder:hover span,.root-canal-flow-detail-placeholder:focus-visible span{color:rgba(49,84,99,.76);letter-spacing:.16em}.root-canal-flow-link-progress{transition-delay:0s}.root-canal-orbit-flow.is-core-active .root-canal-flow-link-progress.is-complete{transition-delay:calc(var(--root-flow-order,0) * .16s)}.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button{animation-name:root-canal-node-shake}.root-canal-orbit-flow.is-core-active .root-canal-flow-link-base{stroke:rgba(112,164,178,.43)}@keyframes root-canal-node-shake{0%,100%{transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(-194px) rotate(calc(-1 * var(--root-flow-angle)))}24%{transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(-194px) rotate(calc(-1 * var(--root-flow-angle))) translateX(-4px)}52%{transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(-194px) rotate(calc(-1 * var(--root-flow-angle))) translateX(4px)}76%{transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(-194px) rotate(calc(-1 * var(--root-flow-angle))) translateX(-2px)}}

/* 进入视口后以标题、路径、原则卡和影像的顺序建立诊疗关系。 */
.root-canal-care-system.is-care-ready .root-canal-refined-title,.root-canal-care-system.is-care-ready .root-canal-section-heading,.root-canal-care-system.is-care-ready .root-canal-orbit-core,.root-canal-care-system.is-care-ready .root-canal-orbit-nodes button,.root-canal-care-system.is-care-ready .root-canal-flow-footer,.root-canal-care-system.is-care-ready .root-canal-principle-grid button,.root-canal-care-system.is-care-ready .root-canal-principles-showcase{opacity:0;filter:blur(5px);transform:translateY(18px)}.root-canal-care-system.is-care-ready .root-canal-orbit-core{transform:translate(-50%,calc(-57% + 18px))}.root-canal-care-system.is-care-ready .root-canal-orbit-nodes button{transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(calc(-194px + 18px)) rotate(calc(-1 * var(--root-flow-angle)))}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-refined-title,.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-section-heading,.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-orbit-core,.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-orbit-nodes button,.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-flow-footer,.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-principle-grid button,.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-principles-showcase{animation:root-canal-care-reveal .58s cubic-bezier(.16,1,.3,1) both}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-orbit-core{animation-name:root-canal-care-core-reveal}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-orbit-nodes button{animation-name:root-canal-care-node-reveal}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-orbit-flow .root-canal-section-heading{animation-delay:.08s}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-principles .root-canal-section-heading{animation-delay:.14s}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-orbit-core{animation-delay:.18s}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-orbit-nodes button:nth-child(1){animation-delay:.26s}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-orbit-nodes button:nth-child(2){animation-delay:.33s}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-orbit-nodes button:nth-child(3){animation-delay:.4s}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-orbit-nodes button:nth-child(4){animation-delay:.47s}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-orbit-nodes button:nth-child(5){animation-delay:.54s}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-flow-footer{animation-delay:.6s}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-principle-grid button:nth-child(1){animation-delay:.28s}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-principle-grid button:nth-child(2){animation-delay:.36s}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-principle-grid button:nth-child(3){animation-delay:.44s}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-principle-grid button:nth-child(4){animation-delay:.52s}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-principles-showcase{animation-delay:.62s}@keyframes root-canal-care-reveal{to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes root-canal-care-core-reveal{to{opacity:1;filter:blur(0);transform:translate(-50%,-57%)}}@keyframes root-canal-care-node-reveal{to{opacity:1;filter:blur(0);transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(-194px) rotate(calc(-1 * var(--root-flow-angle)))}}
@media(max-width:680px){.root-canal-principles-showcase{width:78%;min-height:164px}.root-canal-care-system.is-care-ready .root-canal-orbit-nodes button{transform:translateY(18px)!important}.root-canal-care-system.is-care-ready.is-care-revealed .root-canal-orbit-nodes button{animation-name:root-canal-care-reveal}.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button{animation-name:root-canal-node-pulse}}
@media(prefers-reduced-motion:reduce){.root-canal-care-system.is-care-ready .root-canal-refined-title,.root-canal-care-system.is-care-ready .root-canal-section-heading,.root-canal-care-system.is-care-ready .root-canal-orbit-core,.root-canal-care-system.is-care-ready .root-canal-orbit-nodes button,.root-canal-care-system.is-care-ready .root-canal-flow-footer,.root-canal-care-system.is-care-ready .root-canal-principle-grid button,.root-canal-care-system.is-care-ready .root-canal-principles-showcase{opacity:1;filter:none;transform:none!important}.root-canal-orbit-flow.is-core-active .root-canal-flow-link-progress.is-complete{transition-delay:0s}}

/* 2026-09-13 · 流程留白、分段连线、卡片进度底色与折叠式服务原则。 */
.root-canal-care-layout{
  --root-canal-stage-height:500px;
  --root-canal-footer-height:176px;
  --root-canal-stage-gap:30px;
}

.root-canal-orbit-stage{
  height:var(--root-canal-stage-height);
}

.root-canal-flow-footer{
  min-height:var(--root-canal-footer-height);
  margin-top:var(--root-canal-stage-gap);
}

.root-canal-flow-detail-placeholder{
  display:grid;
  place-items:center;
  background:linear-gradient(120deg,#eaf5f6,#dceef0);
}

.root-canal-flow-detail-placeholder:after{
  background:linear-gradient(90deg,rgba(229,241,242,.3),rgba(229,241,242,.03));
}

.root-canal-flow-detail-placeholder img{
  width:min(270px,42%);
  height:auto;
  max-height:148px;
  object-fit:contain;
  opacity:.48;
  filter:saturate(.82);
  transform:none;
}

.root-canal-flow-detail-placeholder span{
  right:50%;
  bottom:16px;
  left:auto;
  color:rgba(49,84,99,.34);
  font-size:18px;
  letter-spacing:.17em;
  transform:translateX(50%);
}

.root-canal-flow-detail-placeholder:hover img,
.root-canal-flow-detail-placeholder:focus-visible img{
  opacity:.66;
  filter:saturate(1) contrast(1.03);
  transform:scale(1.035);
}

/* 点击中心图时先反馈卡片，再开始由中心向外绘制路径。 */
.root-canal-orbit-flow.is-core-sequence:not(.is-core-linking) .root-canal-flow-link-progress.is-complete{
  stroke-dashoffset:var(--root-flow-length,1);
}

.root-canal-orbit-flow.is-core-linking .root-canal-flow-link-progress.is-complete{
  stroke-dashoffset:0;
  transition-duration:.76s;
  transition-delay:calc(var(--root-flow-order,0) * .15s);
}

.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button{
  animation-duration:.58s;
}

.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button:nth-child(2){animation-delay:.06s}
.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button:nth-child(3){animation-delay:.12s}
.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button:nth-child(4){animation-delay:.18s}
.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button:nth-child(5){animation-delay:.24s}

/* 流程卡与详情卡共用由左向右的诊疗进度底色。 */
.root-canal-orbit-nodes button{
  isolation:isolate;
}

.root-canal-orbit-nodes button:before{
  z-index:-1;
  inset:0;
  width:auto;
  height:auto;
  background:linear-gradient(90deg,rgba(205,232,235,.78),rgba(241,228,196,.48));
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}

.root-canal-orbit-nodes button:hover:before,
.root-canal-orbit-nodes button:focus-visible:before,
.root-canal-orbit-nodes button.is-active:before{
  transform:scaleX(1);
}

.root-canal-orbit-nodes button b,
.root-canal-orbit-nodes button span,
.root-canal-orbit-nodes button small{
  position:relative;
  z-index:1;
}

.root-canal-flow-detail{
  isolation:isolate;
  overflow:hidden;
}

.root-canal-flow-detail:after{
  position:absolute;
  z-index:-1;
  inset:0;
  content:"";
  background:linear-gradient(90deg,rgba(210,235,237,.74),rgba(245,232,202,.34));
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .58s cubic-bezier(.16,1,.3,1);
}

.root-canal-flow-detail:hover:after,
.root-canal-flow-detail:focus-visible:after{
  transform:scaleX(1);
}

/* 原则区与左侧完整流程工作区等高，展示图贴齐左侧底部水印区。 */
.root-canal-principles-layout{
  min-height:calc(var(--root-canal-stage-height) + var(--root-canal-stage-gap) + var(--root-canal-footer-height));
  gap:24px;
}

.root-canal-principle-grid{
  align-items:start;
  gap:14px;
}

.root-canal-principle-grid button{
  align-self:start;
  min-height:108px;
  padding:18px 18px 17px;
  isolation:isolate;
  overflow:hidden;
  transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .38s ease;
}

.root-canal-principle-grid button:after{
  position:absolute;
  z-index:0;
  inset:0;
  content:"";
  background:linear-gradient(90deg,rgba(204,232,235,.8),rgba(242,226,190,.48));
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .55s cubic-bezier(.16,1,.3,1);
}

.root-canal-principle-grid button:hover:after,
.root-canal-principle-grid button:focus-visible:after,
.root-canal-principle-grid button.is-open:after{
  transform:scaleX(1);
}

.root-canal-principle-grid button b{
  top:17px;
  left:18px;
}

.root-canal-principle-grid button strong{
  display:block;
  padding:22px 24px 0 0;
}

.root-canal-principle-grid button small{
  display:block;
  margin-top:5px;
}

.root-canal-principle-grid button p{
  position:relative;
  z-index:1;
  right:auto;
  bottom:auto;
  left:auto;
  display:grid;
  grid-template-rows:0fr;
  margin:0;
  opacity:0;
  transform:translateY(8px);
  transition:grid-template-rows .42s cubic-bezier(.16,1,.3,1),opacity .22s ease,transform .38s cubic-bezier(.16,1,.3,1);
}

.root-canal-principle-grid button:hover p,
.root-canal-principle-grid button:focus-visible p,
.root-canal-principle-grid button.is-open p{
  grid-template-rows:1fr;
  opacity:1;
  transform:translateY(0);
}

.root-canal-principle-grid button p > span{
  display:block;
  min-height:0;
  overflow:hidden;
  padding-top:12px;
}

.root-canal-principle-grid button > *{
  position:relative;
  z-index:1;
}

.root-canal-principle-grid button > b,
.root-canal-principle-grid button > i{
  position:absolute;
}

.root-canal-principles-showcase{
  align-self:stretch;
  width:100%;
  height:var(--root-canal-footer-height);
  min-height:var(--root-canal-footer-height);
  margin-top:auto;
}

.root-canal-principles-showcase img{
  object-position:center 44%;
}

@media(max-width:980px){
  .root-canal-care-layout{--root-canal-stage-height:500px}
  .root-canal-principles-layout{min-height:auto}
  .root-canal-principles-showcase{margin-top:0}
}

@media(max-width:680px){
  .root-canal-orbit-stage{height:auto;margin-bottom:24px}
  .root-canal-flow-footer{margin-top:0}
  .root-canal-principle-grid button{min-height:108px}
  .root-canal-principle-grid button p{grid-template-rows:0fr;opacity:0}
  .root-canal-principle-grid button:hover p,
  .root-canal-principle-grid button:focus-visible p,
  .root-canal-principle-grid button.is-open p{grid-template-rows:1fr;opacity:1}
  .root-canal-principles-showcase{width:100%;height:220px;min-height:220px}
}

@media(prefers-reduced-motion:reduce){
  .root-canal-orbit-flow.is-core-linking .root-canal-flow-link-progress.is-complete{transition-delay:0s;transition-duration:.01ms}
  .root-canal-orbit-nodes button:before,
  .root-canal-flow-detail:after,
  .root-canal-principle-grid button:after{transition-duration:.01ms}
}

/* 2026-09-13 · 环绕卡片顺序路径与紧凑原则版面修正。 */
.root-canal-care-layout{
  --root-canal-stage-height:580px;
  --root-canal-stage-gap:24px;
  --root-flow-offset:-224px;
}

.root-canal-orbit-stage{
  overflow:visible;
}

.root-canal-orbit-links{
  z-index:2;
}

.root-canal-flow-link-base{
  stroke:rgba(111,157,169,.42);
  stroke-width:1.25;
  stroke-dasharray:none;
}

.root-canal-flow-link-progress{
  stroke:#bf9753;
  stroke-width:2.4;
  transition-duration:.7s;
}

.root-canal-orbit-root{
  display:none;
}

.root-canal-orbit-core{
  z-index:4;
  width:194px;
  height:194px;
  border-width:8px;
}

.root-canal-orbit-nodes{
  z-index:5;
  pointer-events:none;
}

.root-canal-orbit-nodes button{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  width:184px;
  min-height:112px;
  padding:31px 18px 17px;
  text-align:center;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 30px rgba(31,78,91,.1);
  pointer-events:auto;
  transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(var(--root-flow-offset)) rotate(calc(-1 * var(--root-flow-angle)));
}

.root-canal-orbit-nodes button:nth-child(2),
.root-canal-orbit-nodes button:nth-child(5){
  box-shadow:0 18px 36px rgba(31,78,91,.13);
}

.root-canal-orbit-nodes button b{
  position:absolute;
  top:15px;
  left:16px;
  color:rgba(183,139,57,.82);
  font-size:13px;
}

.root-canal-orbit-nodes button span{
  width:100%;
  color:#365c6a;
  font-size:18px;
  line-height:1.42;
  text-align:center;
}

.root-canal-orbit-nodes button small{
  width:100%;
  margin-top:7px;
  color:#6f8790;
  font-size:14px;
  line-height:1.55;
  text-align:center;
}

.root-canal-orbit-nodes button:hover,
.root-canal-orbit-nodes button:focus-visible{
  transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(var(--root-flow-offset)) rotate(calc(-1 * var(--root-flow-angle))) translateY(-5px) scale(1.045);
}

.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button{
  animation-name:root-canal-node-jump;
}

.root-canal-orbit-flow.is-core-active .root-canal-orbit-core{
  animation:root-canal-core-confirm .64s cubic-bezier(.16,1,.3,1) both;
}

.root-canal-care-system.is-care-ready .root-canal-orbit-nodes button{
  transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(calc(var(--root-flow-offset) + 18px)) rotate(calc(-1 * var(--root-flow-angle)));
}

@keyframes root-canal-node-jump{
  0%,100%{transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(var(--root-flow-offset)) rotate(calc(-1 * var(--root-flow-angle)))}
  38%{box-shadow:0 26px 46px rgba(31,78,91,.24);transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(calc(var(--root-flow-offset) - 13px)) rotate(calc(-1 * var(--root-flow-angle))) scale(1.075)}
  70%{transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(calc(var(--root-flow-offset) + 3px)) rotate(calc(-1 * var(--root-flow-angle))) scale(.985)}
}

@keyframes root-canal-core-confirm{
  0%,100%{transform:translate(-50%,-57%) scale(1)}
  42%{box-shadow:0 0 0 15px rgba(106,184,209,.16),0 28px 56px rgba(31,78,91,.32);transform:translate(-50%,-57%) scale(1.075)}
}

@keyframes root-canal-care-node-reveal{
  to{opacity:1;filter:blur(0);transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(var(--root-flow-offset)) rotate(calc(-1 * var(--root-flow-angle)))}
}

/* 原则卡与展示图保持为一个连续内容组，不再把剩余高度塞进两者之间。 */
.root-canal-principles-layout{
  min-height:0;
  gap:22px;
  justify-content:flex-start;
}

.root-canal-principle-grid button{
  min-height:118px;
}

.root-canal-principles-showcase{
  height:220px;
  min-height:220px;
  margin-top:0;
}

@media(max-width:1100px) and (min-width:681px){
  .root-canal-care-layout{
    --root-flow-offset:-208px;
  }
  .root-canal-orbit-nodes button{
    width:172px;
  }
}

@media(max-width:680px){
  .root-canal-care-layout{--root-canal-stage-height:auto}
  .root-canal-orbit-core{width:154px;height:154px}
  .root-canal-orbit-nodes button,
  .root-canal-orbit-nodes button:hover,
  .root-canal-orbit-nodes button:focus-visible{
    align-items:flex-start;
    width:100%;
    min-height:82px;
    padding:20px 18px 16px 58px;
    text-align:left;
    transform:none!important;
  }
  .root-canal-orbit-nodes button b{top:25px;left:17px}
  .root-canal-orbit-nodes button span,
  .root-canal-orbit-nodes button small{text-align:left}
  .root-canal-orbit-nodes:before{display:none}
  .root-canal-principle-grid button{min-height:108px}
}

@media(prefers-reduced-motion:reduce){
  .root-canal-orbit-flow.is-core-active .root-canal-orbit-core,
  .root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button{animation:none!important}
}

/* 2026-09-13 · 消除入场动画与中心触发动画的竞争，并增强路径可见度。 */
.root-canal-orbit-flow .root-canal-flow-link-base,
.root-canal-orbit-flow.is-core-active .root-canal-flow-link-base{
  stroke:rgba(64,112,128,.66);
  stroke-width:1.9;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
}

.root-canal-flow-link-progress{
  stroke:#c28c32;
  stroke-width:4;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 2px 3px rgba(128,91,31,.26));
}

.root-canal-orbit-flow.is-core-sequence .root-canal-flow-link-progress.is-complete{
  transition:none;
}

.root-canal-orbit-flow.is-core-active .root-canal-orbit-core{
  opacity:1!important;
  filter:none!important;
  animation:none!important;
  transform:translate(-50%,-57%);
}

.root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button{
  opacity:1!important;
  filter:none!important;
  animation:none!important;
  transform:translate(-50%,-50%) rotate(var(--root-flow-angle)) translateY(var(--root-flow-offset)) rotate(calc(-1 * var(--root-flow-angle)));
}

.root-canal-orbit-flow.is-core-linking .root-canal-orbit-nodes button{
  box-shadow:0 20px 40px rgba(31,78,91,.16);
}

@media(max-width:680px){
  .root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button{transform:none!important}
}

@media(prefers-reduced-motion:reduce){
  .root-canal-orbit-flow.is-core-active .root-canal-orbit-nodes button:before{transform:scaleX(1)}
}

/* 209: compact flow cards and share one bottom-media baseline across both columns */
@media (min-width:1101px){
  .root-canal-care-layout{
    --root-canal-footer-height:154px;
  }

  .root-canal-orbit-nodes button{
    width:172px;
    min-height:102px;
    padding:27px 15px 14px;
  }

  .root-canal-orbit-nodes button span{
    font-size:17px;
    line-height:1.42;
  }

  .root-canal-orbit-nodes button small{
    margin-top:6px;
    font-size:14px;
    line-height:1.5;
  }

  .root-canal-principles-layout{
    min-height:var(--root-canal-stage-height);
  }

  .root-canal-principle-grid button{
    min-height:108px;
    padding:16px 18px 15px;
  }

  .root-canal-principle-grid button strong{
    font-size:17px;
    line-height:1.42;
  }

  .root-canal-principles-showcase{
    height:var(--root-canal-footer-height);
    min-height:var(--root-canal-footer-height);
    margin-top:0;
  }
}

.root-canal-flow-footer{
  position:relative;
  flex:0 0 var(--root-canal-footer-height);
  width:100%;
  height:var(--root-canal-footer-height);
  min-height:var(--root-canal-footer-height);
  margin-top:auto;
  overflow:hidden;
  border-top-color:rgba(54,103,116,.07);
  background:rgba(232,245,246,.48);
}

.root-canal-flow-detail-placeholder{
  background:linear-gradient(120deg,rgba(239,249,249,.72),rgba(224,241,242,.54));
}

.root-canal-flow-detail-placeholder::after{
  opacity:.18;
}

.root-canal-flow-detail-placeholder img{
  opacity:.31;
  filter:saturate(.58) contrast(.88) brightness(1.04);
}

.root-canal-flow-detail-placeholder span{
  color:rgba(49,84,99,.24);
}

.root-canal-flow-footer:hover .root-canal-flow-detail-placeholder img,
.root-canal-flow-footer:focus-within .root-canal-flow-detail-placeholder img{
  opacity:.44;
}

@media (max-width:1100px){
  .root-canal-principles-layout{
    min-height:auto;
  }

  .root-canal-flow-footer,
  .root-canal-principles-showcase{
    min-height:176px;
    height:176px;
    margin-top:0;
  }
}
