/* Page-specific skeleton silhouettes. */
.site-skeleton-shell--ttc,
.site-skeleton-shell--tet,
.site-skeleton-shell--home,
.site-skeleton-shell--about { height: 100%; }

.site-skeleton-shell--ttc { display: grid; grid-template-rows: 54px 1fr; }
.sk-block { display: block; border-radius: 6px; background: linear-gradient(100deg, rgba(143, 143, 143, .16) 22%, rgba(189, 189, 189, .34) 38%, rgba(143, 143, 143, .16) 54%); background-size: 240% 100%; animation: skeletonShimmer 1.25s ease-in-out infinite; }
.sk-topline { height: 54px; display: flex; align-items: center; gap: 16px; border-bottom: 1px solid rgba(128, 128, 128, .14); }
.sk-brand { width: 34px; height: 34px; border-radius: 10px; }.sk-topline .sk-route { width: 88px; height: 9px; }.sk-topline .sk-nav { width: 112px; height: 9px; margin-left: auto; }.sk-topline .sk-nav--short { width: 65px; margin-left: 0; }

.sk-ttc-card { width: min(550px, 100%); min-height: 420px; align-self: center; justify-self: center; display: flex; flex-direction: column; align-items: center; padding: 48px 54px 42px; border: 1px solid rgba(128, 128, 128, .16); background: rgba(235, 235, 235, .58); box-shadow: 12px 12px 0 rgba(128, 128, 128, .07); }
.sk-seal { width: 68px; height: 68px; margin-bottom: 27px; border-radius: 50%; }.sk-kicker { width: 190px; height: 8px; margin-bottom: 28px; }.sk-title { height: 49px; margin-bottom: 9px; border-radius: 5px; }.sk-ttc-card .sk-title { width: 78%; }.sk-title--short { width: 56% !important; }.sk-copy { width: 86%; height: 10px; margin-top: 20px; }.sk-copy--short { width: 67%; margin-top: 9px; }.sk-actions { width: 88%; display: flex; gap: 12px; margin-top: 34px; }.sk-actions .sk-block { flex: 1; height: 43px; border-radius: 4px; }.sk-route-line { width: 62%; height: 7px; margin-top: 27px; }

.site-skeleton-shell--tet { display: grid; grid-template-rows: 54px minmax(390px, 1fr) 130px; gap: 20px; }.sk-tet-hero { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 65px; }.sk-tet-copy { max-width: 470px; }.sk-tet-copy .sk-kicker, .sk-home-copy .sk-kicker, .sk-about-copy .sk-kicker { width: 150px; height: 8px; margin-bottom: 26px; }.sk-title--hero { width: min(390px, 88%); height: 54px; margin-bottom: 10px; }.sk-tet-copy .sk-copy, .sk-home-copy .sk-copy, .sk-about-copy .sk-copy { width: 90%; }.sk-countdown { min-height: 294px; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 30px; border: 1px solid rgba(128, 128, 128, .16); background: rgba(235, 235, 235, .5); }.sk-lantern { position: absolute; top: 28px; left: 11%; width: 30px; height: 50px; border-radius: 14px; }.sk-lantern--right { right: 11%; left: auto; }.sk-count-label { width: 160px; height: 8px; margin-bottom: 28px; }.sk-count-grid { display: grid; grid-template-columns: repeat(4, 1fr); width: 88%; gap: 13px; }.sk-count-grid .sk-block { height: 68px; border-radius: 3px; }.sk-count-rule { width: 72%; height: 7px; margin-top: 26px; }.sk-tet-lower { display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px; }.sk-picture { min-height: 130px; }.sk-card-stack { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }.sk-card-stack .sk-block { min-height: 130px; }

.site-skeleton-shell--home { display: grid; grid-template-rows: 54px minmax(400px, 1fr) 130px; gap: 20px; }.sk-home-hero { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 70px; }.sk-home-copy { max-width: 470px; }.sk-code-window { min-height: 310px; padding: 28px; border: 1px solid rgba(128, 128, 128, .16); background: rgba(235, 235, 235, .5); box-shadow: 12px 12px 0 rgba(128, 128, 128, .07); }.sk-code-top { width: 100%; height: 25px; margin-bottom: 36px; }.sk-code-line { width: 72%; height: 9px; margin-bottom: 18px; }.sk-code-line--long { width: 89%; }.sk-code-line--short { width: 46%; }.sk-home-copy .sk-actions { width: 75%; }.sk-portal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.sk-portal-grid .sk-block { min-height: 130px; }

.site-skeleton-shell--about { display: grid; grid-template-rows: 54px minmax(350px, 1fr) 130px; gap: 20px; }.sk-about-intro { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 70px; }.sk-about-copy { max-width: 470px; }.sk-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 29px; }.sk-facts .sk-block { height: 56px; }.sk-profile-card { min-height: 280px; padding: 28px; border: 1px solid rgba(128, 128, 128, .16); background: rgba(235, 235, 235, .5); box-shadow: 12px 12px 0 rgba(128, 128, 128, .07); }.sk-avatar { width: 82px; height: 82px; margin-bottom: 30px; border-radius: 50%; }.sk-card-line { width: 84%; height: 10px; margin-bottom: 14px; }.sk-card-line--short { width: 60%; }.sk-card-foot { width: 46%; height: 38px; margin-top: 26px; border-radius: 20px; }.sk-about-code { min-height: 130px; padding: 25px; border: 1px solid rgba(128, 128, 128, .16); background: rgba(235, 235, 235, .5); }.sk-about-code .sk-code-top { width: 28%; height: 20px; margin-bottom: 21px; }.sk-about-code .sk-code-line { margin-bottom: 12px; }

@media (max-width: 760px) {
  .site-skeleton-shell--ttc, .site-skeleton-shell--tet, .site-skeleton-shell--home, .site-skeleton-shell--about { width: min(100% - 34px, 1180px); padding-top: 20px; }
  .site-skeleton-shell--ttc { grid-template-rows: 50px 1fr; }.sk-topline { height: 50px; }.sk-topline .sk-nav { width: 76px; }.sk-topline .sk-nav--short { width: 42px; }
  .sk-ttc-card { min-height: 360px; padding: 35px 22px 30px; }.sk-ttc-card .sk-title { height: 39px; }
  .site-skeleton-shell--tet, .site-skeleton-shell--home, .site-skeleton-shell--about { grid-template-rows: auto 1fr; gap: 18px; }.sk-tet-hero, .sk-home-hero, .sk-about-intro { grid-template-columns: 1fr; gap: 22px; align-content: center; }.sk-tet-copy, .sk-home-copy, .sk-about-copy { max-width: 100%; }.sk-title--hero { height: 40px; }.sk-countdown { min-height: 220px; padding: 25px 14px; }.sk-count-grid { gap: 7px; }.sk-count-grid .sk-block { height: 47px; }.sk-tet-lower, .sk-portal-grid { display: none; }.sk-code-window { min-height: 225px; padding: 20px; }.sk-profile-card { min-height: 215px; }.sk-about-code { display: none; }.sk-facts { margin-top: 18px; }
}
@media (prefers-reduced-motion: reduce) { .sk-block { animation: none; } }
