:root{
        --forest: #10382e;
        --forest-deep: #08251f;
        --cream: #f4efe4;
        --paper: #fffaf0;
        --ink: #17211d;
        --muted: #6f786f;
        --pop: #f3c845;
        --coral: #e87357;
        --line: rgba(16, 56, 46, 0.18);
        --hero-progress: 0;
      }.vigor-stage *{
        box-sizing: border-box;
      }html{
        scroll-behavior: smooth;
      }body.vigor-stage{
        margin: 0;
        color: var(--ink);
        background: var(--cream);
        font-family: "PingFang TC", "Noto Sans TC", system-ui, sans-serif;
      }.vigor-stage button,.vigor-stage a{
        font: inherit;
      }.vigor-stage button{
        color: inherit;
      }.vigor-stage .prototype-note{
        position: fixed;
        z-index: 80;
        top: 86px;
        right: 28px;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 9px 14px;
        border: 1px solid rgba(255, 255, 255, 0.32);
        border-radius: 999px;
        color: #fff;
        background: rgba(8, 37, 31, 0.7);
        backdrop-filter: blur(16px);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.08em;
      }.vigor-stage .prototype-note::before{
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--pop);
        content: "";
      }.vigor-stage .site-header{
        position: fixed;
        z-index: 70;
        inset: 0 0 auto;
        display: grid;
        grid-template-columns: 280px 1fr auto;
        align-items: center;
        min-height: 76px;
        padding: 12px 34px;
        color: #fff;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        background: linear-gradient(180deg, rgba(5, 25, 20, 0.72), rgba(5, 25, 20, 0));
      }.vigor-stage .brand{
        display: flex;
        align-items: center;
        gap: 12px;
        color: inherit;
        text-decoration: none;
      }.vigor-stage .brand img{
        width: 42px;
        height: 42px;
        object-fit: contain;
        filter: brightness(0) invert(1);
      }.vigor-stage .brand strong,.vigor-stage .brand small{
        display: block;
      }.vigor-stage .brand strong{
        font-size: 14px;
        letter-spacing: 0.12em;
      }.vigor-stage .brand small{
        margin-top: 2px;
        font-size: 11px;
        opacity: 0.76;
      }.vigor-stage .site-nav{
        display: flex;
        justify-content: center;
        gap: 26px;
      }.vigor-stage .site-nav a{
        color: inherit;
        text-decoration: none;
        font-size: 14px;
        font-weight: 700;
      }.vigor-stage .header-cta,.vigor-stage .primary-cta{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        padding: 0 22px;
        border: 0;
        border-radius: 999px;
        color: var(--forest-deep);
        background: var(--pop);
        text-decoration: none;
        font-weight: 900;
      }.vigor-stage .hero{
        position: relative;
        min-height: 280vh;
        background: var(--forest-deep);
      }.vigor-stage .hero-sticky{
        position: sticky;
        top: 0;
        height: 100svh;
        min-height: 760px;
        overflow: hidden;
        color: #fff;
        background: var(--forest-deep);
      }.vigor-stage .hero-media,.vigor-stage .hero-media img,.vigor-stage .hero-sequence,.vigor-stage .hero-shade{
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
      }.vigor-stage .hero-media img{
        object-fit: cover;
        object-position: center;
        opacity: 0;
        transition: opacity 0.55s ease;
      }.vigor-stage .hero-sequence{
        opacity: 0;
      }.vigor-stage .hero.is-sequence-ready .hero-sequence{
        opacity: 1;
      }.vigor-stage .hero.is-sequence-ready .hero-media img[data-id]{
        opacity: 0;
        transition: none;
      }.vigor-stage .hero-media img[data-id="foundation"]{
        object-position: 56% center;
      }.vigor-stage .hero-media img[data-id="sport"]{
        object-position: 55% center;
      }.vigor-stage .hero-media img[data-id="recovery"]{
        object-position: 57% center;
      }.vigor-stage .hero[data-active="senior"] img[data-id="foundation"],.vigor-stage .hero[data-active="foundation"] img[data-id="foundation"],.vigor-stage .hero[data-active="sport"] img[data-id="sport"],.vigor-stage .hero[data-active="recovery"] img[data-id="recovery"]{
        opacity: 1;
      }.vigor-stage .hero-shade{
        background:
          linear-gradient(90deg, rgba(7, 34, 28, 0.98) 0%, rgba(7, 34, 28, 0.86) 32%, rgba(7, 34, 28, 0.26) 64%, rgba(7, 34, 28, 0.08) 100%),
          linear-gradient(0deg, rgba(7, 34, 28, 0.86) 0%, transparent 42%);
      }.vigor-stage .hero-grid{
        position: relative;
        z-index: 3;
        display: grid;
        grid-template-columns: minmax(520px, 0.86fr) 1.14fr;
        align-items: center;
        width: min(100% - 96px, 1380px);
        height: 100%;
        margin: 0 auto;
        padding: 112px 0 232px;
      }.vigor-stage .hero-copy{
        max-width: 760px;
      }.vigor-stage .eyebrow{
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 0 0 18px;
        font-size: 15px;
        font-weight: 900;
        letter-spacing: 0.22em;
      }.vigor-stage .eyebrow::before{
        width: 34px;
        height: 4px;
        background: var(--pop);
        content: "";
      }.vigor-stage .hero h1{
        margin: 0;
        font-family: "Arial Black", "PingFang TC", "Noto Sans TC", sans-serif;
        font-size: clamp(76px, 7.7vw, 126px);
        font-weight: 950;
        line-height: 0.92;
        letter-spacing: -0.075em;
        text-wrap: balance;
        text-shadow: 0 5px 28px rgba(0, 0, 0, 0.2);
      }.vigor-stage .hero h1 span{
        display: block;
        width: max-content;
        max-width: 100%;
      }.vigor-stage .hero h1 .pop-line{
        margin-top: 8px;
        padding: 0.04em 0.16em 0.1em 0.11em;
        color: var(--forest-deep);
        background: var(--pop);
        clip-path: polygon(1% 7%, 99% 0%, 97% 94%, 0% 100%);
        transform: rotate(-1.1deg);
        text-shadow: none;
      }.vigor-stage .hero-description{
        max-width: 620px;
        min-height: 72px;
        margin: 28px 0 24px;
        font-size: clamp(20px, 1.65vw, 27px);
        font-weight: 700;
        line-height: 1.5;
        letter-spacing: 0.01em;
      }.vigor-stage .hero-actions{
        display: flex;
        align-items: center;
        gap: 22px;
      }.vigor-stage .hero-link{
        color: #fff;
        text-underline-offset: 6px;
        font-size: 17px;
        font-weight: 800;
      }.vigor-stage .scroll-meter{
        position: absolute;
        z-index: 6;
        top: 50%;
        right: 30px;
        display: grid;
        gap: 10px;
        width: 50px;
        transform: translateY(-50%);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.1em;
        text-align: center;
      }.vigor-stage .scroll-meter i{
        position: relative;
        display: block;
        width: 2px;
        height: 136px;
        margin: 0 auto;
        overflow: hidden;
        background: rgba(255, 255, 255, 0.32);
      }.vigor-stage .scroll-meter i::after{
        position: absolute;
        inset: 0;
        background: var(--pop);
        content: "";
        transform: scaleY(max(0.05, var(--hero-progress)));
        transform-origin: top;
      }.vigor-stage .need-panel{
        position: absolute;
        z-index: 8;
        right: 28px;
        bottom: 26px;
        left: 28px;
        display: grid;
        grid-template-columns: 220px repeat(4, minmax(0, 1fr));
        gap: 10px;
        padding: 14px;
        border: 1px solid rgba(255, 255, 255, 0.24);
        border-radius: 26px;
        background: rgba(8, 37, 31, 0.84);
        backdrop-filter: blur(18px);
        opacity: 0;
        transform: translateY(34px);
        transition: opacity 0.45s ease, transform 0.45s ease;
      }.vigor-stage .hero.is-choice-ready .need-panel,.vigor-stage .capture .need-panel{
        opacity: 1;
        transform: translateY(0);
      }.vigor-stage .need-title{
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 8px 16px;
      }.vigor-stage .need-title small{
        margin-bottom: 6px;
        color: var(--pop);
        font-size: 12px;
        font-weight: 900;
        letter-spacing: 0.13em;
      }.vigor-stage .need-title strong{
        font-size: 22px;
        line-height: 1.25;
        text-wrap: balance;
      }.vigor-stage .need-option{
        position: relative;
        min-height: 112px;
        padding: 18px 48px 18px 18px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 18px;
        color: #fff;
        background: rgba(255, 255, 255, 0.07);
        cursor: pointer;
        text-align: left;
        transition: transform 0.24s ease, background 0.24s ease, color 0.24s ease;
      }.vigor-stage .need-option:hover,.vigor-stage .need-option:focus-visible{
        transform: translateY(-3px);
        outline: 3px solid #fff;
        outline-offset: 2px;
      }.vigor-stage .need-option.is-active{
        color: var(--forest-deep);
        border-color: var(--pop);
        background: var(--pop);
      }.vigor-stage .need-option span,.vigor-stage .need-option strong{
        display: block;
      }.vigor-stage .need-option span{
        margin-bottom: 6px;
        font-size: 12px;
        font-weight: 900;
        letter-spacing: 0.12em;
      }.vigor-stage .need-option strong{
        font-size: 21px;
        line-height: 1.25;
      }.vigor-stage .need-option::after{
        position: absolute;
        right: 17px;
        bottom: 16px;
        font-size: 24px;
        content: "↘";
      }.vigor-stage .services{
        position: relative;
        overflow: hidden;
        padding: 120px 0 130px;
        background: var(--cream);
      }.vigor-stage .section-heading{
        display: grid;
        grid-template-columns: 1fr 1.2fr;
        align-items: end;
        width: min(100% - 96px, 1320px);
        margin: 0 auto 58px;
      }.vigor-stage .section-heading p{
        margin: 0 0 14px;
        color: var(--forest);
        font-size: 13px;
        font-weight: 900;
        letter-spacing: 0.2em;
      }.vigor-stage .section-heading h2{
        margin: 0;
        font-family: "Arial Black", "PingFang TC", "Noto Sans TC", sans-serif;
        font-size: clamp(52px, 5vw, 78px);
        font-weight: 950;
        line-height: 1.02;
        letter-spacing: -0.055em;
      }.vigor-stage .section-heading > div:last-child{
        padding-left: 54px;
        border-left: 1px solid var(--line);
      }.vigor-stage .section-heading .intro{
        max-width: 520px;
        margin: 0;
        color: #4f5d55;
        font-size: 19px;
        font-weight: 650;
        line-height: 1.7;
        letter-spacing: 0;
      }.vigor-stage .service-tabs{
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: min(100% - 96px, 1320px);
        margin: 0 auto 30px;
        border-top: 1px solid var(--line);
        border-bottom: 1px solid var(--line);
      }.vigor-stage .service-tab{
        position: relative;
        min-height: 76px;
        padding: 0 18px;
        border: 0;
        color: #697269;
        background: transparent;
        cursor: pointer;
        font-size: 16px;
        font-weight: 850;
      }.vigor-stage .service-tab + .service-tab{
        border-left: 1px solid var(--line);
      }.vigor-stage .service-tab.is-active{
        color: var(--forest-deep);
      }.vigor-stage .service-tab.is-active::after{
        position: absolute;
        right: 16px;
        bottom: -1px;
        left: 16px;
        height: 5px;
        background: var(--coral);
        content: "";
      }.vigor-stage .carousel-shell{
        position: relative;
      }.vigor-stage .carousel-stage{
        position: relative;
      }.vigor-stage .carousel-hint{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        margin: 0 0 18px;
        color: #68746c;
        font-size: 13px;
        font-weight: 800;
      }.vigor-stage .carousel-hint::before{
        content: "←";
      }.vigor-stage .carousel-hint::after{
        content: "→";
      }.vigor-stage .carousel-viewport{
        width: 100%;
        overflow: hidden;
        touch-action: pan-y;
      }.vigor-stage .carousel-track{
        display: flex;
        align-items: stretch;
        gap: 28px;
        width: max-content;
        padding: 0;
        transition: transform 0.58s cubic-bezier(0.22, 0.75, 0.18, 1);
        will-change: transform;
      }.vigor-stage .service-card{
        display: grid;
        grid-template-columns: 1.18fr 0.82fr;
        width: min(76vw, 1060px);
        min-height: 590px;
        overflow: hidden;
        border: 1px solid var(--line);
        border-radius: 32px;
        background: var(--paper);
        opacity: 0.45;
        transform: scale(0.92);
        transition: opacity 0.42s ease, transform 0.42s ease;
      }.vigor-stage .service-card.is-active{
        opacity: 1;
        transform: scale(1);
      }.vigor-stage .service-card figure{
        position: relative;
        min-height: 590px;
        margin: 0;
        overflow: hidden;
      }.vigor-stage .service-card img{
        width: 100%;
        height: 100%;
        object-fit: cover;
      }.vigor-stage .service-card figcaption{
        position: absolute;
        bottom: 20px;
        left: 20px;
        padding: 8px 12px;
        border-radius: 999px;
        color: #fff;
        background: rgba(8, 37, 31, 0.72);
        font-size: 11px;
        font-weight: 800;
      }.vigor-stage .card-copy{
        display: flex;
        flex-direction: column;
        padding: 48px 46px 40px;
        color: #fff;
        background: var(--forest);
      }.vigor-stage .service-index{
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: var(--pop);
        font-size: 13px;
        font-weight: 900;
        letter-spacing: 0.18em;
      }.vigor-stage .card-copy h3{
        margin: 42px 0 22px;
        font-size: clamp(36px, 3vw, 54px);
        font-weight: 950;
        line-height: 1.08;
        letter-spacing: -0.055em;
      }.vigor-stage .card-copy > p{
        margin: 0;
        color: rgba(255, 255, 255, 0.82);
        font-size: 18px;
        font-weight: 650;
        line-height: 1.65;
      }.vigor-stage .price{
        display: flex;
        align-items: baseline;
        gap: 10px;
        margin: auto 0 26px;
        padding-top: 34px;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
      }.vigor-stage .price strong{
        color: var(--pop);
        font-size: 42px;
        line-height: 1;
      }.vigor-stage .price span{
        color: rgba(255, 255, 255, 0.72);
        font-size: 14px;
        font-weight: 800;
      }.vigor-stage .card-actions{
        display: flex;
        gap: 10px;
      }.vigor-stage .card-actions a{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        padding: 0 18px;
        border: 1px solid rgba(255, 255, 255, 0.35);
        border-radius: 999px;
        color: #fff;
        text-decoration: none;
        font-size: 14px;
        font-weight: 900;
      }.vigor-stage .card-actions a:first-child{
        color: var(--forest-deep);
        border-color: var(--pop);
        background: var(--pop);
      }.vigor-stage .carousel-controls{
        display: flex;
        align-items: center;
        justify-content: center;
        width: min(100% - 96px, 1320px);
        margin: 34px auto 0;
      }.vigor-stage .counter{
        display: flex;
        align-items: baseline;
        gap: 6px;
        color: var(--forest-deep);
        font-weight: 900;
      }.vigor-stage .counter strong{
        font-size: 36px;
      }.vigor-stage .counter span{
        color: #7d857f;
        font-size: 17px;
      }.vigor-stage .image-navigation{
        position: absolute;
        z-index: 4;
        top: 50%;
        left: calc(50% - min(38vw, 530px));
        display: flex;
        justify-content: space-between;
        width: min(44.84vw, 625px);
        padding: 0 20px;
        pointer-events: none;
        transform: translateY(-50%);
      }.vigor-stage .carousel-arrow{
        width: 58px;
        height: 58px;
        border: 1px solid var(--line);
        border-radius: 50%;
        color: var(--forest-deep);
        background: var(--paper);
        cursor: pointer;
        font-size: 24px;
        font-weight: 900;
        pointer-events: auto;
      }.vigor-stage .carousel-arrow:hover,.vigor-stage .carousel-arrow:focus-visible{
        color: var(--paper);
        outline: 3px solid var(--coral);
        outline-offset: 3px;
        background: var(--forest);
      }.vigor-stage .capture .prototype-note{
        display: none;
      }.vigor-stage .capture .site-header{
        position: absolute;
      }.vigor-stage .capture .hero{
        min-height: 980px;
      }.vigor-stage .capture .hero-sticky{
        position: relative;
        height: 980px;
      }.vigor-stage .capture .hero-grid{
        padding-bottom: 238px;
      }

      @media (max-width: 900px), (max-width: 1100px) and (max-height: 600px) and (pointer: coarse) and (orientation: landscape) {.vigor-stage .site-header{
          grid-template-columns: 1fr auto auto;
          padding: 10px 18px;
        }.vigor-stage .site-nav{
          display: none;
        }.vigor-stage .brand small{
          display: none;
        }.vigor-stage .header-cta{
          min-height: 44px;
          padding: 0 16px;
        }.vigor-stage .prototype-note{
          display: none;
        }.vigor-stage .hero{
          min-height: max(280svh, calc(var(--hero-copy-height, 0px) + 200svh));
        }.vigor-stage .hero-sticky{
          min-height: 0;
          height: 100svh;
          display: block;
        }.vigor-stage .hero-media img[data-id]{
          object-position: 50% 50%;
        }.vigor-stage .hero-grid{
          display: block;
          width: calc(100% - 34px);
          height: auto;
          padding: calc(var(--hero-header-height, 76px) + 12px) 0 28px;
          transform: translateY(calc(-1 * var(--hero-copy-offset, 0px)));
        }.vigor-stage .hero .eyebrow{
          font-size: 0.875rem;
          margin-bottom: 12px;
        }.vigor-stage .hero-actions a{
          font-size: 1rem;
        }.vigor-stage .hero-actions .hero-link{
          font-size: 0.875rem;
        }.vigor-stage .hero.is-choice-ready .hero-grid,.vigor-stage .capture .hero-grid{
          visibility: hidden;
          pointer-events: none;
        }.vigor-stage .hero-shade{
          background:
            linear-gradient(180deg, rgba(7, 34, 28, 0.88), rgba(7, 34, 28, 0.7) 28%, rgba(7, 34, 28, 0.08) 49%, rgba(7, 34, 28, 0.02) 78%, rgba(7, 34, 28, 0.24));
        }.vigor-stage .hero h1{
          font-size: clamp(2rem, 10.5vw, 2.75rem);
          line-height: 1.06;
        }.vigor-stage .hero-description{
          min-height: 0;
          margin: 16px 0;
          font-size: 1rem;
        }.vigor-stage .need-panel{
          position: absolute;
          top: calc(var(--hero-header-height, 76px) + 16px);
          right: 12px;
          bottom: auto;
          left: 12px;
          margin: 0;
          padding: 10px;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 7px;
          max-height: calc(100svh - var(--hero-header-height, 76px) - 32px);
          overflow-y: auto;
          border-radius: 20px;
          visibility: hidden;
          pointer-events: none;
        }.vigor-stage .hero.is-choice-ready .need-panel,.vigor-stage .capture .need-panel{
          visibility: visible;
          pointer-events: auto;
        }.vigor-stage .need-title{
          grid-column: 1 / -1;
          padding: 2px 6px 4px;
        }.vigor-stage .need-title strong{
          font-size: 1.0625rem;
        }.vigor-stage .need-title small{
          font-size: 0.6875rem;
        }.vigor-stage .need-option{
          min-height: 48px;
          padding: 8px 26px 8px 10px;
        }.vigor-stage .need-option span{
          display: inline;
          margin-right: 8px;
        }.vigor-stage .need-option strong{
          display: inline;
          font-size: 0.9375rem;
        }.vigor-stage .capture .hero{
          min-height: 100svh;
        }.vigor-stage .capture .hero-sticky{
          height: 100svh;
        }.vigor-stage .capture .hero-grid{
          padding-bottom: 32px;
        }.vigor-stage .scroll-meter{
          display: none;
        }.vigor-stage .services{
          padding: 82px 0 90px;
        }.vigor-stage .section-heading{
          display: block;
          width: calc(100% - 34px);
          margin-bottom: 34px;
        }.vigor-stage .section-heading h2{
          font-size: 48px;
        }.vigor-stage .section-heading > div:last-child{
          margin-top: 28px;
          padding: 24px 0 0;
          border-top: 1px solid var(--line);
          border-left: 0;
        }.vigor-stage .service-tabs{
          width: calc(100% - 34px);
          overflow-x: auto;
        }.vigor-stage .service-tab{
          min-width: 190px;
          padding: 0 12px;
          font-size: 14px;
        }.vigor-stage .service-card{
          grid-template-columns: 1fr;
          width: 84vw;
          min-height: 0;
          border-radius: 24px;
        }.vigor-stage .service-card figure{
          min-height: 360px;
        }.vigor-stage .image-navigation{
          top: 180px;
          left: 8vw;
          width: 84vw;
          padding: 0 12px;
        }.vigor-stage .carousel-arrow{
          width: 50px;
          height: 50px;
        }.vigor-stage .card-copy{
          min-height: 480px;
          padding: 30px 26px;
        }.vigor-stage .card-copy h3{
          margin: 28px 0 18px;
          font-size: 39px;
        }.vigor-stage .carousel-controls{
          width: calc(100% - 34px);
        }
      }

      @media (max-width: 900px) and (max-height: 700px) and (orientation: portrait) {.vigor-stage .need-panel{
          grid-template-columns: repeat(4, minmax(160px, 1fr));
          overflow-x: auto;
          overscroll-behavior-x: contain;
          scroll-snap-type: x proximity;
        }.vigor-stage .need-title{
          position: sticky;
          left: 0;
          max-width: calc(100vw - 64px);
        }.vigor-stage .need-option{
          scroll-snap-align: start;
        }
      }

      @media (max-width: 900px) and (orientation: landscape), (max-width: 1100px) and (max-height: 600px) and (pointer: coarse) and (orientation: landscape) {.vigor-stage .hero-grid{
          width: 28%;
          margin-left: 18px;
          padding-top: calc(var(--hero-header-height, 76px) + 12px);
        }.vigor-stage .hero h1{
          font-size: 1.75rem;
        }body.vigor-stage.vigor-home .hero .hero-description{
          font-size: 0.875rem;
          margin: 12px 0;
        }.vigor-stage .hero-actions{
          flex-direction: column;
          align-items: flex-start;
          gap: 8px;
        }.vigor-stage .need-panel{
          width: 28%;
          right: auto;
          grid-template-columns: 1fr;
        }
      }

      @supports (font: -apple-system-body) and (-webkit-touch-callout: default) {
        @media (max-width: 900px), (max-width: 1100px) and (max-height: 600px) and (pointer: coarse) and (orientation: landscape) {html{
            font: -apple-system-body;
          }
        }
      }

      @media (prefers-reduced-motion: reduce) {.vigor-stage *,.vigor-stage *::before,.vigor-stage *::after{
          scroll-behavior: auto !important;
          transition-duration: 0.01ms !important;
          animation-duration: 0.01ms !important;
        }
      }
    