
    :root {
      color-scheme: light;
      --ink: #152431;
      --muted: #5d6d78;
      --line: #d8e9f4;
      --paper: #f7fcff;
      --panel: #ffffff;
      --brand: #27aee4;
      --brand-dark: #08688e;
      --brand-soft: #e6f6fd;
      --brand-tint: #f0faff;
      --gold: #b7832b;
      --rose: #b84a4a;
      --shadow: 0 18px 40px rgba(8, 104, 142, .12);
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: -apple-system, BlinkMacSystemFont, "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", Arial, sans-serif;
      background: var(--paper);
      color: var(--ink);
      line-height: 1.55;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img {
      display: block;
      max-width: 100%;
    }

    .page {
      min-height: 100vh;
      padding-bottom: 92px;
    }

    .topbar {
      position: sticky;
      top: 0;
      z-index: 20;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      padding: 10px 16px;
      background: rgba(251, 253, 251, .94);
      border-bottom: 1px solid var(--line);
      backdrop-filter: blur(12px);
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }

    .brand img {
      width: 42px;
      height: 42px;
      object-fit: contain;
    }

    .brand strong {
      display: block;
      font-size: 15px;
      line-height: 1.2;
    }

    .brand span {
      display: block;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.2;
      margin-top: 2px;
    }

    .top-call {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 42px;
      padding: 0 14px;
      border-radius: 8px;
      background: var(--brand);
      color: #fff;
      font-weight: 700;
      font-size: 14px;
      white-space: nowrap;
    }

    .hero {
      position: relative;
      overflow: hidden;
      padding: 34px 18px 26px;
      background:
        linear-gradient(145deg, rgba(230, 246, 253, .96) 0%, rgba(255, 255, 255, .93) 54%, rgba(240, 250, 255, .92) 100%);
      border-bottom: 1px solid var(--line);
    }

    .hero-inner,
    .section-inner {
      width: min(1080px, 100%);
      margin: 0 auto;
    }

    .hero-grid {
      display: grid;
      gap: 24px;
      align-items: center;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      width: fit-content;
      min-height: 30px;
      padding: 0 10px;
      border: 1px solid rgba(39, 174, 228, .32);
      border-radius: 999px;
      background: rgba(255, 255, 255, .68);
      color: var(--brand-dark);
      font-size: 13px;
      font-weight: 700;
    }

    h1 {
      margin: 14px 0 10px;
      font-size: clamp(34px, 10vw, 68px);
      line-height: 1.04;
      letter-spacing: 0;
    }

    .hero-copy {
      margin: 0;
      color: #314554;
      font-size: 17px;
    }

    .hero-actions {
      display: grid;
      gap: 10px;
      margin-top: 22px;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 52px;
      padding: 0 18px;
      border-radius: 8px;
      border: 1px solid transparent;
      font-weight: 800;
      font-size: 16px;
    }

    .btn-primary {
      background: var(--brand);
      color: #fff;
      box-shadow: 0 14px 26px rgba(39, 174, 228, .23);
    }

    .btn-secondary {
      background: #fff;
      border-color: var(--line);
      color: var(--brand-dark);
    }

    .quick-info {
      display: grid;
      gap: 10px;
      margin-top: 18px;
      color: var(--muted);
      font-size: 14px;
    }

    .quick-info b {
      color: var(--ink);
    }

    .hero-visual {
      display: grid;
      gap: 14px;
      padding: 18px;
      border: 1px solid rgba(39, 174, 228, .2);
      border-radius: 8px;
      background: rgba(255, 255, 255, .78);
      box-shadow: var(--shadow);
    }

    .visual-head {
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .visual-head img {
      width: 74px;
      height: 74px;
      object-fit: contain;
      background: #fff;
      border-radius: 8px;
      border: 1px solid var(--line);
      padding: 7px;
    }

    .visual-head strong {
      display: block;
      font-size: 18px;
      line-height: 1.2;
    }

    .visual-head span {
      display: block;
      margin-top: 5px;
      color: var(--muted);
      font-size: 13px;
    }

    .animal-strip {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
    }

    .animal-tile {
      display: grid;
      place-items: center;
      min-height: 76px;
      border-radius: 8px;
      background: var(--brand-soft);
      color: var(--brand-dark);
      font-weight: 800;
      text-align: center;
      font-size: 14px;
    }

    section {
      padding: 30px 18px;
    }

    section + section {
      border-top: 1px solid var(--line);
    }

    h2 {
      margin: 0 0 14px;
      font-size: 25px;
      line-height: 1.18;
      letter-spacing: 0;
    }

    .lead {
      margin: 0 0 18px;
      color: var(--muted);
      font-size: 16px;
    }

    .grid {
      display: grid;
      gap: 12px;
    }

    .card {
      padding: 16px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--panel);
    }

    .card strong {
      display: block;
      margin-bottom: 5px;
      font-size: 17px;
    }

    .card p {
      margin: 0;
      color: var(--muted);
      font-size: 15px;
    }

    .alert {
      border-color: rgba(184, 74, 74, .25);
      background: #fff7f5;
    }

    .alert strong {
      color: #823434;
    }

    .location {
      display: grid;
      gap: 14px;
      padding: 18px;
      border-radius: 8px;
      background: var(--brand-dark);
      color: #fff;
    }

    .location h2,
    .location p {
      margin: 0;
    }

    .location p {
      color: rgba(255, 255, 255, .82);
    }

    .location-list {
      display: grid;
      gap: 10px;
      margin-top: 4px;
    }

    .location-row {
      padding: 12px;
      border: 1px solid rgba(255, 255, 255, .2);
      border-radius: 8px;
      background: rgba(255, 255, 255, .08);
    }

    .location-row span {
      display: block;
      color: rgba(255, 255, 255, .72);
      font-size: 13px;
      margin-bottom: 3px;
    }

    .location-row b {
      display: block;
      font-size: 16px;
    }

    .footer {
      padding: 26px 18px 110px;
      color: var(--muted);
      font-size: 13px;
      text-align: center;
    }

    .sticky-cta {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 30;
      padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
      background: rgba(255, 255, 255, .96);
      border-top: 1px solid var(--line);
      backdrop-filter: blur(12px);
    }

    .sticky-cta-inner {
      display: grid;
      grid-template-columns: 1fr;
      width: min(720px, 100%);
      margin: 0 auto;
    }

    .sticky-cta .btn {
      min-height: 54px;
    }

    @media (min-width: 720px) {
      .page {
        padding-bottom: 0;
      }

      .topbar {
        padding: 13px 28px;
      }

      .brand img {
        width: 50px;
        height: 50px;
      }

      .hero {
        padding: 58px 28px 46px;
      }

      .hero-grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
      }

      .hero-actions {
        display: flex;
      }

      .btn {
        min-width: 180px;
      }

      .quick-info {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      section {
        padding: 42px 28px;
      }

      .grid.three {
        grid-template-columns: repeat(3, 1fr);
      }

      .grid.two {
        grid-template-columns: repeat(2, 1fr);
      }

      .location {
        grid-template-columns: 1fr 1.25fr;
        align-items: center;
        padding: 26px;
      }

      .sticky-cta {
        display: none;
      }

      .footer {
        padding-bottom: 34px;
      }
    }
  