/* Living Narwhale Constellation — artwork and interactions share one atlas. */
.skills-section { position: relative; isolation: isolate; }
.celestial-constellation {
  --star: #a8efff;
  --star-hot: #fff0b0;
  position: relative;
  min-height: clamp(620px, 63vw, 720px);
  margin: 2.25rem auto 0;
  overflow: hidden;
  border: 1px solid rgba(146, 214, 255, .24);
  border-radius: 4px 36px 4px 36px;
  background:
    radial-gradient(circle at 58% 45%, rgba(61, 119, 210, .26), transparent 27%),
    radial-gradient(ellipse at 76% 28%, rgba(110, 74, 194, .2), transparent 40%),
    linear-gradient(145deg, #07152d 0%, #10295a 46%, #111746 100%);
  box-shadow: inset 0 0 95px rgba(3, 8, 30, .78), 0 24px 70px rgba(15, 42, 76, .2);
  color: #eefaff;
  transform: translateZ(0);
}
.celestial-constellation::before,
.celestial-constellation::after {
  content: '';
  position: absolute;
  z-index: 8;
  pointer-events: none;
}
.celestial-constellation::before {
  inset: 12px;
  border: 1px solid rgba(175, 227, 255, .1);
  border-radius: 2px 28px 2px 28px;
  clip-path: polygon(0 0, 28% 0, 28% 2px, 72% 2px, 72% 0, 100% 0, 100% 100%, 72% 100%, 72% calc(100% - 2px), 28% calc(100% - 2px), 28% 100%, 0 100%);
}
.celestial-constellation::after {
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(159, 231, 255, .09), transparent);
  opacity: 0;
  transform: translateX(-100%);
}
.celestial-constellation.constellation-revealed::after { animation: narwhal-scan 1.25s .3s ease-out both; }

.celestial-nebula {
  position: absolute;
  inset: -35%;
  background:
    conic-gradient(from 140deg at 58% 46%, transparent 0 24%, rgba(71, 144, 216, .1) 31%, transparent 39% 66%, rgba(122, 82, 205, .08) 76%, transparent 84%),
    radial-gradient(ellipse at center, rgba(80, 177, 220, .12), transparent 57%);
  filter: blur(18px);
  animation: narwhal-nebula 44s linear infinite;
}
.celestial-dust { position: absolute; z-index: 1; inset: 0; transition: transform 1.1s cubic-bezier(.16, .78, .18, 1); }
.celestial-dust i {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--s);
  height: var(--s);
  border-radius: 50%;
  background: #dff9ff;
  opacity: .18;
  box-shadow: 0 0 5px rgba(202, 242, 255, .8);
  animation: narwhal-twinkle 4.2s var(--d) ease-in-out infinite alternate;
}
.talent-focused .celestial-dust { transform: translate3d(-.6%, -1%, 0) scale(1.018); }

.constellation-zoom-layer { position: absolute; z-index: 2; inset: 0; }
.narwhal-atlas {
  position: absolute;
  left: 56%;
  top: 50%;
  width: min(710px, 64vw);
  aspect-ratio: 1;
  transform: translate(-50%, -50%) scale(1);
  transform-origin: 50% 50%;
  transition: transform 1s cubic-bezier(.16, .78, .18, 1);
}
.talent-focused[data-active-skill="fullstack"] .narwhal-atlas { transform: translate(-43.5%, -45.5%) scale(1.18); }
.talent-focused[data-active-skill="ai"] .narwhal-atlas { transform: translate(-53%, -45%) scale(1.19); }
.talent-focused[data-active-skill="systems"] .narwhal-atlas { transform: translate(-58%, -50%) scale(1.2); }
.talent-focused[data-active-skill="project"] .narwhal-atlas { transform: translate(-47%, -58%) scale(1.17); }

.monoceros-reference {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  opacity: 0;
  transform: scale(.92);
}
.constellation-revealed .monoceros-reference { animation: narwhal-reveal 1.55s .16s cubic-bezier(.2, .72, .2, 1) forwards; }
.celestial-map { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; overflow: visible; }

.gateway-links path,
.region-preview,
.skill-route,
.skill-route-pulse,
.energy-transit-line,
.skill-leader {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.gateway-links path {
  stroke: rgba(139, 225, 255, .2);
  stroke-width: 2.1;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  filter: url(#narwhal-glow);
}
.gateway-links .tusk-link { stroke: rgba(255, 232, 161, .22); }
.constellation-revealed .gateway-links path { animation: narwhal-draw 1.4s .48s cubic-bezier(.26, .74, .2, 1) forwards; }
.constellation-revealed .gateway-links path:nth-child(2) { animation-delay: .62s; }
.constellation-revealed .gateway-links path:nth-child(3) { animation-delay: .76s; }
.constellation-revealed .gateway-links path:nth-child(4) { animation-delay: .9s; }
.constellation-revealed .gateway-links path:nth-child(5) { animation-delay: 1.04s; }
.constellation-revealed .gateway-links path:nth-child(6) { animation-delay: 1.18s; }

.region-preview {
  stroke: rgba(163, 235, 255, .76);
  stroke-width: 3;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0;
  filter: url(#narwhal-glow);
  transition: opacity .3s ease, stroke-dashoffset .65s ease;
}
.project-convergence path {
  fill: none;
  stroke: url(#narwhal-transit);
  stroke-width: 5;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0;
  filter: url(#narwhal-glow);
}
.project-convergence .project-support-link { stroke-width: 2.2; }
.celestial-constellation[data-active-skill="project"] .project-convergence path { animation: narwhal-converge .74s .12s cubic-bezier(.2, .72, .2, 1) forwards; }
.celestial-constellation[data-active-skill="project"] .project-convergence path:nth-child(2) { animation-delay: .2s; }
.celestial-constellation[data-active-skill="project"] .project-convergence .project-support-link { animation-delay: .28s; }
.celestial-constellation:not(.talent-focused)[data-preview-skill="fullstack"] .region-fullstack,
.celestial-constellation:not(.talent-focused)[data-preview-skill="ai"] .region-ai,
.celestial-constellation:not(.talent-focused)[data-preview-skill="systems"] .region-systems,
.celestial-constellation:not(.talent-focused)[data-preview-skill="project"] .region-project {
  opacity: .48;
  stroke-dashoffset: 0;
}
.celestial-constellation[data-active-skill="fullstack"] .region-fullstack,
.celestial-constellation[data-active-skill="ai"] .region-ai,
.celestial-constellation[data-active-skill="systems"] .region-systems,
.celestial-constellation[data-active-skill="project"] .region-project {
  opacity: .18;
  stroke-dashoffset: 0;
}

.skill-network { opacity: 1; transform-origin: center; transition: opacity .15s ease, transform .15s ease; }
.talent-collapsing .skill-network { opacity: 0; transform: scale(.985); }
.skill-route {
  stroke: url(#narwhal-line);
  stroke-width: 4;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0;
  filter: url(#narwhal-glow);
}
.network-awake .skill-route { animation: narwhal-route-draw 1.05s .38s cubic-bezier(.2, .72, .2, 1) forwards; }
.skill-route-pulse {
  stroke: #fff3b7;
  stroke-width: 8;
  stroke-dasharray: .025 .975;
  stroke-dashoffset: 1;
  opacity: 0;
  filter: url(#narwhal-glow);
}
.network-awake .skill-route-pulse { animation: narwhal-route-pulse 1.35s .45s ease-out both; }
.skill-point { opacity: 0; transform-box: fill-box; transform-origin: center; }
.network-awake .skill-point { animation: narwhal-point-arrive .52s var(--point-delay) cubic-bezier(.18, .8, .2, 1) forwards; }
.skill-leader { stroke: rgba(151, 228, 255, .3); stroke-width: 1.2; }
.skill-point-halo { fill: rgba(113, 215, 255, .08); stroke: rgba(165, 235, 255, .58); stroke-width: 1.4; }
.skill-point-core { fill: #d8f9ff; stroke: #fff0b3; stroke-width: 2; filter: url(#narwhal-glow); }
.skill-label {
  fill: rgba(231, 249, 255, .92);
  font: 600 18px/1 var(--sans);
  letter-spacing: 1px;
  paint-order: stroke;
  stroke: rgba(4, 15, 43, .94);
  stroke-width: 6px;
  text-transform: uppercase;
}
.skill-index { display: none; }

.energy-transit-line {
  stroke: url(#narwhal-transit);
  stroke-width: 5;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0;
  filter: url(#narwhal-glow);
}
.has-transit .energy-transit-line { animation: narwhal-transit-line .64s ease-out both; }
.energy-mote { fill: #fff7cf; opacity: 0; filter: url(#narwhal-glow); }
.has-transit .energy-mote { animation: narwhal-mote .64s ease-out both; }

.constellation-focus-vignette {
  --focus-x: 33.33%;
  --focus-y: 10%;
  position: absolute;
  z-index: 3;
  inset: -2px;
  pointer-events: none;
  background: radial-gradient(circle at var(--focus-x) var(--focus-y), rgba(255, 240, 176, .1) 0, rgba(105, 211, 255, .055) 13%, transparent 34%);
  opacity: 0;
  transition: opacity .55s ease;
}
.talent-focused .constellation-focus-vignette { opacity: 1; }
.celestial-constellation[data-active-skill="ai"] .constellation-focus-vignette { --focus-x: var(--galaxy-node-x); --focus-y: var(--galaxy-node-y); }
.celestial-constellation[data-active-skill="systems"] .constellation-focus-vignette { --focus-x: var(--galaxy-node-x); --focus-y: var(--galaxy-node-y); }
.celestial-constellation[data-active-skill="project"] .constellation-focus-vignette { --focus-x: var(--galaxy-node-x); --focus-y: var(--galaxy-node-y); }

.constellation-nodes { position: absolute; z-index: 5; inset: 0; pointer-events: none; }
.constellation-node {
  position: absolute;
  width: 46px;
  min-height: 46px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(232, 249, 255, .84);
  cursor: pointer;
  pointer-events: auto;
  transform: translate(-50%, -50%);
  opacity: 0;
}
.node-fullstack { left: 33.333%; top: 10%; }
.node-ai { left: 57.407%; top: 16.296%; }
.node-systems { left: 80.37%; top: 49.074%; }
.node-project { left: 43.148%; top: 71.944%; }
.constellation-revealed .constellation-node { animation: narwhal-node-in .65s 1.05s cubic-bezier(.2, .8, .2, 1) forwards; }
.constellation-revealed .node-ai { animation-delay: 1.18s; }
.constellation-revealed .node-systems { animation-delay: 1.31s; }
.constellation-revealed .node-project { animation-delay: 1.44s; }
.node-star {
  position: relative;
  display: grid;
  width: 38px;
  height: 38px;
  margin: 4px auto;
  place-items: center;
  border: 1px solid rgba(168, 235, 255, .68);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(208, 247, 255, .18), transparent 60%);
  box-shadow: 0 0 0 8px rgba(125, 215, 255, .055), 0 0 22px rgba(93, 210, 255, .42);
  transition: border-color .3s ease, box-shadow .3s ease, filter .3s ease;
}
.node-star::before,
.node-star::after,
.node-star i::before,
.node-star i::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  background: var(--star);
  box-shadow: 0 0 8px var(--star);
  transform: translate(-50%, -50%);
}
.node-star::before { width: 29px; height: 2px; }
.node-star::after { width: 2px; height: 29px; }
.node-star i::before { width: 19px; height: 1px; transform: translate(-50%, -50%) rotate(45deg); }
.node-star i::after { width: 1px; height: 19px; transform: translate(-50%, -50%) rotate(45deg); }
.node-copy {
  position: absolute;
  left: 50%;
  top: 49px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .42rem;
  width: 180px;
  color: inherit;
  font: 600 .72rem/1.25 var(--serif);
  letter-spacing: .11em;
  text-transform: uppercase;
  text-shadow: 0 1px 8px rgba(3, 12, 35, .95);
  white-space: nowrap;
  transform: translateX(-50%);
  transition: color .3s ease, letter-spacing .3s ease;
}
.node-copy small { color: rgba(255, 235, 165, .7); font: 500 .54rem/1 var(--sans); letter-spacing: .05em; }
.node-project .node-copy { left: auto; right: 52px; top: 50%; justify-content: flex-end; width: 210px; transform: translateY(-50%); }
.constellation-node:hover .node-copy,
.constellation-node:focus-visible .node-copy,
.constellation-node[aria-pressed="true"] .node-copy { color: #fff8d8; letter-spacing: .14em; }
.constellation-node:focus-visible { outline: 1px solid rgba(255, 237, 178, .76); outline-offset: 7px; border-radius: 50%; }
.constellation-node[aria-pressed="true"] .node-star {
  border-color: rgba(255, 237, 179, .92);
  box-shadow: 0 0 0 8px rgba(255, 228, 145, .08), 0 0 28px rgba(255, 236, 166, .78);
  animation: narwhal-active-star 2.8s ease-in-out infinite alternate;
}
.talent-unlocking .constellation-node[aria-pressed="true"] .node-star { animation: narwhal-star-bloom .82s .2s cubic-bezier(.16, .8, .2, 1) both; }
.constellation-node[aria-pressed="true"] .node-star::before,
.constellation-node[aria-pressed="true"] .node-star::after,
.constellation-node[aria-pressed="true"] .node-star i::before,
.constellation-node[aria-pressed="true"] .node-star i::after { background: var(--star-hot); box-shadow: 0 0 9px var(--star-hot); }
.talent-focused .constellation-node:not([aria-pressed="true"]) { opacity: .28 !important; filter: saturate(.45); }
.celestial-constellation[data-active-skill="project"] :is(.node-ai, .node-systems):not([aria-pressed="true"]) { opacity: .5 !important; filter: saturate(.75); }

.constellation-screen-copy {
  position: absolute;
  z-index: 6;
  left: clamp(28px, 4.5vw, 68px);
  top: clamp(28px, 5vw, 57px);
  max-width: 330px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(12px);
}
.constellation-revealed .constellation-screen-copy { animation: narwhal-copy-in .7s 1.38s ease-out forwards; }
.constellation-screen-copy p {
  margin: 0 0 .55rem;
  color: rgba(161, 229, 255, .68);
  font: 600 .62rem/1 var(--sans);
  letter-spacing: .22em;
  text-transform: uppercase;
}
.constellation-screen-copy p span { color: rgba(255, 232, 168, .58); }
.constellation-screen-copy h3 {
  margin: 0;
  color: #eefbff;
  font: 500 clamp(1.45rem, 2.3vw, 2.25rem)/1 var(--serif);
  letter-spacing: .09em;
  text-shadow: 0 0 25px rgba(107, 210, 255, .32);
  text-transform: uppercase;
}
.constellation-screen-copy > span { display: block; margin-top: .7rem; color: rgba(210, 236, 255, .54); font-size: .7rem; line-height: 1.6; letter-spacing: .06em; }
.talent-focused .constellation-screen-copy { animation: none; opacity: .36; transform: translateY(-4px) scale(.95); transform-origin: left top; transition: opacity .5s ease, transform .7s ease; }

.constellation-current {
  position: absolute;
  z-index: 6;
  right: clamp(28px, 4vw, 60px);
  bottom: clamp(24px, 4vw, 48px);
  padding-right: .95rem;
  border-right: 1px solid rgba(255, 232, 162, .45);
  text-align: right;
}
.constellation-current small { display: block; margin-bottom: .35rem; color: rgba(255, 232, 162, .58); font-size: .54rem; letter-spacing: .2em; text-transform: uppercase; }
.constellation-current span { color: rgba(232, 249, 255, .9); font: 500 clamp(.7rem, 1.1vw, .86rem)/1.2 var(--serif); letter-spacing: .1em; text-transform: uppercase; }
.constellation-reset {
  position: absolute;
  z-index: 9;
  top: clamp(24px, 4vw, 46px);
  right: clamp(25px, 4vw, 52px);
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .62rem .85rem;
  border: 1px solid rgba(172, 229, 255, .28);
  background: rgba(5, 18, 48, .62);
  color: rgba(224, 247, 255, .82);
  font: 600 .58rem/1 var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  backdrop-filter: blur(9px);
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity .3s ease .25s, transform .3s ease .25s, border-color .25s ease, color .25s ease;
}
.constellation-reset[hidden] { display: none; }
.talent-focused .constellation-reset { opacity: 1; transform: translateY(0); }
.constellation-reset:hover,
.constellation-reset:focus-visible { color: #fff4c4; border-color: rgba(255, 234, 169, .72); }
.constellation-reset span { color: #ffe8a3; font-size: .9rem; }
.mobile-skill-ledger { display: none; }

.celestial-constellation[data-active="false"] :is(.celestial-nebula, .celestial-dust i, .node-star) { animation-play-state: paused; }
.skills-section .talent-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 0; }
.skills-section .talent-card { min-height: 242px; padding-inline: 23px; }
.portfolio-page .paper .talent-card:nth-child(4) .talent-icon { border-color: #c5b978; background: #eef0db; color: #8a8144; }
.night .celestial-constellation {
  background:
    radial-gradient(circle at 58% 45%, rgba(47, 118, 224, .33), transparent 29%),
    radial-gradient(ellipse at 76% 27%, rgba(126, 73, 221, .27), transparent 42%),
    linear-gradient(145deg, #03091d 0%, #0a1b46 48%, #100e3c 100%);
  border-color: rgba(130, 208, 255, .32);
  box-shadow: inset 0 0 110px rgba(1, 4, 18, .86), 0 28px 80px rgba(3, 12, 38, .38);
}

@keyframes narwhal-draw { to { stroke-dashoffset: 0; } }
@keyframes narwhal-scan { 0% { opacity: 0; transform: translateX(-100%); } 35% { opacity: 1; } 100% { opacity: 0; transform: translateX(100%); } }
@keyframes narwhal-nebula { to { transform: rotate(360deg) scale(1.06); } }
@keyframes narwhal-twinkle { from { opacity: .07; transform: scale(.65); } to { opacity: .54; transform: scale(1.32); } }
@keyframes narwhal-node-in { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.35) rotate(-16deg); } 68% { opacity: 1; transform: translate(-50%, -50%) scale(1.1) rotate(3deg); } 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes narwhal-active-star { to { transform: scale(1.08); filter: brightness(1.18); } }
@keyframes narwhal-star-bloom { 0% { transform: scale(.76); filter: brightness(.9); } 52% { transform: scale(1.5); filter: brightness(2); box-shadow: 0 0 0 19px rgba(255, 231, 155, .1), 0 0 46px rgba(255, 241, 190, .92); } 100% { transform: scale(1); filter: brightness(1.14); } }
@keyframes narwhal-route-draw { 0% { opacity: .1; stroke-dashoffset: 1; } 100% { opacity: 1; stroke-dashoffset: 0; } }
@keyframes narwhal-route-pulse { 0% { opacity: 0; stroke-dashoffset: 1; } 16%, 72% { opacity: .9; } 100% { opacity: 0; stroke-dashoffset: 0; } }
@keyframes narwhal-converge { 0% { opacity: 0; stroke-dashoffset: 1; } 72% { opacity: .9; } 100% { opacity: .46; stroke-dashoffset: 0; } }
@keyframes narwhal-point-arrive { 0% { opacity: 0; transform: scale(.35); } 62% { opacity: 1; transform: scale(1.24); } 100% { opacity: 1; transform: scale(1); } }
@keyframes narwhal-transit-line { 0% { opacity: 0; stroke-dashoffset: 1; } 20%, 70% { opacity: .75; } 100% { opacity: 0; stroke-dashoffset: 0; } }
@keyframes narwhal-mote { 0%, 100% { opacity: 0; } 16%, 78% { opacity: 1; } }
@keyframes narwhal-copy-in { to { opacity: 1; transform: translateY(0); } }
@keyframes narwhal-reveal {
  0% { opacity: 0; transform: scale(.92); }
  62% { opacity: .8; }
  100% { opacity: .72; transform: scale(1); }
}

@media (min-width: 701px) and (max-width: 1050px) {
  .skills-section .talent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .skills-section .talent-card { min-height: 218px; }
}

@media (max-width: 700px) {
  .celestial-constellation { min-height: 760px; margin-top: 1.5rem; border-radius: 3px 24px 3px 24px; }
  .narwhal-atlas { left: 50%; top: 47%; width: min(108vw, 470px); }
  .talent-focused[data-active-skill="fullstack"] .narwhal-atlas,
  .talent-focused[data-active-skill="ai"] .narwhal-atlas,
  .talent-focused[data-active-skill="systems"] .narwhal-atlas,
  .talent-focused[data-active-skill="project"] .narwhal-atlas { transform: translate(-50%, -50%) scale(1.04); }
  .constellation-screen-copy { left: 21px; top: 23px; max-width: 230px; }
  .constellation-screen-copy p { font-size: .5rem; letter-spacing: .15em; }
  .constellation-screen-copy h3 { font-size: 1.2rem; }
  .constellation-screen-copy > span { margin-top: .5rem; font-size: .6rem; line-height: 1.45; }
  .talent-focused .constellation-screen-copy { opacity: .2; }
  .constellation-reset { top: 18px; right: 16px; padding: .55rem .62rem; font-size: .48rem; letter-spacing: .08em; }
  .constellation-current { top: 112px; right: 18px; bottom: auto; max-width: 58%; }
  .constellation-current small { font-size: .45rem; }
  .constellation-current span { font-size: .62rem; }
  .node-star { width: 34px; height: 34px; }
  .node-star::before { width: 25px; }
  .node-star::after { height: 25px; }
  .node-copy { top: 45px; width: 124px; gap: .25rem; font-size: .6rem; letter-spacing: .06em; }
  .node-copy small { font-size: .43rem; }
  .node-project .node-copy { left: auto; right: 24px; top: 50%; width: 138px; font-size: .56rem; transform: translateY(-50%); }
  .skill-label,
  .skill-leader { display: none; }
  .skill-point-halo { r: 19; fill: rgba(83, 204, 255, .16); stroke-width: 2; }
  .skill-point-core { r: 13; fill: rgba(8, 37, 75, .92); stroke-width: 2; }
  .skill-index { display: block; fill: #fff2b8; font: 700 13px/1 var(--sans); letter-spacing: 0; pointer-events: none; }
  .mobile-skill-ledger {
    position: absolute;
    z-index: 7;
    left: 18px;
    right: 18px;
    bottom: 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    padding: 10px;
    border: 1px solid rgba(151, 226, 255, .18);
    background: rgba(4, 17, 47, .72);
    backdrop-filter: blur(10px);
    opacity: 0;
    visibility: hidden;
    transform: translateY(9px);
    transition: opacity .35s ease .72s, transform .35s ease .72s, visibility 0s linear 1.07s;
  }
  .talent-focused .mobile-skill-ledger { opacity: 1; visibility: visible; transform: translateY(0); transition-delay: .72s, .72s, 0s; }
  .mobile-skill-ledger span { display: flex; align-items: center; gap: 7px; min-width: 0; padding: 6px 7px; border: 1px solid rgba(147, 224, 255, .12); background: rgba(102, 177, 219, .06); }
  .mobile-skill-ledger i { color: #ffeaa7; font: 600 .58rem/1 var(--sans); font-style: normal; }
  .mobile-skill-ledger b { color: rgba(231, 249, 255, .9); font: 600 .68rem/1.25 var(--sans); white-space: normal; }
  .skills-section .talent-grid { grid-template-columns: 1fr; padding-top: 48px; }
  .skills-section .talent-card { min-height: 137px; padding-inline: 22px; }
}

@media (max-width: 430px) {
  .celestial-constellation { min-height: 720px; }
  .narwhal-atlas { top: 46%; width: 112vw; }
  .constellation-current { top: 103px; }
  .mobile-skill-ledger b { font-size: .62rem; }
}

@media (prefers-reduced-motion: reduce) {
  .celestial-constellation *,
  .celestial-constellation::after { animation: none !important; transition: none !important; }
  .monoceros-reference { opacity: .72; transform: scale(1); }
  .talent-focused .narwhal-atlas { transform: translate(-50%, -50%) scale(1) !important; }
  .gateway-links path,
  .region-preview,
  .project-convergence path,
  .skill-route,
  .skill-route-pulse,
  .energy-transit-line { stroke-dashoffset: 0; }
  .gateway-links path { opacity: 1; }
  .celestial-constellation[data-active-skill="project"] .project-convergence path { opacity: .46; }
  .skill-route { opacity: 1; }
  .skill-route-pulse,
  .energy-transit-line,
  .energy-mote { opacity: 0; }
  .constellation-node,
  .constellation-screen-copy,
  .skill-point { opacity: 1; }
  .constellation-node { transform: translate(-50%, -50%); }
  .constellation-screen-copy { transform: none; }
  .talent-focused .constellation-node:not([aria-pressed="true"]) { opacity: .42 !important; filter: none; }
}
