body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
  margin:0;
  padding:0
}

table {
  border-collapse:collapse;
  border-spacing:0
}

fieldset,img {
  border:0
}

img {
  display:block;
  vertical-align:middle
}

address,caption,cite,code,dfn,em,th,var {
  font-style:normal;
  font-weight:400
}

ol,ul {
  list-style:none
}

caption,th {
  text-align:left
}

q:before,q:after {
  content:''
}

abbr,acronym {
  border:0
}

a,button {
  outline:none;
  behavior:expression(this.onFocus=this.blur())
}

input,textarea,select {
  outline:none;
  behavior:expression(this.onFocus=this.blur())
}

textarea {
  resize:none
}

.CLEAR {
  font-size:0;
  line-height:0;
  height:0;
  clear:both
}

html,body {
  width:100%;
  height:100%;
  background: transparent;
  font-family:'Roboto','Noto Sans TC',sans-serif;
  color: var(--text)
}

body.fixed {
  overflow:hidden
}



.loading_view {
  position:fixed;
  width:100%;
  height:100%;
  background:#172730;
  z-index:99;
  display:flex;
  align-items:center;
  justify-content:center
}

.loading_view .loading_box {
  display:block;
  width:39px;
  height:39px;
  border:1px solid #fff;
  text-align:center;
  text-decoration:none;
  line-height:40px;
  position:relative;
  animation:loading_rotate 2s 1s infinite forwards;
  overflow:hidden
}

.loading_view .loading_box:before {
  content:'S';
  font-size:21px;
  color:#fff;
  font-family:'Lato' ,sans-serif;
  animation:loading_text 2s 0 infinite forwards
}

.loading_view .loading_box:after {
  content:' ';
  position:absolute;
  top:39px;
  left:0;
  width:39px;
  height:39px;
  z-index:-1;
  animation:loading_bg 2s 0 infinite forwards
}

@keyframes loading_bg {
  0% {
    top:39px;
    background:rgba(255,255,255,1)
  }

  50% {
    top:0;
    background:rgba(255,255,255,1)
  }

  100% {
    top:0;
    background:rgba(255,255,255,0)
  }

}

@keyframes loading_rotate {
  0% {
    transform:rotate(0deg)
  }

  50% {
    transform:rotate(360deg)
  }

  100% {
    transform:rotate(360deg)
  }

}

@keyframes loading_text {
  0% {
    color:#fff
  }

  50% {
    color:#172730
  }

  100% {
    color:#fff
  }

}

.wrapper {
  width:100%;
  height:100%;
  transition:transform .5s
}


.wrapper.overlay-open{
  transform: none;
}


header {
  position:relative;
  width:100%;
  z-index:10
}

header .LOGO {
  position:absolute;
  top:42px;
  left:62px
}

header .LOGO a {
  display:block;
  width:40px;
  height:40px;
  border:1px solid #fff;
  font-size:22px;
  color:#fff;
  text-align:center;
  text-decoration:none;
  line-height:40px;
  font-family:'Lato' ,sans-serif
}

header .LOGO a:after {
  content:"S"
}

.MENU_btn {
  position:fixed;
  top:40px;
  right:60px;
  z-index:91
}

.MENU_btn.open {
  right:75px
}

.MENU_btn .button {
  position:relative;
  width:44px;
  height:44px;
  transition:.4s;
  border-radius:50%;
  background:rgba(255,255,255,0)
}

.MENU_btn .scroll_style {
  transition:.4s;
  background:rgba(255,255,255,1)
}

.MENU_btn .button input[type="checkbox"] {
  position:absolute;
  filter:alpha(opacity=0);
  opacity:0;
  width:100%;
  height:100%;
  z-index:2
}

.MENU_btn .button input[type="checkbox"]:hover {
  cursor:pointer
}

.MENU_btn .button input[type="checkbox"]:checked ~ .top,.MENU_btn .button input[type="checkbox"]:checked ~ .bottom {
  top:50%
}

.MENU_btn .button input[type="checkbox"]:checked ~ .top {
  -webkit-transform:rotate(45deg);
  -moz-transform:rotate(45deg);
  -ms-transform:rotate(45deg);
  -o-transform:rotate(45deg);
  transform:rotate(45deg)
}

.MENU_btn .button input[type="checkbox"]:checked ~ .bottom {
  -webkit-transform:rotate(-45deg);
  -moz-transform:rotate(-45deg);
  -ms-transform:rotate(-45deg);
  -o-transform:rotate(-45deg);
  transform:rotate(-45deg)
}

.MENU_btn .button input[type="checkbox"]:checked ~ .middle {
  filter:alpha(opacity=0);
  opacity:0
}

.MENU_btn .button input[type="checkbox"]:checked ~ .circle {
  filter:alpha(opacity=100);
  opacity:1
}

.MENU_btn .button span {
  position:absolute;
  display:block;
  width:18px;
  height:2px;
  left:13px;
  background-color:#fff;
  -webkit-transition:all .3s;
  -moz-transition:all .3s;
  -ms-transition:all .3s;
  -o-transition:all .3s;
  transition:all .3s;
  z-index:1
}

.MENU_btn .scroll_style span {
  background-color:#7d7d7d
}

.MENU_btn .button .top {
  top:31%
}

.MENU_btn .button .middle {
  top:49%
}

.MENU_btn .button .bottom {
  top:67%
}


.NAV_mask{
  position: fixed;
  inset: 0;               /* top:0; right:0; bottom:0; left:0 */
   
  z-index: 9999;          /* higher than header/topbar */
  background-color: rgba(23,39,48,0.93);

  /* force top alignment */
  display: block;
}



.NAV_mask nav{
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;   /* ⬅️ key change */
  justify-content: center;
  padding-top: 120px;        /* space from top */
}


.NAV_mask ul {
  width:100%
}

.NAV_mask ul li {
  text-align:center
}

.NAV_mask ul li a {
  display:inline-block;
  text-align:center;
  text-decoration:none;
  padding:28px 0;
  width:600px
}

.NAV_mask ul li a span.main {
  display:inline-block;
  font-size:18px;
  font-family:'Lato' ,sans-serif;
  color:#fff;
  letter-spacing:40px;
  line-height:20px;
  transition:.5s;
  text-indent:40px;
  position:relative
}

.NAV_mask ul li a span.main:before {
  content:' ';
  position:absolute;
  bottom:-8px;
  left:0;
  width:100%;
  height:2px;
  background:#fff;
  transition:.5s;
  opacity:0
}

.NAV_mask ul li a:hover span.main {
  letter-spacing:1px;
  transition:.5s;
  text-indent:0
}

.NAV_mask ul li a:hover span.main:before {
  transition:.5s;
  opacity:1
}

.NAV_mask ul li a span.text {
  display:block;
  font-size:12px;
  color:#fff;
  letter-spacing:3px;
  opacity:0;
  transition:.3s;
  -webkit-transition:.3s;
  transform:translateY(-10px);
  -webkit-transform:translateY(-10px)
}

.NAV_mask ul li a:hover span.text {
  opacity:1;
  transition:.3s;
  -webkit-transition:.3s;
  transform:translateY(0px);
  -webkit-transform:translateY(0px)
}

.overlay-hugeinc {
  opacity:0;
  visibility:hidden;
  -webkit-transition:opacity 0.5s,visibility 0 .5s;
  transition:opacity 0.5s,visibility 0 .5s
}

.overlay-hugeinc.open {
  opacity:1;
  visibility:visible;
  -webkit-transition:opacity .5s;
  transition:opacity .5s;
  transform:translateY(0px);
  -webkit-transform:translateY(0px)
}

.overlay-hugeinc nav ul {
  opacity:.4;
  -webkit-transition:-webkit-transform 0.5s,opacity .5s;
  transition:transform 0.5s,opacity .5s;
  transform:translateY(50px);
  -webkit-transform:translateY(50px)
}

.overlay-hugeinc.open nav ul {
  transform:translateY(0px);
  -webkit-transform:translateY(0px);
  opacity:1
}

.overlay-hugeinc.close nav ul {
  transform:translateY(50px);
  -webkit-transform:translateY(50px)
}

footer {
  background:#172730;
  padding:100px 0
}

footer p {
  text-align:center;
  font-size:11px;
  color:#656b6e;
  letter-spacing:1px
}

.inactive {
  opacity:0
}



/* ===== Legacy S logo + hamburger trigger for current work.html ===== */

.LOGO.legacy-logo {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 10001;
}

.LOGO.legacy-logo a {
  display: block;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 14px;
  text-align: center;
  text-decoration: none;
  line-height: 44px;
  font-size: 22px;
  color: #fff;
  font-family: 'Lato', sans-serif;
  background:
    linear-gradient(135deg, rgba(99,230,255,0.18), rgba(91,140,255,0.15)),
    rgba(7,17,31,0.45);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.14),
    0 10px 30px rgba(0,0,0,0.25);
}

.LOGO.legacy-logo a::after {
  content: "S";
}

.MENU_btn {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 10001;
}

.MENU_btn .button {
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(7,17,31,0.45);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.10),
    0 10px 30px rgba(0,0,0,0.25);
}

.MENU_btn .button span {
  background-color: #fff;
}

.MENU_btn .button input[type="checkbox"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  cursor: pointer;
}

/* overlay behavior */
.NAV_mask {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background-color: rgba(23,39,48,0.93);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.NAV_mask.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.NAV_mask nav {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 110px;
}

.NAV_mask ul {
  width: 100%;
  margin: 0;
  padding: 0;
}

.NAV_mask ul li {
  text-align: center;
}

.NAV_mask ul li a {
  display: inline-block;
  width: 600px;
  max-width: 90vw;
  text-align: center;
  text-decoration: none;
  padding: 22px 0;
}

.NAV_mask ul li a span.main {
  display: inline-block;
  font-size: 18px;
  font-family: 'Lato', sans-serif;
  color: #fff;
  letter-spacing: 20px;
  line-height: 20px;
  text-indent: 20px;
  position: relative;
  transition: .5s;
}

.NAV_mask ul li a span.main:before {
  content: ' ';
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #fff;
  opacity: 0;
  transition: .5s;
}

.NAV_mask ul li a:hover span.main {
  letter-spacing: 2px;
  text-indent: 0;
}

.NAV_mask ul li a:hover span.main:before {
  opacity: 1;
}

@media (max-width: 760px) {
  .LOGO.legacy-logo {
    top: 14px;
    left: 14px;
  }

  .MENU_btn {
    top: 14px;
    right: 14px;
  }

  .LOGO.legacy-logo a {
    width: 42px;
    height: 42px;
    line-height: 42px;
    border-radius: 12px;
    font-size: 20px;
  }

  .MENU_btn .button {
    width: 42px;
    height: 42px;
  }

  .MENU_btn .button span {
    left: 12px;
    width: 18px;
  }

  .NAV_mask nav {
    padding-top: 84px;
  }

  .NAV_mask ul li a {
    width: min(88vw, 420px);
    padding: 18px 0;
  }

  .NAV_mask ul li a span.main {
    font-size: 16px;
    letter-spacing: 10px;
    text-indent: 10px;
  }
}