/* 01 cover */
.cover-sec{position:relative;overflow:hidden;background:#11151E;color:#fff;border-top:0;min-height:100vh;padding:calc(var(--nav-h) + 28px) 0 72px;display:flex;flex-direction:column}
.cv-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 70% at 78% 42%,rgba(27,146,167,.16),rgba(27,146,167,0) 70%)}
.cover-wrap{position:relative;flex:1;display:flex;flex-direction:column;width:100%;max-width:1240px}
.cover-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:22px;border-bottom:1px solid rgba(160,184,196,.18);opacity:0;animation:cvFade .8s var(--ease-out) .1s forwards}
.cover-logo{width:150px;height:auto;display:block}
.cover-conf{display:flex;align-items:center;gap:12px;font:500 12.5px/1 var(--font-sans);letter-spacing:.04em;color:var(--nl-slate)}
.cover-conf i{display:block;width:4px;height:4px;border-radius:50%;background:var(--nl-teal)}
.cover-grid{flex:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:center;padding:56px 0 48px}
.cover-type{display:flex;align-items:center;gap:14px;font:600 13px/1 var(--font-sans);letter-spacing:.14em;color:var(--nl-teal-200);opacity:0;animation:cvFade .7s var(--ease-out) .15s forwards}
.ct-rule{display:block;width:44px;height:2px;background:var(--nl-teal);transform:scaleX(0);transform-origin:left;animation:cvRule .9s var(--ease-out) .1s forwards}
.cover-for{margin:44px 0 10px;font:400 15px/1 var(--font-sans);color:var(--nl-slate);opacity:0;animation:cvFade .7s var(--ease-out) .25s forwards}
.cover-sec h1{display:flex;flex-wrap:wrap;column-gap:.24em;color:#fff;font:700 clamp(3.25rem,6.2vw + .5rem,7.25rem)/.94 var(--font-serif);letter-spacing:-.028em;margin:0;max-width:9.5em;text-wrap:balance}
.cover-sec h1 .w{display:inline-block;overflow:hidden;padding:0 .02em .1em;margin-bottom:-.06em}
.cover-sec h1 .w>span{display:inline-block;transform:translateY(105%);animation:cvRise 1s cubic-bezier(.16,.84,.24,1) forwards}
.cover-sub{margin:34px 0 0;max-width:27em;font:300 clamp(1.125rem,.7vw + .9rem,1.5rem)/1.45 var(--font-sans);color:#C9D6DD;letter-spacing:-.005em;opacity:0;animation:cvUp .9s var(--ease-out) .75s forwards}

.cv{position:relative;align-self:center;margin-right:-56px}
.cv svg{width:100%;height:auto;overflow:visible;display:block}
.cv-glow{opacity:0;animation:cvFade 1.6s var(--ease-out) .5s forwards}
.plate{opacity:0;animation:plateIn .8s cubic-bezier(.16,.84,.24,1) forwards}
.plate polygon{stroke-linejoin:round}
.plate.ph-one .pl-top{fill:#22A6BC}
.plate.ph-one .pl-l{fill:#157888}
.plate.ph-one .pl-r{fill:#0F5F6C}
.plate.ph-next .pl-top{fill:#283041;stroke:#A0B8C4;stroke-width:1;stroke-opacity:.5}
.plate.ph-next .pl-l{fill:#1E2433;stroke:#A0B8C4;stroke-width:1;stroke-opacity:.3}
.plate.ph-next .pl-r{fill:#191E2B;stroke:#A0B8C4;stroke-width:1;stroke-opacity:.3}
.plate.ph-later polygon{fill:#141822;stroke:#A0B8C4;stroke-width:1.2;stroke-opacity:.7;stroke-dasharray:4 4}
.pl-lead{stroke:#A0B8C4;stroke-opacity:.35;stroke-width:1;stroke-dasharray:2 3}
.pl-lbl{opacity:0;animation:cvFade .6s var(--ease-out) forwards}
.pl-rank{font:700 12px var(--font-sans);fill:#7F95A1}
.pl-name{font:500 13px var(--font-sans);fill:#E6EDF1}
.pl-lbl.ph-one .pl-rank{fill:#7FCAD7}
.pl-lbl.ph-one .pl-name{fill:#fff;font-weight:600}
.pl-lbl.ph-later .pl-name{fill:#8DA2AD}

.cover-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(160,184,196,.18)}
.cover-stats.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cover-stats.n1{grid-template-columns:minmax(0,1fr)}
.cs{padding:26px 28px 24px 0;opacity:0;animation:cvUp .8s var(--ease-out) forwards}
.cs+.cs{padding-left:28px;border-left:1px solid rgba(160,184,196,.18)}
.cs-num{font:700 clamp(2.25rem,2.2vw + 1.25rem,3.5rem)/1 var(--font-serif);letter-spacing:-.02em;color:#fff;font-variant-numeric:lining-nums tabular-nums}
.cs:first-child .cs-num{color:#7FCAD7}
.cs-lbl{margin-top:10px;font:400 14px/1.4 var(--font-sans);color:var(--nl-slate);max-width:22em}
.cover-meta{display:flex;flex-wrap:wrap;gap:14px 56px;margin:0;padding-top:22px;border-top:1px solid rgba(160,184,196,.18);opacity:0;animation:cvFade .8s var(--ease-out) 1.5s forwards}
.cover-meta dt{font:500 11.5px/1 var(--font-sans);letter-spacing:.06em;color:#7F95A1;margin-bottom:7px}
.cover-meta dd{margin:0;color:#fff;font:500 14.5px/1.3 var(--font-sans)}
.cover-next{position:absolute;right:56px;bottom:26px;display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--nl-slate);font:500 13px var(--font-sans);cursor:pointer;padding:8px 0;opacity:0;animation:cvFade .8s var(--ease-out) 1.8s forwards}
.cover-next:hover{color:#fff}
.cover-next .ico{animation:cvNudge 2.4s var(--ease-in-out) 2.6s infinite}

@keyframes cvFade{to{opacity:1}}
@keyframes cvUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes cvRise{to{transform:none}}
@keyframes cvRule{to{transform:scaleX(1)}}
@keyframes cvNudge{0%,100%{transform:none}50%{transform:translateY(4px)}}
@keyframes plateIn{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:none}}
@keyframes fadeIn{to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .cover-sec *{animation-duration:1ms!important;animation-delay:0ms!important;animation-iteration-count:1!important}
}

@media (max-width:1100px){
  .cv{margin-right:0}
  .cover-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px}
}
@media (max-width:960px){
  .cover-grid{grid-template-columns:minmax(0,1fr);gap:24px;padding:44px 0 36px}
  .cv{max-width:540px;width:100%;margin:0 auto}
  .cv-light{background:radial-gradient(80% 50% at 50% 62%,rgba(27,146,167,.16),rgba(27,146,167,0) 70%)}
}
@media (max-width:640px){
  .cover-sec{min-height:auto;padding:calc(var(--nav-h) + 20px) 0 64px}
  .cover-logo{width:120px}
  .cover-conf{font-size:11.5px}
  .cover-for{margin-top:32px}
  .pl-name,.pl-lead{display:none}
  .cv{max-width:300px;margin:0 auto}
  .cover-stats,.cover-stats.n2{grid-template-columns:minmax(0,1fr)}
  .cs,.cs+.cs{padding:18px 0;border-left:0}
  .cs+.cs{border-top:1px solid rgba(160,184,196,.18)}
  .cover-meta{gap:14px 32px}
  .cover-next{right:auto;left:18px}
}
@media print{
  .cover-sec{min-height:auto;background:#11151E}
  .cover-grid{padding:28px 0}
  .cv{margin-right:0;max-width:420px}
  .cover-next{display:none}
}
