/* Puraico 専用ビジュアルの上書き */
.hero {
  min-height: 540px;
  background: #fff6fb url("img/puraico/brand.png") center / cover no-repeat;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.brand { width: 154px; height: 48px; display: flex; align-items: center; flex: 0 0 auto; }
.brand img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: left center; }

@media (max-width: 850px) {
  .hero {
    min-height: 360px;
    background-position: center;
  }
}

@media (max-width: 500px) {
  .hero {
    min-height: 250px;
    background-size: cover;
  }
  .brand { width: 124px; height: 39px; }
}

/* Motion language: icon sizes gather into one finished asset. */
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.93);backdrop-filter:blur(12px)}.site-header nav a{position:relative;transition:color .25s ease}.site-header nav a:not(.back):after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--pink);transition:right .25s ease}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{right:0}
.hero{position:relative;overflow:hidden;animation:ico-hero-drift 12s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 44%,rgba(255,255,255,.05),transparent 32%);animation:ico-glow 4s ease-in-out infinite}.icon-orbit{position:absolute;z-index:2;inset:0;pointer-events:none}.icon-orbit i{position:absolute;display:grid;place-items:center;width:54px;height:54px;border-radius:14px;color:#fff;background:linear-gradient(135deg,rgba(104,68,216,.9),rgba(239,79,146,.88));box-shadow:0 13px 28px rgba(75,35,150,.24);font:900 .72rem/1 Consolas,monospace;animation:ico-float 4.4s ease-in-out infinite}.icon-orbit i:nth-child(1){left:7%;top:18%;transform:rotate(-10deg)}.icon-orbit i:nth-child(2){left:15%;bottom:14%;animation-delay:-1.4s}.icon-orbit i:nth-child(3){right:10%;top:14%;animation-delay:-2.5s}.icon-orbit i:nth-child(4){right:5%;bottom:12%;animation-delay:-.7s}
.intro>img,.wide-visual,.howto img,.interface__visual,.notes>img{transition:transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .55s ease}.intro>img:hover,.wide-visual:hover,.howto img:hover,.interface__visual:hover,.notes>img:hover{transform:translateY(-8px) rotate(.4deg);box-shadow:0 26px 55px rgb(103 68 216 / 22%)}.check-list li{transition:transform .25s ease,color .25s ease}.check-list li:hover{transform:translateX(8px);color:var(--purple)}
.size-table tbody tr{transition:transform .2s ease,background .2s ease}.size-table tbody tr:hover{transform:translateX(6px);background:#faf6ff}.howto li{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.howto li:hover{transform:translateX(9px);border-color:#c0a6ff;box-shadow:0 14px 28px rgba(88,52,170,.11)}.howto li:before{animation:ico-step-pulse 2.8s ease-in-out infinite}.howto li:nth-child(2):before{animation-delay:.35s}.howto li:nth-child(3):before{animation-delay:.7s}
.motion-ready .scroll-reveal{opacity:0;transform:translateY(34px) scale(.985);transition:opacity .72s ease var(--delay,0ms),transform .72s cubic-bezier(.2,.75,.2,1) var(--delay,0ms)}.motion-ready .scroll-reveal.is-visible{opacity:1;transform:none}
@keyframes ico-float{0%,100%{translate:0 0;rotate:-3deg}50%{translate:0 -16px;rotate:5deg}}@keyframes ico-glow{0%,100%{opacity:.3}50%{opacity:1}}@keyframes ico-hero-drift{from{background-position:49% center}to{background-position:52% center}}@keyframes ico-step-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,133,0,.22)}50%{box-shadow:0 0 0 9px rgba(255,133,0,0)}}
@media(max-width:850px){.icon-orbit i{width:42px;height:42px}.icon-orbit i:nth-child(1),.icon-orbit i:nth-child(2){left:3%}.icon-orbit i:nth-child(3),.icon-orbit i:nth-child(4){right:3%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.motion-ready .scroll-reveal{opacity:1;transform:none}}
