/* Hero elements — design tokens, keyframes and slot rules.
   Source: hero-elements-v2-fixed.html (Claude Design "Hero Elements v2", corrected 2026-10-05).
   Markup for each element lives in /components/hero-elements-data.js; the controller in /hero-elements.js. */
:root{--he-page:#0D1526;--he-card:#131D31;--he-line:rgba(255,255,255,0.08);--he-line-2:rgba(255,255,255,0.14);--he-ink:#EEF2F8;--he-ink-dim:#AAB6C8;--he-sel:#59ABEA;--he-pink:#EF2A9F;--he-orange:#FF7A1A;--he-yellow:#F7B500;--he-green:#34D399;--he-violet:#A78BFA;--he-red:#FF6B7A;--he-frame-bg:linear-gradient(180deg,#182540 0%,#111B2F 100%);--he-frame-line:rgba(255,255,255,0.14);--he-frame-shadow:0 30px 80px rgba(0,0,0,0.5);--he-pop:0 18px 40px rgba(0,0,0,0.45)}
:root[data-theme="light"]{--he-page:#F6F8FC;--he-card:#FFFFFF;--he-line:rgba(10,14,25,0.08);--he-line-2:rgba(10,14,25,0.14);--he-ink:#0B1220;--he-ink-dim:#4A5468;--he-sel:#2F5A9E;--he-pink:#C41E80;--he-orange:#B84F00;--he-yellow:#8A6500;--he-green:#0E7F5A;--he-violet:#6D3FD6;--he-red:#C4182F;--he-frame-bg:linear-gradient(180deg,#FFFFFF 0%,#ECEFF5 100%);--he-frame-line:rgba(10,14,25,0.14);--he-frame-shadow:0 30px 80px rgba(10,14,25,0.18);--he-pop:0 18px 40px rgba(9,46,82,0.16)}
/* slot = the hero's right column; keeps the 1.2fr/1fr grid ratio (nowrap text inside the frame must not widen the column) */
.he-slot{min-width:0}
.he-slot>[data-screen-label]{min-width:0;overflow:hidden}
/* narrow frames (mobile): header rows wrap instead of overlapping */
@media (max-width:560px){
  .he-slot [style*="justify-content: space-between"]{flex-wrap:wrap}
  .he-slot [style*="nowrap"]{white-space:normal}
}
@keyframes he-fu-0{0%,0%{opacity:0;transform:translateY(8px)}6%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-hl-12{0%,12%{background-size:0% 100%}22%,90%{background-size:100% 100%}96%,100%{background-size:0% 100%}}
@keyframes he-hl-28{0%,28%{background-size:0% 100%}38%,90%{background-size:100% 100%}96%,100%{background-size:0% 100%}}
@keyframes he-hl-44{0%,44%{background-size:0% 100%}54%,90%{background-size:100% 100%}96%,100%{background-size:0% 100%}}
@keyframes he-fr-18{0%,18%{opacity:0;transform:translateX(14px)}24%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(14px)}}
@keyframes he-fr-34{0%,34%{opacity:0;transform:translateX(14px)}40%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(14px)}}
@keyframes he-fr-50{0%,50%{opacity:0;transform:translateX(14px)}56%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(14px)}}
@keyframes he-sc-58{0%,58%{opacity:0;transform:scale(.8)}64%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-ring-58{0%,58%{box-shadow:0 0 0 0 rgba(52,211,153,0)}62%{box-shadow:0 0 0 0 rgba(52,211,153,.45)}74%,100%{box-shadow:0 0 0 14px rgba(52,211,153,0)}}
@keyframes he-fa-8{0%,8%{opacity:0}14%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes he-sx-12{0%,12%{transform:scaleX(0)}22%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
@keyframes he-sc-20{0%,20%{opacity:0;transform:scale(.8)}26%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sx-18{0%,18%{transform:scaleX(0)}28%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
@keyframes he-sc-26{0%,26%{opacity:0;transform:scale(.8)}32%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sx-24{0%,24%{transform:scaleX(0)}34%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
@keyframes he-sc-32{0%,32%{opacity:0;transform:scale(.8)}38%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sx-30{0%,30%{transform:scaleX(0)}40%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
@keyframes he-sc-38{0%,38%{opacity:0;transform:scale(.8)}44%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-fu-44{0%,44%{opacity:0;transform:translateY(8px)}50%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-sc-52{0%,52%{opacity:0;transform:scale(.8)}58%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-ring-52{0%,52%{box-shadow:0 0 0 0 rgba(52,211,153,0)}56%{box-shadow:0 0 0 0 rgba(52,211,153,.45)}68%,100%{box-shadow:0 0 0 14px rgba(52,211,153,0)}}
@keyframes he-sc-40{0%,40%{opacity:0;transform:scale(.8)}46%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-41{0%,41%{opacity:0;transform:scale(.8)}47%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-42{0%,42%{opacity:0;transform:scale(.8)}48%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-43{0%,43%{opacity:0;transform:scale(.8)}49%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-44{0%,44%{opacity:0;transform:scale(.8)}50%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-45{0%,45%{opacity:0;transform:scale(.8)}51%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-46{0%,46%{opacity:0;transform:scale(.8)}52%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-47{0%,47%{opacity:0;transform:scale(.8)}53%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-48{0%,48%{opacity:0;transform:scale(.8)}54%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-49{0%,49%{opacity:0;transform:scale(.8)}55%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-50{0%,50%{opacity:0;transform:scale(.8)}56%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-51{0%,51%{opacity:0;transform:scale(.8)}57%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-24{0%,24%{opacity:0;transform:scale(.8)}30%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-fu-12{0%,12%{opacity:0;transform:translateY(8px)}18%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-dr-28{0%,28%{stroke-dashoffset:1}40%,90%{stroke-dashoffset:0}96%,100%{stroke-dashoffset:1}}
@keyframes he-fu-22{0%,22%{opacity:0;transform:translateY(8px)}28%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-fu-32{0%,32%{opacity:0;transform:translateY(8px)}38%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-fa-4{0%,4%{opacity:0}10%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes he-sc-18{0%,18%{opacity:0;transform:scale(.8)}24%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-ring-46{0%,46%{box-shadow:0 0 0 0 rgba(52,211,153,0)}50%{box-shadow:0 0 0 0 rgba(52,211,153,.45)}62%,100%{box-shadow:0 0 0 14px rgba(52,211,153,0)}}
@keyframes he-sc-8{0%,8%{opacity:0;transform:scale(.8)}14%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-12{0%,12%{opacity:0;transform:scale(.8)}18%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-16{0%,16%{opacity:0;transform:scale(.8)}22%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-fu-30{0%,30%{opacity:0;transform:translateY(8px)}36%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-fr-38{0%,38%{opacity:0;transform:translateX(14px)}44%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(14px)}}
@keyframes he-hl-10{0%,10%{background-size:0% 100%}20%,90%{background-size:100% 100%}96%,100%{background-size:0% 100%}}
@keyframes he-hl-17{0%,17%{background-size:0% 100%}27%,90%{background-size:100% 100%}96%,100%{background-size:0% 100%}}
@keyframes he-hl-24{0%,24%{background-size:0% 100%}34%,90%{background-size:100% 100%}96%,100%{background-size:0% 100%}}
@keyframes he-hl-31{0%,31%{background-size:0% 100%}41%,90%{background-size:100% 100%}96%,100%{background-size:0% 100%}}
@keyframes he-hl-38{0%,38%{background-size:0% 100%}48%,90%{background-size:100% 100%}96%,100%{background-size:0% 100%}}
@keyframes he-sc-14{0%,14%{opacity:0;transform:scale(.8)}20%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-21{0%,21%{opacity:0;transform:scale(.8)}27%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-28{0%,28%{opacity:0;transform:scale(.8)}34%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-35{0%,35%{opacity:0;transform:scale(.8)}41%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sx-44{0%,44%{transform:scaleX(0)}54%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
@keyframes he-sc-56{0%,56%{opacity:0;transform:scale(.8)}62%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-ring-56{0%,56%{box-shadow:0 0 0 0 rgba(52,211,153,0)}60%{box-shadow:0 0 0 0 rgba(52,211,153,.45)}72%,100%{box-shadow:0 0 0 14px rgba(52,211,153,0)}}
@keyframes he-sy-8{0%,8%{transform:scaleY(0)}18%,90%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes he-sy-11{0%,11%{transform:scaleY(0)}21%,90%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes he-sy-14{0%,14%{transform:scaleY(0)}24%,90%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes he-sy-17{0%,17%{transform:scaleY(0)}27%,90%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes he-sy-20{0%,20%{transform:scaleY(0)}30%,90%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes he-sy-23{0%,23%{transform:scaleY(0)}33%,90%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes he-sy-26{0%,26%{transform:scaleY(0)}36%,90%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes he-sy-29{0%,29%{transform:scaleY(0)}39%,90%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes he-sy-32{0%,32%{transform:scaleY(0)}42%,90%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes he-sy-35{0%,35%{transform:scaleY(0)}45%,90%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes he-fa-40{0%,40%{opacity:0}46%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes he-fa-44{0%,44%{opacity:0}50%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes he-fu-50{0%,50%{opacity:0;transform:translateY(8px)}56%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-sx-8{0%,8%{transform:scaleX(0)}18%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
@keyframes he-fu-24{0%,24%{opacity:0;transform:translateY(8px)}30%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-sc-22{0%,22%{opacity:0;transform:scale(.8)}28%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-ring-48{0%,48%{box-shadow:0 0 0 0 rgba(52,211,153,0)}52%{box-shadow:0 0 0 0 rgba(52,211,153,.45)}64%,100%{box-shadow:0 0 0 14px rgba(52,211,153,0)}}
@keyframes he-dr-22{0%,22%{stroke-dashoffset:1}34%,90%{stroke-dashoffset:0}96%,100%{stroke-dashoffset:1}}
@keyframes he-fl-4{0%,4%{opacity:0;transform:translateX(-14px)}10%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(-14px)}}
@keyframes he-fl-8{0%,8%{opacity:0;transform:translateX(-14px)}14%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(-14px)}}
@keyframes he-fl-12{0%,12%{opacity:0;transform:translateX(-14px)}18%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(-14px)}}
@keyframes he-fl-16{0%,16%{opacity:0;transform:translateX(-14px)}22%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(-14px)}}
@keyframes he-fl-20{0%,20%{opacity:0;transform:translateX(-14px)}26%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(-14px)}}
@keyframes he-dr-26{0%,26%{stroke-dashoffset:1}38%,90%{stroke-dashoffset:0}96%,100%{stroke-dashoffset:1}}
@keyframes he-dr-30{0%,30%{stroke-dashoffset:1}42%,90%{stroke-dashoffset:0}96%,100%{stroke-dashoffset:1}}
@keyframes he-dr-34{0%,34%{stroke-dashoffset:1}46%,90%{stroke-dashoffset:0}96%,100%{stroke-dashoffset:1}}
@keyframes he-dr-38{0%,38%{stroke-dashoffset:1}50%,90%{stroke-dashoffset:0}96%,100%{stroke-dashoffset:1}}
@keyframes he-fa-18{0%,18%{opacity:0}24%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes he-fu-56{0%,56%{opacity:0;transform:translateY(8px)}62%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-rc-30{0%,30%{background-color:#EF2A9F}36%,90%{background-color:#FF7A1A}96%,100%{background-color:#EF2A9F}}
@keyframes he-xo-28{0%,28%{opacity:1}34%,90%{opacity:0}96%,100%{opacity:1}}
@keyframes he-fa-30{0%,30%{opacity:0}36%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes he-fa-24{0%,24%{opacity:0}30%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes he-fu-38{0%,38%{opacity:0;transform:translateY(8px)}44%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-ring-50{0%,50%{box-shadow:0 0 0 0 rgba(52,211,153,0)}54%{box-shadow:0 0 0 0 rgba(52,211,153,.45)}66%,100%{box-shadow:0 0 0 14px rgba(52,211,153,0)}}
@keyframes he-sy-6{0%,6%{transform:scaleY(0)}16%,90%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes he-fl-14{0%,14%{opacity:0;transform:translateX(-14px)}20%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(-14px)}}
@keyframes he-fa-16{0%,16%{opacity:0}22%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes he-fr-24{0%,24%{opacity:0;transform:translateX(14px)}30%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(14px)}}
@keyframes he-fa-26{0%,26%{opacity:0}32%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes he-fl-34{0%,34%{opacity:0;transform:translateX(-14px)}40%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(-14px)}}
@keyframes he-fa-36{0%,36%{opacity:0}42%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes he-fr-44{0%,44%{opacity:0;transform:translateX(14px)}50%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(14px)}}
@keyframes he-fa-46{0%,46%{opacity:0}52%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes he-fu-52{0%,52%{opacity:0;transform:translateY(8px)}58%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-fu-6{0%,6%{opacity:0;transform:translateY(8px)}12%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-hl-16{0%,16%{background-size:0% 100%}26%,90%{background-size:100% 100%}96%,100%{background-size:0% 100%}}
@keyframes he-fu-14{0%,14%{opacity:0;transform:translateY(8px)}20%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-fu-20{0%,20%{opacity:0;transform:translateY(8px)}26%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-fu-36{0%,36%{opacity:0;transform:translateY(8px)}42%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-fu-42{0%,42%{opacity:0;transform:translateY(8px)}48%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-sc-6{0%,6%{opacity:0;transform:scale(.8)}12%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sx-11{0%,11%{transform:scaleX(0)}21%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
@keyframes he-sx-21{0%,21%{transform:scaleX(0)}31%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
@keyframes he-sx-31{0%,31%{transform:scaleX(0)}41%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
@keyframes he-sc-36{0%,36%{opacity:0;transform:scale(.8)}42%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-cl-48{0%,48%{clip-path:inset(0 100% 0 0)}60%,90%{clip-path:inset(0 0 0 0)}96%,100%{clip-path:inset(0 100% 0 0)}}
@keyframes he-sc-7{0%,7%{opacity:0;transform:scale(.8)}13%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-13{0%,13%{opacity:0;transform:scale(.8)}19%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-19{0%,19%{opacity:0;transform:scale(.8)}25%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-25{0%,25%{opacity:0;transform:scale(.8)}31%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-9{0%,9%{opacity:0;transform:scale(.8)}15%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-15{0%,15%{opacity:0;transform:scale(.8)}21%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-27{0%,27%{opacity:0;transform:scale(.8)}33%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-10{0%,10%{opacity:0;transform:scale(.8)}16%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-11{0%,11%{opacity:0;transform:scale(.8)}17%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-17{0%,17%{opacity:0;transform:scale(.8)}23%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-23{0%,23%{opacity:0;transform:scale(.8)}29%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-29{0%,29%{opacity:0;transform:scale(.8)}35%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-fu-48{0%,48%{opacity:0;transform:translateY(8px)}54%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-fr-22{0%,22%{opacity:0;transform:translateX(14px)}28%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateX(14px)}}
@keyframes he-sc-54{0%,54%{opacity:0;transform:scale(.8)}60%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-ring-54{0%,54%{box-shadow:0 0 0 0 rgba(52,211,153,0)}58%{box-shadow:0 0 0 0 rgba(52,211,153,.45)}70%,100%{box-shadow:0 0 0 14px rgba(52,211,153,0)}}
@keyframes he-sc-57{0%,57%{opacity:0;transform:scale(.8)}63%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-59{0%,59%{opacity:0;transform:scale(.8)}65%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-60{0%,60%{opacity:0;transform:scale(.8)}66%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-61{0%,61%{opacity:0;transform:scale(.8)}67%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-62{0%,62%{opacity:0;transform:scale(.8)}68%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-63{0%,63%{opacity:0;transform:scale(.8)}69%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-64{0%,64%{opacity:0;transform:scale(.8)}70%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-65{0%,65%{opacity:0;transform:scale(.8)}71%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-66{0%,66%{opacity:0;transform:scale(.8)}72%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-sc-67{0%,67%{opacity:0;transform:scale(.8)}73%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-ring-44{0%,44%{box-shadow:0 0 0 0 rgba(52,211,153,0)}48%{box-shadow:0 0 0 0 rgba(52,211,153,.45)}60%,100%{box-shadow:0 0 0 14px rgba(52,211,153,0)}}
@keyframes he-fa-6{0%,6%{opacity:0}12%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes he-sx-10{0%,10%{transform:scaleX(0)}20%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
@keyframes he-sx-15{0%,15%{transform:scaleX(0)}25%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
@keyframes he-sx-20{0%,20%{transform:scaleX(0)}30%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
@keyframes he-sx-25{0%,25%{transform:scaleX(0)}35%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0)}}
@keyframes he-sc-33{0%,33%{opacity:0;transform:scale(.8)}39%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:scale(.8)}}
@keyframes he-dr-54{0%,54%{stroke-dashoffset:1}66%,90%{stroke-dashoffset:0}96%,100%{stroke-dashoffset:1}}
@keyframes he-fu-46{0%,46%{opacity:0;transform:translateY(8px)}52%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes he-live{0%{box-shadow:0 0 0 0 rgba(247,181,0,.55)}70%,100%{box-shadow:0 0 0 8px rgba(247,181,0,0)}}
/* 375px verification: keep the Grade draft-score label clear of the score and approval. */
@media (max-width:375px){
  [data-screen-label="pillar-grade · hero elements"] > div > div:last-child{flex-wrap:wrap}
  [data-screen-label="pillar-grade · hero elements"] > div > div:last-child > div:first-child{flex:1 0 100% !important}
}
/* Round 3: scoped narrow-frame corrections verified at 375px. */
@media (max-width:560px){
  [data-screen-label="pillar-certify · hero elements"] > div{grid-template-columns:minmax(0,1fr) !important}
  [data-screen-label="pillar-certify · hero elements"] > div > div:last-child{height:260px !important}
  [data-screen-label="ai · hero elements"] > div:nth-child(2){margin-top:30px}
  [data-screen-label="ai · hero elements"] > div:nth-child(2) > div:nth-child(2) > div{top:-26px !important;transform:translate(-50%,0) !important}
  [data-screen-label="partners · hero elements"] > div{grid-template-columns:minmax(0,1fr) !important}
}
/* pillar-assign, narrow frames: wider Friday column, stacked day headers, Friday exam tile wraps instead of clipping */
@media (max-width:560px){
  [data-screen-label="pillar-assign · hero elements"] > div:nth-child(2){grid-template-columns:34px repeat(4,minmax(0,.75fr)) minmax(0,2.4fr) !important}
  [data-screen-label="pillar-assign · hero elements"] > div:nth-child(2) > div:nth-child(n+2):nth-child(-n+6){flex-direction:column;align-items:center;gap:0 !important;padding:3px 2px !important}
  [data-screen-label="pillar-assign · hero elements"] > div:nth-child(2) > div:last-child > div{height:auto !important;min-height:38px;padding:5px 7px !important}
  [data-screen-label="pillar-assign · hero elements"] > div:nth-child(2) > div:last-child > div > span{white-space:normal !important;line-height:1.2}
}
