.ceiling-counter{padding:48px 0 60px}
.ceiling-counter-panel{position:relative;isolation:isolate;overflow:hidden;border:1px solid #dce6f2;border-radius:24px;background:linear-gradient(120deg,#f3f7fd,#fff);padding:54px 64px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.ceiling-counter-copy{position:relative;z-index:1}
.ceiling-counter-copy h2{font-size:clamp(28px,3vw,44px);line-height:1.14}
.ceiling-counter-copy p{margin-top:20px;color:var(--muted);max-width:360px;font-size:15px}
.ceiling-counter-copy .section-label{color:#527195;font-size:11px}
.ceiling-total{position:relative;z-index:1;text-align:center}
.ceiling-measure{display:flex;align-items:baseline;justify-content:center;gap:16px;color:#2675ed}
.ceiling-digits{display:flex;font-size:clamp(58px,7.4vw,108px);font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:-5px;line-height:1.2}
.ceiling-digit{display:block;overflow:hidden;min-width:.65em}
.ceiling-digit>span{display:block}
.ceiling-digit.ceiling-space{margin-left:.12em}
.ceiling-unit{font-size:30px;font-weight:500}
.ceiling-total>p{font-size:16px;margin-top:8px;color:#50657b}
.ceiling-as-of{display:block;margin-top:6px;font-size:13px;line-height:1.5;color:#73869b;letter-spacing:.02em}


.ceiling-lines{position:absolute;inset:0;height:100%;width:100%;fill:none;pointer-events:none;z-index:0}
.ceiling-lines-mobile{display:none}
.ceiling-line-track{stroke:#cadcf1;stroke-width:1}
.ceiling-line-glow{stroke:#5f9fff;stroke-width:2;stroke-dasharray:180 1320;stroke-dashoffset:1500;filter:drop-shadow(0 0 5px #2675ed);opacity:0}
.is-visible .ceiling-line-glow{animation:ceiling-trace 6s ease-in-out infinite}
@keyframes ceiling-trace{0%{stroke-dashoffset:1500;opacity:0}12%,75%{opacity:1}100%{stroke-dashoffset:-1500;opacity:0}}
@media(max-width:850px){.ceiling-counter-panel{padding:36px;gap:24px}.ceiling-digits{letter-spacing:-3px;font-size:64px}.ceiling-unit{font-size:24px}}
@media(max-width:600px){
  .ceiling-counter{padding:28px 0 40px}
  .ceiling-counter-panel{grid-template-columns:1fr;padding:36px 28px 34px;gap:26px;border-radius:24px}
  .ceiling-lines-desktop{display:none}
  .ceiling-lines-mobile{display:block;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px)}
  .ceiling-mobile-track{stroke:#d5e3f5;stroke-width:1}
  .ceiling-mobile-glow{stroke:#71a7f6;stroke-width:2;stroke-linecap:round;stroke-dasharray:7 93;filter:drop-shadow(0 0 3px #6aa4f3);opacity:0}
  .is-visible .ceiling-mobile-glow{animation:ceiling-mobile-trace 9s linear infinite;opacity:.8}
  .ceiling-counter-copy h2{font-size:clamp(24px,6.7vw,30px);line-height:1.18;letter-spacing:-.7px}
  .ceiling-counter-copy p{font-size:14px;line-height:1.6;margin-top:16px}
  .ceiling-counter-copy p br{display:none}
  .ceiling-total{padding:24px 0 0;border-top:1px solid #dbe5f2}
  .ceiling-digits{font-size:clamp(48px,15vw,76px);letter-spacing:-3px}
  .ceiling-measure{gap:10px}
  .ceiling-total>p{font-size:14px;margin-top:12px}
  .ceiling-as-of{font-size:12px;margin-top:5px}
}
@keyframes ceiling-mobile-trace{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.is-visible .ceiling-line-glow{animation:none;opacity:.6;stroke-dasharray:none}}
@media(prefers-reduced-motion:reduce){.is-visible .ceiling-mobile-glow{animation:none;opacity:0}}
