/* Existing site effects retained from the previous version. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html.is-loading,html.is-loading body{overflow:hidden}
.site-loader{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;background:#fff;opacity:1;visibility:visible;transition:opacity .65s cubic-bezier(.65,0,.35,1),visibility 0s linear .65s}
.site-loader-inner{display:grid;justify-items:center;width:min(520px,72vw);transition:opacity .32s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.site-loader-logo-mask{width:100%;overflow:hidden}
.site-loader-logo{width:100%;height:auto;opacity:0;transform:translateY(22px);animation:loader-logo-in .75s cubic-bezier(.22,1,.36,1) .12s both}
.site-loader-line{display:block;width:100%;height:1px;margin-top:24px;background:#1e50a2;transform:scaleX(0);transform-origin:left center;animation:loader-line-in .8s cubic-bezier(.65,0,.35,1) .55s both}
.is-bg-ready .site-loader{opacity:0;pointer-events:none}
.is-bg-ready .site-loader-inner{opacity:0;transform:scale(.985)}
.is-loaded .site-loader{visibility:hidden}
.is-loading .header,.is-loading .hero-photo,.is-loading .corner,.is-loading .hero-orbit,.is-loading .hero-copy,.is-loading .scroll{opacity:0!important;visibility:hidden!important}
@keyframes loader-logo-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes loader-line-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:768px){.site-loader-inner{width:min(360px,78vw)}.site-loader-line{margin-top:18px}.is-loaded .header{animation:fv-header-in .6s cubic-bezier(.22,1,.36,1) .05s both}.is-loaded .hero-photo{animation:fv-photo-in .8s cubic-bezier(.22,1,.36,1) .18s both}.is-loaded .hero-copy{animation:fv-fade-up .75s cubic-bezier(.22,1,.36,1) .45s both}}
@media(prefers-reduced-motion:reduce){.site-loader-logo,.site-loader-line{animation:none!important;opacity:1!important;transform:none!important}.site-loader,.site-loader-inner{transition:none!important}}

.brand>img{display:block;width:100%;height:auto;filter:brightness(0) invert(1)}

/* Figma node 390:766 — desktop first view (1440 × 998). */
@media(min-width:769px){
  .brand{display:block;width:324px;height:65px}
  .brand>img{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}
  .down{position:relative;width:19px;height:19px}
  .down>img:first-child{width:19px;height:19px}
  .down img+img{width:7px;height:4px}
  .hero{height:auto;aspect-ratio:1440/998}
  .hero-bg{background:linear-gradient(rgba(30,80,162,.6),rgba(30,80,162,.6)),url('../image/hero-texture.webp') -1px -15px/100% auto;background-blend-mode:multiply;mask:none;clip-path:polygon(0 0,55.4167% 0,55.4167% 12.024%,100% 12.024%,100% 93.3868%,55.4167% 93.3868%,55.4167% 100%,0 100%)}
  .hero-photo{mask:none}
  .corner{z-index:1;scale:none}
  .corner img{width:100%;height:100%}
  .c1{left:40.5556%;top:17.3347%;width:13.8194%;height:17.7355%}
  .c2{left:84.3056%;top:17.3347%;width:12.2917%;height:19.9399%;display:flex;align-items:center;justify-content:center;transform:none}
  .c2 img{width:112.43%;height:88.94%;transform:rotate(90deg);transform-origin:center}
  .c3{left:40.5556%;top:70.7415%;width:13.8194%;height:17.7355%;transform:none}
  .c3 img{transform:scaleY(-1)}
  .c4{left:84.3056%;top:68.5371%;width:12.2917%;height:19.9399%;display:flex;align-items:center;justify-content:center;transform:none}
  .c4 img{width:112.43%;height:88.94%;transform:rotate(-90deg) scaleY(-1);transform-origin:center}
  .hero-orbit{width:37.4306%;height:36.5731%;scale:none}
  .hero-orbit img{width:100%;height:100%}
  .hero-copy{left:5.625%}
  .hero-copy>p{line-height:1.375}
  .hero-actions .button img{width:22.5px;height:auto}
}

/* On wide screens, stretch one continuous copy of the original texture edge to edge. */
@media(min-width:1441px){
  body{position:relative;overflow-x:hidden}
  body::before{content:"";position:absolute;z-index:0;top:0;left:0;width:100%;height:998px;pointer-events:none;background:linear-gradient(rgba(30,80,162,.6),rgba(30,80,162,.6)),url('../image/hero-texture.webp') center top/100% auto no-repeat;background-blend-mode:multiply}
  body::after{content:"";position:absolute;z-index:1;top:932px;right:0;width:calc((100% - 1440px)/2);height:66px;pointer-events:none;background:#fff}
  .page{z-index:1}
  .hero-bg{display:none}
  .hero::before{content:"";position:absolute;z-index:0;top:0;right:0;width:44.5833%;height:12.024%;background:#fff}
  .hero::after{content:"";position:absolute;z-index:0;right:0;bottom:0;width:44.5833%;height:6.6132%;background:#fff}
}

/* FV interactions and the exact Figma highlight behind “AI活用”. */
@media(min-width:769px){
  .hero h1{position:relative;z-index:0;background:none}
  .hero h1::before{content:"";position:absolute;z-index:-1;top:.3472cqw;left:22.7778cqw;width:15.1389cqw;height:5.3472cqw;background:#fff;transform:scaleX(0);transform-origin:left center}
  .hero h1 em{display:inline;background:transparent;color:#fff}

  .header .nav-contact{border:1px solid var(--blue);transition:background-color .25s ease,color .25s ease,border-color .25s ease,opacity .25s ease}
  .header .nav-contact:hover{opacity:1;background:#fff;color:var(--blue)}
  .header .nav-contact:hover img{filter:brightness(0) saturate(100%) invert(31%) sepia(32%) saturate(1799%) hue-rotate(178deg) brightness(86%) contrast(94%)}

  .hero-actions .button{transition:background-color .25s ease,color .25s ease,border-color .25s ease,opacity .25s ease}
  .hero-actions .button:hover{opacity:1}
  .hero-actions .solid:hover{background:var(--blue);color:#fff;border-color:#fff}
  .hero-actions .solid:hover img{filter:brightness(0) invert(1)}
  .hero-actions .button:not(.solid):hover{background:#fff;color:var(--blue);border-color:#fff}
  .hero-actions .button:not(.solid):hover img{filter:brightness(0) saturate(100%) invert(31%) sepia(32%) saturate(1799%) hue-rotate(178deg) brightness(86%) contrast(94%)}

  .is-loaded .scroll-dot{animation:scroll-circle 2s ease-in-out infinite alternate}
}

@keyframes scroll-circle{
  from{transform:translateY(0)}
  to{transform:translateY(-124px)}
}

@media(prefers-reduced-motion:reduce){.scroll-dot{animation:none!important}}

/* Rich first-view entrance sequence. */
@media(min-width:769px){
  .is-loaded .header{animation:fv-header-in .7s cubic-bezier(.22,1,.36,1) .1s both}
  .is-loaded .hero-photo{animation:fv-photo-in 1s cubic-bezier(.22,1,.36,1) .35s both}
  .is-loaded .corner{animation:fv-detail-in .75s cubic-bezier(.22,1,.36,1) .75s both}
  .is-loaded .hero-orbit{animation:fv-orbit-in .9s cubic-bezier(.22,1,.36,1) .7s both}
  .is-loaded .hero h1{animation:fv-title-reveal .9s cubic-bezier(.77,0,.18,1) .85s both}
  .is-loaded .hero h1::before{animation:fv-marker-in .65s cubic-bezier(.65,0,.35,1) 1.82s both}
  .is-loaded .hero h1 em{animation:fv-highlight-color .3s ease 1.9s both}
  .is-loaded .hero-copy>p{animation:fv-fade-up .7s cubic-bezier(.22,1,.36,1) 2.05s both}
  .is-loaded .hero-actions .button:first-child{animation:fv-fade-up .7s cubic-bezier(.22,1,.36,1) 2.24s both}
  .is-loaded .hero-actions .button:nth-child(2){animation:fv-fade-up .7s cubic-bezier(.22,1,.36,1) 2.42s both}
  .is-loaded .scroll{animation:fv-fade-in .7s ease 2.65s both}
}

@keyframes fv-header-in{
  from{opacity:0;transform:translateY(-18px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes fv-photo-in{
  from{opacity:0;transform:translateX(30px) scale(1.025)}
  to{opacity:1;transform:translateX(0) scale(1)}
}

@keyframes fv-detail-in{
  from{opacity:0;filter:blur(6px)}
  to{opacity:1;filter:blur(0)}
}

@keyframes fv-orbit-in{
  from{opacity:0;transform:scale(.9)}
  to{opacity:1;transform:scale(1)}
}

@keyframes fv-title-reveal{
  from{clip-path:inset(0 100% 0 0)}
  to{clip-path:inset(0 0 0 0)}
}

@keyframes fv-marker-in{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}

@keyframes fv-highlight-color{
  from{color:#fff}
  to{color:var(--blue)}
}

@keyframes fv-fade-up{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes fv-fade-in{
  from{opacity:0}
  to{opacity:1}
}

@media(prefers-reduced-motion:reduce){
  .is-loaded .header,.is-loaded .hero-photo,.is-loaded .corner,.is-loaded .hero-orbit,.is-loaded .hero h1,.is-loaded .hero h1::before,.is-loaded .hero-copy>p,.is-loaded .hero-actions .button,.is-loaded .scroll{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important}
  .is-loaded .hero h1::before{transform:scaleX(1)!important}
  .is-loaded .hero h1 em{color:var(--blue)!important}
}

/* Section copy: text reveals first, followed by the marker from left to right. */
.motion-ready .scroll-reveal-title{
  opacity:1;
  clip-path:none;
  transform:none
}

.motion-ready .scroll-reveal-title.is-visible{
  animation:section-title-reveal .9s cubic-bezier(.77,0,.18,1) both
}

.motion-ready .marker-copy{
  opacity:1;
  transform:none
}

.motion-ready .marker-copy mark{
  background-color:transparent;
  background-image:linear-gradient(var(--light),var(--light));
  background-repeat:no-repeat;
  background-position:left center;
  background-size:100% 100%;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone
}

.motion-ready .marker-copy.is-visible{
  animation:section-copy-in .65s cubic-bezier(.22,1,.36,1) both
}

.motion-ready .marker-copy.is-visible mark{
  animation:section-marker-in .75s cubic-bezier(.65,0,.35,1) .75s both
}

@keyframes section-title-reveal{
  from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-12px)}
  to{opacity:1;clip-path:inset(0 0 0 0);transform:translateX(0)}
}

@keyframes section-copy-in{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes section-marker-in{
  from{background-size:0 100%}
  to{background-size:100% 100%}
}

@media(prefers-reduced-motion:reduce){
  .scroll-reveal-title,.marker-copy{opacity:1!important;transform:none!important;clip-path:none!important;animation:none!important}
  .marker-copy mark{background:var(--light)!important;animation:none!important}
}

/* Keep the 1440px content grid, but let the section backgrounds reach the viewport edges. */
@media(min-width:1441px){
  .page{overflow:visible}

  .middle{
    position:relative;
    z-index:0;
    background:none
  }

  .middle::before{
    content:"";
    position:absolute;
    z-index:-1;
    top:0;
    bottom:0;
    left:50%;
    width:100vw;
    transform:translateX(-50%);
    background:linear-gradient(to bottom,#fff 0%,#fff 23%,#e6efff 100%);
    pointer-events:none
  }

  .contact{
    isolation:isolate;
    background:none
  }

  .contact::after{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0 auto 0 50%;
    width:100vw;
    transform:translateX(-50%);
    background:linear-gradient(rgba(30,80,162,.6),rgba(30,80,162,.6)),url('../image/2a415.png') center -483px/100% auto no-repeat;
    background-blend-mode:multiply;
    pointer-events:none
  }
}

/* The footer repeats the FV sequence: copy first, then its blue marker. */
.footer-reveal-title em{
  position:relative;
  z-index:0;
  display:inline-block;
  isolation:isolate;
  color:#fff;
  background:none
}

.footer-reveal-title em::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:.0892857em;
  left:-.073em;
  width:calc(100% + .146em);
  height:1.375em;
  background:var(--blue);
  transform:scaleX(1);
  transform-origin:left center
}

.motion-ready .footer-reveal-title em{
  color:#fff;
  background:none
}

.motion-ready .footer-reveal-title em::before{
  transform:scaleX(0)
}

.motion-ready .footer-reveal-title.is-visible em{
  animation:footer-marker-color .25s ease 1.08s both
}

.motion-ready .footer-reveal-title.is-visible em::before{
  animation:footer-marker-in .65s cubic-bezier(.65,0,.35,1) 1s both
}

@keyframes footer-marker-in{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}

@keyframes footer-marker-color{
  from{color:var(--ink)}
  to{color:#fff}
}

/* Start the large English label when the contact section enters the viewport. */
.motion-ready .marquee-text{opacity:1}

.motion-ready .marquee-text.is-visible{
  opacity:1;
  animation:contact-marquee 18s linear infinite
}

@keyframes contact-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media(prefers-reduced-motion:reduce){
  .footer-reveal-title em{color:#fff!important;background:none!important;animation:none!important}
  .footer-reveal-title em::before{transform:scaleX(1)!important;animation:none!important}
  .marquee-text{opacity:1!important;transform:none!important;animation:none!important}
}

/* Strengths: the sticky image and active card follow the reader's scroll position. */
body{
  /* Clip only at the viewport. Keeping .page visible lets full-bleed backgrounds escape the 1440px content grid. */
  overflow-x:clip
}

.page{
  overflow:visible
}

.strength-photo{
  position:sticky;
  top:clamp(28px,8vh,96px);
  align-self:start;
  isolation:isolate;
  /* Local/file previews can block external SVG masks and make the whole photo transparent. */
  -webkit-mask:none;
  mask:none
}

.strength-photo .strength-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  margin:0;
  object-fit:cover;
  opacity:0;
  transform:scale(1.035);
  transition:opacity .48s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)
}

.strength-photo .strength-image.is-active{
  z-index:1;
  opacity:1;
  transform:scale(1)
}

.strength-photo .strength-image[data-strength-image="0"]{object-position:50% 50%}
.strength-photo .strength-image[data-strength-image="1"]{object-position:38% 50%}
.strength-photo .strength-image[data-strength-image="2"]{object-position:66% 50%}

.strength-card{
  position:relative;
  isolation:isolate;
  cursor:pointer;
  transition:color .42s cubic-bezier(.22,1,.36,1),border-color .42s ease
}

.strength-card>*{
  position:relative;
  z-index:1
}

.strength-card:nth-child(1){min-height:284px}
.strength-card:nth-child(2){min-height:357px}
.strength-card:nth-child(3){min-height:298px}

.strength-card::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:linear-gradient(rgba(30,80,162,.4),rgba(30,80,162,.4)),url('../image/hero-texture.webp') center/cover;
  background-blend-mode:multiply;
  -webkit-clip-path:inset(0 100% 0 0);
  clip-path:inset(0 100% 0 0);
  transform:translateY(12px);
  transition:clip-path .66s cubic-bezier(.22,1,.36,1),opacity .32s ease,transform .66s cubic-bezier(.22,1,.36,1)
}

.strength-card.featured{
  color:#fff;
  background:none;
  mask:none
}

.strength-card.featured::before{
  opacity:1;
  -webkit-clip-path:inset(0);
  clip-path:inset(0);
  transform:translateY(0)
}

.strength-card h3,.strength-card .number{transition:color .32s ease}
.strength-card.featured h3{color:#fff}

.strength-card:focus-visible{
  outline:3px solid #efb93c;
  outline-offset:4px
}

@media(max-width:768px){
  .strength-photo{position:relative;top:auto;height:450px}
  .strength-card:nth-child(n){min-height:0}
}

@media(prefers-reduced-motion:reduce){
  .strength-photo .strength-image,.strength-card,.strength-card::before,.strength-card h3,.strength-card .number{transition:none!important}
}

/* FV 2x exports without the removed Figma radial shadow. */
.hero-bg{
  background-image:linear-gradient(rgba(30,80,162,.6),rgba(30,80,162,.6)),url('../image/hero-texture-2x.webp')
}

.hero-photo{mask:none}

.hero-photo .photo-composite{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover
}

/* FV image crossfade: each slide lingers, then hands off while slowly zooming out. */
.is-loaded .hero-photo .hero-slide{
  opacity:0;
  transform:scale(1.065);
  transform-origin:center;
  will-change:opacity,transform;
  animation:hero-crossfade 12s linear infinite
}
.is-loaded .hero-photo .hero-slide-secondary{animation-delay:-8s}
.is-loaded .hero-photo .hero-slide-tertiary{animation-delay:-4s}
@keyframes hero-crossfade{
  0%{opacity:1;transform:scale(1.065)}
  27%{opacity:1;transform:scale(1.015)}
  33.333%{opacity:0;transform:scale(1)}
  94%{opacity:0;transform:scale(1.065)}
  100%{opacity:1;transform:scale(1.065)}
}
@media(prefers-reduced-motion:reduce){
  .hero-photo .hero-slide{animation:none!important;opacity:0!important;transform:none!important}
  .hero-photo .hero-slide-primary{opacity:1!important}
}

@media(min-width:1441px){
  body::before{
    background-image:linear-gradient(rgba(30,80,162,.6),rgba(30,80,162,.6)),url('../image/hero-texture-2x.webp')
  }
}

/* Embedded map, centered To Top control, and seamless contact marquee. */
.map iframe{
  display:block;
  width:100%;
  height:100%;
  border:0
}

.back-top{
  z-index:3;
  display:grid;
  place-items:center;
  padding:0
}

.back-top img{margin:0}

.contact-english{
  z-index:2;
  right:auto;
  bottom:0;
  left:50%;
  width:100vw;
  max-width:none;
  height:126px;
  overflow:hidden;
  transform:translateX(-50%);
  font-size:126px;
  line-height:1;
  pointer-events:none
}

.contact-marquee-track{
  position:absolute;
  bottom:-18px;
  left:0;
  display:flex;
  width:max-content;
  line-height:1;
  will-change:transform
}

.contact-marquee-track span{
  display:block;
  flex:none
}

@media(max-width:768px){
  .contact-english{height:55px;font-size:55px;line-height:1}
}

/* The four FV brackets redraw on each photo change and keep a quiet floating motion. */
@media(min-width:769px){
  .is-loaded .corner{
    --corner-delay:0s;
    --corner-drift-x:3px;
    --corner-drift-y:-4px;
    --corner-drift-duration:5.6s;
    will-change:clip-path,opacity,translate;
    animation:
      corner-trace-left 12s cubic-bezier(.77,0,.18,1) var(--corner-delay) infinite both,
      corner-drift var(--corner-drift-duration) ease-in-out 0s infinite alternate
  }

  .c1{--corner-delay:0s;--corner-drift-x:3px;--corner-drift-y:-4px;--corner-drift-duration:5.6s}
  .c2{--corner-delay:.12s;--corner-drift-x:-4px;--corner-drift-y:3px;--corner-drift-duration:6.4s}
  .c3{--corner-delay:.24s;--corner-drift-x:4px;--corner-drift-y:3px;--corner-drift-duration:6s}
  .c4{--corner-delay:.36s;--corner-drift-x:-3px;--corner-drift-y:-4px;--corner-drift-duration:6.8s}

  .is-loaded .c2,.is-loaded .c4{
    animation-name:corner-trace-right,corner-drift
  }
}

@keyframes corner-trace-left{
  0%{opacity:0;clip-path:inset(0 100% 0 0)}
  3%{opacity:1}
  10%,27%{opacity:1;clip-path:inset(0 0 0 0)}
  33%,33.2%{opacity:0;clip-path:inset(0 0 0 100%)}
  33.333%{opacity:0;clip-path:inset(0 100% 0 0)}
  36.333%{opacity:1}
  43.333%,60.333%{opacity:1;clip-path:inset(0 0 0 0)}
  66.333%,66.533%{opacity:0;clip-path:inset(0 0 0 100%)}
  66.667%{opacity:0;clip-path:inset(0 100% 0 0)}
  69.667%{opacity:1}
  76.667%,93.667%{opacity:1;clip-path:inset(0 0 0 0)}
  99.667%,100%{opacity:0;clip-path:inset(0 0 0 100%)}
}

@keyframes corner-trace-right{
  0%{opacity:0;clip-path:inset(0 0 0 100%)}
  3%{opacity:1}
  10%,27%{opacity:1;clip-path:inset(0 0 0 0)}
  33%,33.2%{opacity:0;clip-path:inset(0 100% 0 0)}
  33.333%{opacity:0;clip-path:inset(0 0 0 100%)}
  36.333%{opacity:1}
  43.333%,60.333%{opacity:1;clip-path:inset(0 0 0 0)}
  66.333%,66.533%{opacity:0;clip-path:inset(0 100% 0 0)}
  66.667%{opacity:0;clip-path:inset(0 0 0 100%)}
  69.667%{opacity:1}
  76.667%,93.667%{opacity:1;clip-path:inset(0 0 0 0)}
  99.667%,100%{opacity:0;clip-path:inset(0 100% 0 0)}
}

@keyframes corner-drift{
  0%{translate:0 0}
  50%{translate:var(--corner-drift-x) var(--corner-drift-y)}
  100%{translate:0 0}
}

@media(prefers-reduced-motion:reduce){
  .corner{
    animation:none!important;
    opacity:1!important;
    clip-path:none!important;
    translate:none!important;
    will-change:auto
  }
}

/* Final interaction and contact-section fidelity fixes. */
.button.blue:hover,.button.blue:focus-visible{
  opacity:1;
  color:#fff;
  border-color:var(--blue);
  background:var(--blue)
}

.button.blue:hover img,.button.blue:focus-visible img{
  filter:brightness(0) invert(1)
}

.contact .button:hover,.contact .button:focus-visible{
  opacity:1;
  color:var(--blue);
  border-color:#fff;
  background:#fff
}

.contact .button:hover img,.contact .button:focus-visible img{
  filter:brightness(0) saturate(100%) invert(31%) sepia(32%) saturate(1799%) hue-rotate(178deg) brightness(86%) contrast(94%)
}

.contact-symbol{
  transform:rotate(var(--contact-symbol-rotation,0deg));
  transform-origin:center;
  will-change:transform
}

.map{
  -webkit-mask:none;
  mask:none;
  background:#e9eef5
}

.map iframe{
  position:relative;
  z-index:1;
  background:#e9eef5
}

.back-top{
  top:-75px;
  right:0;
  left:auto;
  width:150px;
  height:75px;
  padding:0;
  border-radius:0;
  transform:none;
  -webkit-clip-path:polygon(50% 0,100% 100%,0 100%);
  clip-path:polygon(50% 0,100% 100%,0 100%);
  background:var(--blue)
}

.back-top img{
  position:absolute;
  top:40.477px;
  left:calc(50% - 11.25px);
  width:22.5px;
  height:11.0459px;
  margin:0;
  transform:rotate(-90deg)
}

.back-top:hover{opacity:1}

@media(min-width:1441px){
  .back-top{right:calc((100% - 100vw)/2)}
}

.contact-marquee-track{
  animation-play-state:running
}

.contact-marquee-track span{
  white-space:nowrap
}

@media(max-width:768px){
  .back-top{top:-60px;width:120px;height:60px}
  .back-top img{top:32.382px;left:calc(50% - 9px);width:18px;height:8.8367px}
  .contact-marquee-track{bottom:-8px}
}

@media(prefers-reduced-motion:reduce){
  .contact-symbol{transform:none!important;will-change:auto}
  .contact-marquee-track{animation:none!important;transform:none!important}
}
