 /* ======================================================
       sg-v2- 獨立命名空間 — 完全不與任何外部 CSS 衝突
    ====================================================== */
    .sg-v2-reset, .sg-v2-reset *, .sg-v2-reset *::before, .sg-v2-reset *::after {
      box-sizing: border-box; margin: 0; padding: 0;
    }

    :root {
      --sg-v2-blue-dk:  #0b3d6e;
      --sg-v2-blue:     #1463a5;
      --sg-v2-blue-md:  #2580c8;
      --sg-v2-blue-lt:  #e6f2fb;
      --sg-v2-teal:     #0d8c7d;
      --sg-v2-teal-lt:  #d4f0ec;
      --sg-v2-amber:    #d97706;
      --sg-v2-amber-lt: #fef3c7;
      --sg-v2-white:    #ffffff;
      --sg-v2-paper:    #f4f9fe;
      --sg-v2-ink:      #0c1d2e;
      --sg-v2-muted:    #52687a;
      --sg-v2-border:   #caddf0;
      --sg-v2-err:      #dc2626;
      --sg-v2-ok:       #16a34a;
      --sg-v2-shadow:   rgba(11,61,110,.10);
      --sg-v2-serif:    'Noto Serif TC', Georgia, serif;
      --sg-v2-sans:     'Noto Sans TC', 'PingFang TC', sans-serif;
      --sg-v2-r:        14px;
      --sg-v2-r-sm:     8px;
    }

    /* ── PAGE ── */
    .sg-v2-page {
      min-height: 100vh;
      font-family: var(--sg-v2-sans);
      color: var(--sg-v2-ink);
      background: var(--sg-v2-paper);
      background-image:
        radial-gradient(ellipse at 0% 0%, rgba(20,99,165,.13) 0%, transparent 52%),
        radial-gradient(ellipse at 100% 100%, rgba(13,140,125,.10) 0%, transparent 52%);
      padding-bottom: 80px;
    }

    /* ── HERO ── */
    .sg-v2-hero {
      background: linear-gradient(135deg, var(--sg-v2-blue-dk) 0%, var(--sg-v2-blue) 55%, var(--sg-v2-teal) 100%);
      padding: 58px 24px 54px;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .sg-v2-hero::after {
      content: '';
      position: absolute; inset: 0; pointer-events: none;
      background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='https://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='1.5' fill='%23ffffff' fill-opacity='0.05'/%3E%3C/svg%3E");
    }
    .sg-v2-hero__chip {
      display: inline-flex; align-items: center; gap: 8px;
      background: rgba(255,255,255,.13);
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 999px;
      padding: 6px 20px;
      font-size: 11px; font-weight: 600;
      letter-spacing: .2em; text-transform: uppercase;
      color: rgba(255,255,255,.9);
      margin-bottom: 22px; position: relative; z-index: 1;
    }
    .sg-v2-hero__dot {
      width: 7px; height: 7px; border-radius: 50%;
      background: #5eeedd;
      animation: sg-v2-blink 2.2s ease-in-out infinite;
    }
    @keyframes sg-v2-blink {
      0%,100%{opacity:1;transform:scale(1);}
      50%{opacity:.4;transform:scale(1.4);}
    }
    .sg-v2-hero h1 {
      font-family: var(--sg-v2-serif);
      font-size: clamp(1.9rem, 5.5vw, 3rem);
      font-weight: 700; color: #fff;
      line-height: 1.35; margin-bottom: 16px;
      text-shadow: 0 2px 18px rgba(0,0,0,.2);
      position: relative; z-index: 1;
    }
    .sg-v2-hero h1 em { font-style: normal; color: #7ee8dc; }
    .sg-v2-hero__desc {
      font-size: clamp(.88rem, 2.2vw, 1.04rem);
      color: rgba(255,255,255,.82);
      line-height: 1.88; max-width: 560px;
      margin: 0 auto 26px;
      position: relative; z-index: 1;
    }
    .sg-v2-hero__tags {
      display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
      position: relative; z-index: 1;
    }
    .sg-v2-hero__tag {
      background: rgba(255,255,255,.11);
      border: 1px solid rgba(255,255,255,.2);
      border-radius: 999px;
      font-size: .76rem; color: rgba(255,255,255,.88);
      padding: 5px 14px;
    }

    /* ── WRAPPER ── */
    .sg-v2-wrap {
      max-width: 820px; margin: 0 auto; padding: 0 16px;
    }

    /* ── SECTION DIVIDER ── */
    .sg-v2-divider {
      display: flex; align-items: center; gap: 12px;
      margin: 44px 0 20px;
    }
    .sg-v2-divider__bar { flex: 1; height: 1px; background: var(--sg-v2-border); }
    .sg-v2-divider__label {
      font-size: .7rem; font-weight: 700;
      letter-spacing: .2em; text-transform: uppercase;
      color: var(--sg-v2-blue); white-space: nowrap;
    }

    /* ── CARD SHELL ── */
    .sg-v2-card {
      background: var(--sg-v2-white);
      border: 1px solid var(--sg-v2-border);
      border-radius: var(--sg-v2-r);
      box-shadow: 0 6px 36px var(--sg-v2-shadow);
      overflow: hidden;
    }
    .sg-v2-card__hd {
      background: linear-gradient(90deg, var(--sg-v2-blue-dk), var(--sg-v2-blue-md));
      padding: 22px 30px;
      display: flex; align-items: center; gap: 15px;
    }
    .sg-v2-card__hd-icon {
      width: 44px; height: 44px;
      background: rgba(255,255,255,.14);
      border-radius: var(--sg-v2-r-sm);
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .sg-v2-card__hd-icon svg {
      width: 22px; height: 22px;
      stroke: #fff; fill: none; stroke-width: 1.8;
      stroke-linecap: round; stroke-linejoin: round;
    }
    .sg-v2-card__hd h2 {
      font-family: var(--sg-v2-serif);
      font-size: 1.12rem; font-weight: 600; color: #fff;
    }
    .sg-v2-card__hd p {
      font-size: .76rem; color: rgba(255,255,255,.55); margin-top: 3px;
    }
    .sg-v2-card__body { padding: 32px 30px 36px; }

    /* ── CONTACT ROW ── */
    .sg-v2-contact-row {
      display: grid; grid-template-columns: repeat(3,1fr); gap: 16px;
      margin-bottom: 30px;
    }
    .sg-v2-contact-item {
      background: var(--sg-v2-blue-lt);
      border: 1px solid var(--sg-v2-border);
      border-radius: var(--sg-v2-r-sm);
      padding: 16px 14px;
      display: flex; align-items: flex-start; gap: 10px;
    }
    .sg-v2-contact-item__icon {
      width: 34px; height: 34px; flex-shrink: 0;
      background: var(--sg-v2-white);
      border: 1px solid var(--sg-v2-border);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
    }
    .sg-v2-contact-item__icon svg {
      width: 15px; height: 15px;
      stroke: var(--sg-v2-blue); fill: none;
      stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
    }
    .sg-v2-contact-item__label {
      font-size: .68rem; font-weight: 700;
      letter-spacing: .07em; text-transform: uppercase;
      color: var(--sg-v2-muted); margin-bottom: 4px;
    }
    .sg-v2-contact-item__val {
      font-size: .9rem; font-weight: 500; color: var(--sg-v2-ink);
      line-height: 1.5;
    }
    .sg-v2-contact-item__val a {
      color: var(--sg-v2-blue); text-decoration: none;
      border-bottom: 1px dashed rgba(20,99,165,.3);
    }
    .sg-v2-contact-item__val a:hover { color: var(--sg-v2-teal); }
    .sg-v2-badge {
      display: inline-block;
      font-size: .65rem; font-weight: 600;
      color: #fff; background: var(--sg-v2-blue-md);
      border-radius: 999px; padding: 1px 9px; margin-left: 5px;
      vertical-align: middle;
    }
    .sg-v2-badge--t { background: var(--sg-v2-teal); }

    /* ── FORM LAYOUT ── */
    .sg-v2-form { display: flex; flex-direction: column; gap: 22px; }

    .sg-v2-row { display: grid; grid-template-columns: 1fr 1fr; gap: 48px;  max-width: 720px;  /* 整體限寬 */}

    .sg-v2-field { display: flex; flex-direction: column; gap: 7px; }
    .sg-v2-field--full { grid-column: 1 / -1; }

    .sg-v2-label {
      font-size: .78rem; font-weight: 700;
      letter-spacing: .06em; text-transform: uppercase;
      color: var(--sg-v2-muted);
      display: flex; align-items: center; gap: 5px;
    }
    .sg-v2-label__req { color: var(--sg-v2-err); font-size: .9rem; }

    .sg-v2-input,
    .sg-v2-select,
    .sg-v2-textarea {
      width: 100%;
      font-family: var(--sg-v2-sans);
      font-size: .95rem;
      color: var(--sg-v2-ink);
      background: var(--sg-v2-white);
      border: 1.5px solid var(--sg-v2-border);
      border-radius: var(--sg-v2-r-sm);
      padding: 11px 14px;
      outline: none;
      transition: border-color .18s, box-shadow .18s;
      -webkit-appearance: none; appearance: none;
    }
    .sg-v2-input:focus,
    .sg-v2-select:focus,
    .sg-v2-textarea:focus {
      border-color: var(--sg-v2-blue-md);
      box-shadow: 0 0 0 3px rgba(37,128,200,.12);
    }
    .sg-v2-input::placeholder,
    .sg-v2-textarea::placeholder { color: #b0bfcc; }
    .sg-v2-textarea { resize: vertical; min-height: 110px; line-height: 1.7; }
    .sg-v2-select {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='https://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2352687a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
      padding-right: 38px;
      cursor: pointer;
    }

    /* ── SERVICE CHECKBOXES ── */
    .sg-v2-service-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
      gap: 10px;
    }
    .sg-v2-chk-label {
      display: flex; align-items: center; gap: 9px;
      background: var(--sg-v2-paper);
      border: 1.5px solid var(--sg-v2-border);
      border-radius: var(--sg-v2-r-sm);
      padding: 11px 13px;
      cursor: pointer;
      font-size: .86rem;
      color: var(--sg-v2-ink);
      font-weight: 500;
      transition: border-color .15s, background .15s, box-shadow .15s;
      user-select: none;
    }
    .sg-v2-chk-label:hover {
      border-color: var(--sg-v2-blue-md);
      background: var(--sg-v2-blue-lt);
    }
    .sg-v2-chk-label input[type="checkbox"] { display: none; }
    .sg-v2-chk-box {
      width: 18px; height: 18px; flex-shrink: 0;
      border: 1.5px solid var(--sg-v2-border);
      border-radius: 4px;
      background: var(--sg-v2-white);
      display: flex; align-items: center; justify-content: center;
      transition: background .15s, border-color .15s;
    }
    .sg-v2-chk-box svg {
      width: 11px; height: 11px;
      stroke: var(--sg-v2-white); fill: none;
      stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;
      opacity: 0; transition: opacity .12s;
    }
    .sg-v2-chk-label input:checked ~ .sg-v2-chk-box {
      background: var(--sg-v2-blue-md);
      border-color: var(--sg-v2-blue-md);
    }
    .sg-v2-chk-label input:checked ~ .sg-v2-chk-box svg { opacity: 1; }
    .sg-v2-chk-label:has(input:checked) {
      border-color: var(--sg-v2-blue-md);
      background: var(--sg-v2-blue-lt);
      box-shadow: 0 0 0 2px rgba(37,128,200,.12);
    }
    .sg-v2-chk-icon { font-size: 1rem; }

    /* ── PRIVACY NOTE ── */
    .sg-v2-privacy {
      display: flex; align-items: flex-start; gap: 10px;
      background: var(--sg-v2-teal-lt);
      border: 1px solid rgba(13,140,125,.2);
      border-radius: var(--sg-v2-r-sm);
      padding: 13px 16px;
      font-size: .78rem; color: var(--sg-v2-muted); line-height: 1.65;
    }
    .sg-v2-privacy svg {
      width: 16px; height: 16px; flex-shrink: 0;
      stroke: var(--sg-v2-teal); fill: none;
      stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
      margin-top: 1px;
    }

    /* ── SUBMIT ── */
    .sg-v2-submit-row {
      display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
    }
    .sg-v2-btn {
      display: inline-flex; align-items: center; gap: 8px;
      background: linear-gradient(135deg, var(--sg-v2-blue), var(--sg-v2-teal));
      color: #fff;
      font-family: var(--sg-v2-sans);
      font-size: .95rem; font-weight: 700;
      padding: 13px 34px;
      border: none; border-radius: 999px;
      cursor: pointer;
      box-shadow: 0 4px 18px rgba(20,99,165,.28);
      transition: transform .15s, box-shadow .15s, opacity .15s;
      text-decoration: none;
    }
    .sg-v2-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 26px rgba(20,99,165,.32); }
    .sg-v2-btn:active { transform: translateY(0); opacity: .9; }
    .sg-v2-btn svg { width: 17px; height: 17px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

    .sg-v2-btn--ghost {
      background: transparent;
      color: var(--sg-v2-muted);
      border: 1.5px solid var(--sg-v2-border);
      box-shadow: none;
      font-size: .88rem; font-weight: 500;
    }
    .sg-v2-btn--ghost:hover { background: var(--sg-v2-blue-lt); color: var(--sg-v2-blue); box-shadow: none; }

    .sg-v2-tel-cta {
      font-size: .82rem; color: var(--sg-v2-muted);
      display: flex; align-items: center; gap: 6px;
    }
    .sg-v2-tel-cta a { color: var(--sg-v2-blue); font-weight: 600; text-decoration: none; }
    .sg-v2-tel-cta a:hover { color: var(--sg-v2-teal); }

    /* ── SUCCESS MSG ── */
    .sg-v2-success {
      display: none;
      background: #f0fdf4;
      border: 1.5px solid #86efac;
      border-radius: var(--sg-v2-r);
      padding: 28px 24px;
      text-align: center;
    }
    .sg-v2-success svg { width: 48px; height: 48px; stroke: var(--sg-v2-ok); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 14px; }
    .sg-v2-success h3 { font-family: var(--sg-v2-serif); font-size: 1.2rem; color: var(--sg-v2-ok); margin-bottom: 8px; }
    .sg-v2-success p { font-size: .88rem; color: var(--sg-v2-muted); line-height: 1.7; }

    /* ── TRUST SECTION ── */
    .sg-v2-trust {
      display: grid; grid-template-columns: repeat(3,1fr); gap: 16px;
      margin-top: 28px;
    }
    .sg-v2-trust-item {
      background: var(--sg-v2-white);
      border: 1px solid var(--sg-v2-border);
      border-top: 4px solid var(--sg-v2-blue-md);
      border-radius: var(--sg-v2-r);
      padding: 20px 18px;
      box-shadow: 0 2px 12px var(--sg-v2-shadow);
      transition: transform .18s, box-shadow .18s;
    }
    .sg-v2-trust-item:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(20,99,165,.13); }
    .sg-v2-trust-item:nth-child(2) { border-top-color: var(--sg-v2-teal); }
    .sg-v2-trust-item:nth-child(3) { border-top-color: var(--sg-v2-amber); }
    .sg-v2-trust-item__num {
      font-family: var(--sg-v2-serif);
      font-size: 1.8rem; font-weight: 700;
      color: var(--sg-v2-blue-md); line-height: 1;
      margin-bottom: 8px;
    }
    .sg-v2-trust-item:nth-child(2) .sg-v2-trust-item__num { color: var(--sg-v2-teal); }
    .sg-v2-trust-item:nth-child(3) .sg-v2-trust-item__num { color: var(--sg-v2-amber); }
    .sg-v2-trust-item h4 {
      font-size: .88rem; font-weight: 700;
      color: var(--sg-v2-ink); margin-bottom: 6px;
    }
    .sg-v2-trust-item p { font-size: .76rem; color: var(--sg-v2-muted); line-height: 1.65; }

    /* ── FOOTER ── */
    .sg-v2-footer {
      text-align: center; margin-top: 52px;
      font-size: .76rem; color: var(--sg-v2-muted); line-height: 1.9;
    }
    .sg-v2-footer strong { color: var(--sg-v2-blue); }

    /* ── RWD ── */
    @media (max-width: 640px) {
      .sg-v2-hero { padding: 40px 16px 36px; }
      .sg-v2-contact-row { grid-template-columns: 1fr; }
      .sg-v2-row { grid-template-columns: 1fr; }
      .sg-v2-card__body { padding: 22px 18px 28px; }
      .sg-v2-card__hd { padding: 18px 18px; }
      .sg-v2-trust { grid-template-columns: 1fr; }
      .sg-v2-service-grid { grid-template-columns: repeat(2,1fr); }
      .sg-v2-submit-row { flex-direction: column; align-items: stretch; text-align: center; }
    }