/* ============================================================
   Dr.Glass 玻璃先生 — 樣式表 (style.css)
   原本內嵌於 index.html，已抽離為獨立檔案
   ============================================================ */

  :root{
    --purple:#7F1084; --deep:#500054; --ink:#241a28; --muted:#6f6675; --line:#ece6ef;
    --p1:#e7b9ec; --soft:#faf6fb; --soft2:#f7f1f8; --bg:#fff; --footer:#190a1d; --maxw:1200px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--ink);font-family:"Noto Sans TC",sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
  .eyebrow{font-family:"Sora";text-transform:uppercase;letter-spacing:.28em;font-size:12px;font-weight:600;color:var(--purple)}
  .ph{position:relative;background:rgba(120,90,130,.12);overflow:hidden}
  .ph img{width:100%;height:100%;object-fit:cover}
  .ph .fb{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#b3a3b8;font-size:12px;font-family:"Sora";letter-spacing:.1em}

  /* NAV */
  header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:.3s}
  header.scrolled{box-shadow:0 4px 24px rgba(80,0,84,.08)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:80px}
  .brand img{width:230px;height:auto;display:block;image-rendering:-webkit-optimize-contrast;transform:translateZ(0)}
  .brand .txt{font-family:"Sora";font-weight:700;font-size:22px;color:var(--purple);letter-spacing:.01em}
  .brand-word{font-family:"Sora";font-weight:800;font-size:25px;color:var(--purple);letter-spacing:.005em}
  .nav-links{display:flex;gap:34px;list-style:none}
  .nav-links a{font-size:15px;font-weight:500;color:var(--ink);position:relative;transition:.2s}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--purple);transition:.3s}
  .nav-links a:hover{color:var(--purple)}.nav-links a:hover::after{width:100%}
  .nav-cta{background:var(--purple);color:#fff;border:none;padding:12px 24px;border-radius:40px;font-weight:700;font-size:14px;cursor:pointer;transition:.25s;font-family:"Noto Sans TC"}
  .nav-cta:hover{background:var(--deep);transform:translateY(-2px)}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer}
  .burger span{width:26px;height:2px;background:var(--ink)}
  @media(max-width:920px){.nav-links,.nav-cta{display:none}.burger{display:flex}}

  /* HERO */
  .hero{position:relative;display:flex;align-items:stretch;min-height:calc(92vh - 80px);overflow:hidden}
  .hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:#160a1a;--hero:url('../assets/img/editable/hero.jpg')}
  .hero-bg::before{content:"";position:absolute;inset:-6%;background:var(--hero) center/cover;filter:blur(26px) brightness(.5) saturate(1.15);animation:emerge 1.8s .1s both}
  .hero-bg::after{content:"";position:absolute;inset:0;background:var(--hero) right center/contain no-repeat;animation:emerge 1.6s .25s both}
  @media(max-width:880px){.hero-bg::after{background-position:center}}
  .hero-left{position:relative;z-index:1;width:50%;padding-left:max(0px, calc(50% - var(--maxw)/2));color:#fff;display:flex;align-items:center;overflow:hidden;background:rgba(46,9,53,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-right:1px solid rgba(255,255,255,.14)}
  .hero-left::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);top:-120px;left:-100px;pointer-events:none}
  .hero-copy{width:100%;max-width:540px;padding:70px 60px 70px 32px;position:relative;z-index:1}
  .hero .eyebrow{color:var(--p1);display:inline-block;margin-bottom:20px;animation:fadeUp .8s .1s both}
  .hero h1{font-weight:900;font-size:clamp(38px,4.8vw,66px);line-height:1.12;animation:fadeUp .9s .25s both}
  .hero .ensub{font-family:"Sora";font-weight:500;font-size:clamp(14px,1.4vw,18px);letter-spacing:.05em;color:var(--p1);margin-top:16px;animation:fadeUp .9s .4s both}
  .hero .lead{margin-top:22px;font-size:16px;line-height:1.95;color:#f1e2f3;animation:fadeUp .9s .55s both}
  .hero-cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;animation:fadeUp .9s .7s both}
  .btn-white{background:#fff;color:var(--purple);padding:15px 30px;border-radius:44px;font-weight:700;font-size:15px;border:none;cursor:pointer;transition:.25s}
  .btn-white:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.25)}
  .btn-line{background:#06C755;color:#fff;padding:15px 26px;border-radius:44px;font-weight:700;font-size:15px;border:none;cursor:pointer;transition:.25s}
  .btn-line:hover{transform:translateY(-2px)}
  .hero-right{display:none}
  .hero-photo{display:none}
  .hero-right::before{display:none}
  @keyframes emerge{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}
  @keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  @media(max-width:880px){
    .hero{min-height:auto;flex-direction:column}
    .hero-bg{position:relative;flex:none;height:46vh;min-height:300px}
    .hero-bg::before{display:none}
    .hero-bg::after{background-size:cover;background-position:center 22%}
    .hero-left{width:100%;max-width:none;background:linear-gradient(180deg,#2a0830,#190a1d);border-right:none;backdrop-filter:none;-webkit-backdrop-filter:none}
    .hero-copy{margin:0;padding:38px 26px 52px}
  }

  /* MARQUEE */
  .ticker{display:flex;align-items:stretch;background:var(--deep);color:#fff;overflow:hidden}
  .ticker .lbl{background:var(--purple);padding:15px 26px;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:8px;font-size:14px;flex-shrink:0}
  .ticker .lbl::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--p1);box-shadow:0 0 10px var(--p1)}
  .ticker .marq{flex:1;overflow:hidden;display:flex;align-items:center;padding-left:26px}
  .ticker ul{display:flex;list-style:none;white-space:nowrap;animation:scroll 35s linear infinite;padding-left:0;margin:0}
  .ticker li{font-size:14.5px;color:#f0d8f3;padding-right:clamp(120px, 15vw, 300px);flex-shrink:0}
  .ticker li b{color:var(--p1);font-family:"Sora";margin-right:10px;font-weight:600}
  .ticker:hover ul{animation-play-state:paused}
  @keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* SECTIONS */
  .sec{padding:112px 0;position:relative;overflow:hidden}
  .sec-head{margin-bottom:56px}
  .sec-head.c{text-align:center;max-width:680px;margin-left:auto;margin-right:auto}
  .sec-head .eyebrow{display:inline-block;margin-bottom:16px}
  .sec-head h2{font-weight:900;font-size:clamp(28px,4vw,46px);line-height:1.2}
  .sec-head p{margin-top:14px;font-size:16px;color:var(--muted)}
  .light-news{background:linear-gradient(180deg,#ffffff,var(--soft))}
  .light{background:#fff}
  .tint{background:var(--soft2)}
  .glow{position:absolute;border-radius:50%;pointer-events:none;z-index:0}
  /* dark band */
  .band{color:#fff}
  .band .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;background-attachment:fixed;z-index:0}
  @media(max-width:820px){.band .bgimg{background-attachment:scroll}}
  .band .bgov{position:absolute;inset:0;z-index:0;background:linear-gradient(165deg,rgba(30,9,34,.82),rgba(62,13,70,.88))}
  .band::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 22%),radial-gradient(120% 70% at 82% 0%,rgba(255,255,255,.12),transparent 55%)}
  .band > .wrap{position:relative;z-index:2}
  .band .sec-head p{color:#e9d4ec}
  .band .eyebrow{color:var(--p1)}
  .glass{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  .bignum{position:absolute;font-family:"Sora";font-weight:800;line-height:1;pointer-events:none}

  /* 最新動態 (light, prev/next) */
  #news .glow{width:480px;height:480px;background:radial-gradient(circle,rgba(127,16,132,.10),transparent 70%);top:-160px;right:-140px}
  .news-wrap{position:relative}
  .news-track{display:flex;overflow:hidden;border-radius:20px;box-shadow:0 24px 60px rgba(80,0,84,.12)}
  .news-slide{flex:0 0 100%;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}
  .news-slide .ph{min-height:320px}
  .news-slide .txt{padding:48px;display:flex;flex-direction:column;justify-content:center}
  .news-slide .tag{font-family:"Sora";font-size:12px;letter-spacing:.18em;color:var(--purple);font-weight:600;text-transform:uppercase}
  .news-slide h3{font-size:25px;font-weight:900;margin:13px 0 13px;line-height:1.4}
  .news-slide p{color:var(--muted);font-size:15px}
  .news-slide .date{margin-top:18px;font-family:"Sora";font-size:13px;color:#a98bad}
  .news-nav{display:flex;justify-content:center;gap:14px;margin-top:26px;align-items:center}
  .nbtn{width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px rgba(80,0,84,.1);cursor:pointer;color:var(--purple);font-size:20px;transition:.2s}
  .nbtn:hover{background:var(--purple);color:#fff}
  .ndots{display:flex;gap:8px}
  .ndots i{width:9px;height:9px;border-radius:50%;background:var(--line);transition:.2s;cursor:pointer}
  .ndots i.on{background:var(--purple);width:24px;border-radius:6px}
  @media(max-width:820px){.news-slide{grid-template-columns:1fr}.news-slide .txt{padding:32px}}

  /* 為什麼 (dark band) */
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative}
  .why-grid::before{content:"";position:absolute;top:120px;left:13%;right:13%;border-top:2px dashed rgba(255,255,255,.32);z-index:0}
  .why-item{padding:38px 30px;border-radius:18px;position:relative;z-index:1;transition:.35s}
  .why-item:hover{transform:translateY(-8px);background:rgba(255,255,255,.16)}
  .why-item .n{font-family:"Sora";font-weight:800;font-size:14px;color:var(--p1);letter-spacing:.1em}
  .why-item .ic{width:46px;height:46px;margin:22px 0;color:var(--p1)}
  .why-item h3{font-size:21px;font-weight:900;margin-bottom:12px}
  .why-item p{color:#ead9ec;font-size:14.5px;line-height:1.9}
  @media(max-width:820px){.why-grid{grid-template-columns:1fr;gap:18px}.why-grid::before{display:none}}

  /* 修補案例 (light) */
  #cases .glow{width:520px;height:520px;background:radial-gradient(circle,rgba(58,125,186,.06),rgba(127,16,132,.06),transparent 70%);bottom:-200px;left:-160px}
  #cases .bignum{font-size:clamp(80px,14vw,170px);top:40px;right:4%;color:rgba(127,16,132,.06)}
  #news .bignum{font-size:clamp(80px,14vw,170px);top:34px;right:4%;color:rgba(127,16,132,.05)}
  .carousel{position:relative}
  .track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:52px}
  .track::-webkit-scrollbar{display:none}
  .slide{flex:0 0 calc(58% - 11px);scroll-snap-align:center}
  .slide .ph{aspect-ratio:16/10;border-radius:18px}
  @media(max-width:820px){.slide{flex:0 0 85%}}
  .cbtn{position:absolute;top:calc(50% - 24px);width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 10px 26px rgba(80,0,84,.14);cursor:pointer;font-size:22px;color:var(--purple);display:flex;align-items:center;justify-content:center;z-index:3;transition:.2s}
  .cbtn:hover{background:var(--purple);color:#fff}
  .cbtn.prev{left:-12px}.cbtn.next{right:-12px}
  .dots{display:flex;gap:9px;justify-content:center;margin-top:28px}
  .dots i{width:9px;height:9px;border-radius:50%;background:var(--line);cursor:pointer;transition:.2s}
  .dots i.on{background:var(--purple);width:26px;border-radius:6px}

  /* 影片 (dark band + iframe) */
  .video-row{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center}
  .video-row h2{font-size:clamp(26px,3.2vw,38px);font-weight:900;line-height:1.25}
  .video-row p{color:#e9d4ec;margin:18px 0 28px;font-size:16px;line-height:1.95}
  .btn-out{display:inline-flex;align-items:center;gap:10px;border:1.5px solid #fff;color:#fff;padding:14px 30px;border-radius:44px;font-weight:700;font-size:15px;transition:.25s}
  .btn-out:hover{background:#fff;color:var(--purple)}
  .crack{width:118px;opacity:.85;margin-bottom:18px}
  .video-frame{position:relative;aspect-ratio:16/10;border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.4);background:#000}
  .video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  @media(max-width:820px){.video-row{grid-template-columns:1fr;gap:30px}}

  /* 據點 (light) */
  #loc{background:var(--soft2)}
  #loc .map{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420'%3E%3Cg fill='none' stroke='%237F1084' stroke-width='1.4' stroke-opacity='0.07'%3E%3Cpath d='M0 70H420M0 170H420M0 270H420M0 370H420M70 0V420M210 0V420M340 0V420'/%3E%3Cpath d='M0 0L420 420M420 0L0 420' stroke-opacity='0.035'/%3E%3C/g%3E%3Ccircle cx='210' cy='170' r='8' fill='none' stroke='%237F1084' stroke-opacity='0.18' stroke-width='2'/%3E%3C/svg%3E");background-size:420px 420px}
  #loc .wrap{position:relative;z-index:2}
  .loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .loc{border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 16px 40px rgba(80,0,84,.08);transition:.35s}
  .loc:hover{transform:translateY(-6px);box-shadow:0 26px 56px rgba(80,0,84,.14)}
  .loc .ph{aspect-ratio:4/3}
  .loc .region{position:absolute;top:14px;right:14px;background:var(--purple);color:#fff;font-size:12px;font-weight:700;padding:4px 12px;border-radius:30px;font-family:"Sora"}
  .loc .body{padding:22px}
  .loc .meta{display:flex;gap:16px;font-size:13px;color:var(--muted);margin-bottom:9px;font-family:"Sora"}
  .loc h4{font-size:19px;font-weight:900;margin-bottom:9px}
  .loc .tel{font-size:13px;color:var(--muted);margin-bottom:16px}
  .loc .soc{display:flex;gap:10px}
  .loc .soc a{width:60px;height:60px;border-radius:14px;background:var(--soft);color:var(--purple);display:flex;align-items:center;justify-content:center;transition:.2s}
  .loc .soc a:hover{background:var(--purple);color:#fff}
  .loc .soc svg{width:32px;height:32px}
  .loc .info-list{list-style:none;padding:0;margin:16px 0 20px;display:flex;flex-direction:column;gap:12px}
  .loc .info-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--muted);line-height:1.5}
  .loc .info-list svg{width:18px;height:18px;color:var(--purple);flex-shrink:0;margin-top:2px}
  .loc .info-list .hover-link{color:inherit;text-decoration:none;transition:color .2s}
  .loc .info-list .hover-link:hover{color:var(--purple)}
  @media(max-width:920px){.loc-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.loc-grid{grid-template-columns:1fr}}

  /* 堅持 (dark band) */
  .insist{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:40px}
  .insist:last-child{margin-bottom:0}
  .insist .ph{aspect-ratio:4/3;border-radius:20px;border:1px solid rgba(255,255,255,.16)}
  .insist .no{font-family:"Sora";font-weight:800;font-size:15px;color:var(--p1);letter-spacing:.1em;margin-bottom:6px}
  .insist .eyebrow{color:var(--p1);display:block;margin-bottom:12px}
  .insist h3{font-size:clamp(24px,3vw,32px);font-weight:900;margin-bottom:14px;line-height:1.3}
  .insist p{color:#e9d4ec;font-size:15.5px;line-height:1.95}
  .insist.rev .txt{order:2}.insist.rev .ph{order:1}
  @media(max-width:820px){.insist{grid-template-columns:1fr;gap:22px}.insist.rev .txt{order:1}.insist.rev .ph{order:2}}

  /* FAQ (light) */
  #faq{background:linear-gradient(180deg,#1c0a20,#150816)}
  .faq-list{max-width:900px;margin:0 auto;position:relative;z-index:2}
  details{border:1px solid rgba(255,255,255,.10);border-radius:14px;margin-bottom:13px;padding:0 26px;background:rgba(255,255,255,.045);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:.25s}
  details[open]{background:rgba(255,255,255,.075);box-shadow:0 18px 44px rgba(0,0,0,.40);border-color:rgba(231,185,236,.30)}
  summary{list-style:none;cursor:pointer;padding:23px 0;display:flex;justify-content:space-between;gap:18px;font-weight:700;font-size:17px;color:#fff}
  summary::-webkit-details-marker{display:none}
  summary .mk{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.12);color:var(--p1);display:flex;align-items:center;justify-content:center;font-family:"Sora";font-weight:700;transition:.3s}
  details[open] summary .mk{background:var(--purple);color:#fff;transform:rotate(45deg)}
  details .a{padding:0 0 24px;color:#d6c5da;font-size:14.5px;line-height:1.95}

  /* CTA */
  .cta-band{background:linear-gradient(115deg,var(--purple),var(--deep));border-radius:24px;padding:72px 50px;text-align:center;color:#fff;position:relative;overflow:hidden}
  .cta-band::after{content:"";position:absolute;top:0;bottom:0;left:0;width:55%;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.26) 50%,transparent 65%);transform:translateX(-160%) skewX(-12deg);animation:refract 5s ease-in-out infinite}
  .cta-band .eyebrow{color:var(--p1)}
  .cta-band h2{font-weight:900;font-size:clamp(26px,4vw,42px);margin:14px 0 10px}
  .cta-band p{color:#f0d8f3;max-width:480px;margin:0 auto 30px;font-size:16px}
  .cta-band .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative}

  /* FOOTER */
  footer{background:var(--footer);color:#c9b3cd}
  .foot-top{padding:72px 32px 52px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:44px}
  .foot-logo-wrap{display:inline-block;background:#fff;padding:13px 18px;border-radius:14px;margin-bottom:20px}
  .foot-logo{height:40px;width:auto;display:block}
  .foot-logo-wrap .txt{font-family:"Sora";font-weight:700;font-size:20px;color:var(--purple)}
  .foot-brand p{font-size:14px;line-height:1.9;color:#b196b6;max-width:280px}
  .foot-brand .contact{margin-top:18px;font-size:14px;line-height:2}
  .foot-brand .contact b{color:var(--p1);font-family:"Sora";font-weight:600}
  footer h5{font-family:"Sora";letter-spacing:.18em;font-size:12px;color:#8f7594;text-transform:uppercase;margin-bottom:18px;font-weight:600}
  footer ul{list-style:none}
  footer li{margin-bottom:12px;font-size:14px;transition:.2s}
  footer a:hover li,footer li:hover{color:var(--p1)}
  .foot-cta{display:inline-block;margin-top:4px;background:#06C755;color:#fff;padding:12px 22px;border-radius:40px;font-weight:700;font-size:14px}
  .socials{display:flex;gap:11px;margin-top:18px}
  .socials a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-family:"Sora";font-size:11px;transition:.25s}
  .socials a:hover{background:var(--purple);border-color:var(--purple);color:#fff}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:24px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
  .foot-bottom small{color:#8f7594;font-size:12.5px}
  .foot-legal{display:flex;gap:24px;font-size:12.5px;color:#8f7594}
  @media(max-width:820px){.foot-top{grid-template-columns:1fr 1fr;text-align:center}.foot-brand p{max-width:none}.foot-brand p,.foot-brand .contact{margin-left:auto;margin-right:auto}.foot-bottom{justify-content:center;text-align:center}.socials{justify-content:center}}
  @media(max-width:520px){.foot-top{grid-template-columns:1fr}}

  .drawer{position:fixed;inset:0;background:rgba(25,10,29,.98);z-index:300;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:26px;transform:translateY(-100%);transition:.5s}
  .drawer.open{transform:none}
  .drawer a{color:#fff;font-weight:700;font-size:24px}
  .drawer .close{position:absolute;top:26px;right:30px;font-size:34px;color:#c9b3cd;background:none;border:none;cursor:pointer}
  .rv{opacity:0;transform:translateY(26px);transition:.8s cubic-bezier(.2,.7,.2,1)}
  .rv.in{opacity:1;transform:none}
  .ph.fail .fb{display:flex}

  /* news 3-card grid (always-visible sample) */
  .news-track{display:grid !important;grid-template-columns:repeat(3,1fr);gap:22px;overflow:visible !important;transform:none !important;border-radius:0;box-shadow:none}
  .news-slide{display:flex !important;flex-direction:column;grid-template-columns:none !important;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 16px 40px rgba(80,0,84,.10)}
  .news-slide .ph{min-height:0;aspect-ratio:16/10}
  .news-slide .txt{padding:26px}
  .news-slide h3{font-size:20px;margin:11px 0 10px}
  .news-nav{display:none !important}
  @media(max-width:820px){.news-track{grid-template-columns:1fr}}
  .brand-logo{width:230px;height:auto;display:block}
  @media(max-width:920px){.brand img{width:180px;height:auto}}
  .foot-logo2{height:56px;width:auto;display:block;margin-bottom:22px}
  /* 為什麼選擇 — sparkle + shine */
  .sparkles{position:absolute;inset:0;z-index:0;pointer-events:none}
  .spark{position:absolute;width:16px;height:16px;opacity:0;animation:twinkle 3.2s ease-in-out infinite}
  .spark::before,.spark::after{content:"";position:absolute;background:#fff;border-radius:3px;box-shadow:0 0 6px #fff,0 0 14px var(--p1)}
  .spark::before{left:50%;top:0;width:1.6px;height:100%;transform:translateX(-50%)}
  .spark::after{top:50%;left:0;height:1.6px;width:100%;transform:translateY(-50%)}
  @keyframes twinkle{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:.95;transform:scale(1)}}
  #why .why-item{overflow:hidden}
  #why .why-item::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(120deg,transparent 38%,rgba(255,255,255,.30) 50%,transparent 62%);transform:translateX(-130%);transition:transform .8s ease;pointer-events:none;z-index:3}
  #why .why-item:hover::after{transform:translateX(130%)}
  /* zoom-in reveal variant */
  .rv.zoom{opacity:0;transform:scale(.92) translateY(18px)}
  .rv.zoom.in{opacity:1;transform:none}
  /* 最新動態 cards: hover lift + scale */
  .news-slide{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
  .news-slide:hover{transform:translateY(-8px) scale(1.025);box-shadow:0 30px 64px rgba(80,0,84,.18)}
  /* book now: refraction + scale */
  @keyframes refract{0%{transform:translateX(-160%) skewX(-12deg)}55%,100%{transform:translateX(360%) skewX(-12deg)}}
  .cta-band{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
  .cta-band:hover{transform:scale(1.02)}
  /* 堅持: shimmer title + ghost number text effect */
  @keyframes shimmer{to{background-position:200% center}}
  .insist h3{background:linear-gradient(90deg,#ffffff 0%,#e7b9ec 25%,#ffffff 50%,#e7b9ec 75%,#ffffff 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:shimmer 4.5s linear infinite}
  .insist .txt{position:relative}
  .insist .txt::before{content:attr(data-n);position:absolute;right:0;top:-78px;font-family:"Sora";font-weight:800;font-size:128px;line-height:1;color:rgba(255,255,255,.07);z-index:-1;pointer-events:none}
  @media(max-width:820px){.insist .txt::before{display:none}}
  /* nav button = LINE green */
  
  /* hero logo + headline */
  .hero-logo{height:92px;width:auto;margin-bottom:20px;animation:fadeUp .8s .1s both}
  @media(max-width:880px){.hero-logo{height:70px}}
  /* square corners for images & video (no rounded) */
  .ph,.video-frame,.news-card,.slide .ph,.loc,.loc .ph,.insist .ph,.video-thumb{border-radius:0 !important}
  /* 最新動態 — enlarged image cards, message on hover */
  .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .news-card{position:relative;aspect-ratio:3/4;overflow:hidden;cursor:pointer;box-shadow:0 18px 44px rgba(80,0,84,.12)}
  .news-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .news-card:hover img{transform:scale(1.06)}
  .news-over{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:30px 26px;color:#fff;background:linear-gradient(180deg,rgba(40,8,46,0) 35%,rgba(33,6,38,.93) 100%);opacity:0;transition:opacity .45s ease}
  .news-card:hover .news-over{opacity:1}
  .news-over .tag{font-family:"Sora";font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--p1);font-weight:600;transform:translateY(14px);transition:.5s .05s}
  .news-over h3{font-size:21px;font-weight:900;margin:10px 0 8px;line-height:1.35;transform:translateY(14px);transition:.5s .1s}
  .news-over p{font-size:14px;color:#f0e2f3;line-height:1.8;transform:translateY(14px);transition:.5s .15s}
  .news-over .date{margin-top:12px;font-family:"Sora";font-size:12px;color:#d9bedd;transform:translateY(14px);transition:.5s .2s}
  .news-card:hover .news-over .tag,.news-card:hover .news-over h3,.news-card:hover .news-over p,.news-card:hover .news-over .date{transform:none}
  @media(max-width:820px){.news-grid{grid-template-columns:1fr;gap:14px}.news-card{aspect-ratio:16/10}.news-over{opacity:1;background:linear-gradient(180deg,rgba(40,8,46,0) 45%,rgba(33,6,38,.92) 100%)}.news-over .tag,.news-over h3,.news-over p,.news-over .date{transform:none}}
  /* FAQ — left form / right accordion */
  .faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start}
  .faq-form{position:relative;overflow:hidden;color:#fff;padding:46px 38px}
  .faq-form-bg{position:absolute;inset:0;z-index:0;background:linear-gradient(160deg,rgba(40,8,46,.86),rgba(64,12,70,.92)),url('assets/img/static/case-laminated.jpg') center/cover}
  .faq-form-inner{position:relative;z-index:1;display:flex;flex-direction:column}
  .faq-form h3{font-size:25px;font-weight:900;margin:10px 0 8px}
  .faq-form .fsub{color:#e9d4ec;font-size:14px;margin-bottom:22px}
  .faq-form input,.faq-form textarea{width:100%;margin-bottom:14px;padding:13px 16px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.10);color:#fff;font-family:inherit;font-size:15px}
  .faq-form input::placeholder,.faq-form textarea::placeholder{color:#cdb8d0}
  .faq-form input:focus,.faq-form textarea:focus{outline:none;border-color:var(--p1);background:rgba(255,255,255,.16)}
  .faq-form textarea{resize:vertical}
  .faq-submit{margin-top:4px;background:#fff;color:var(--purple);border:none;padding:14px;font-weight:700;font-size:15px;cursor:pointer;transition:.25s;font-family:inherit}
  .faq-submit:hover{background:var(--p1)}
  .faq-right .faq-head{text-align:left;margin-bottom:24px}
  #faq .faq-head h2{color:#fff}
  #faq .faq-form{box-shadow:0 24px 60px rgba(0,0,0,.4)}
  .faq-right .faq-list{max-width:none;margin:0}
  @media(max-width:820px){.faq-layout{grid-template-columns:1fr;gap:24px}}

  /* white floating info card (news + cases), 直角 */
  .float{position:absolute;left:14px;right:14px;bottom:-22px;background:#fff;color:var(--ink);padding:18px 20px;box-shadow:0 24px 50px rgba(40,8,46,.28);opacity:0;transform:translateY(26px);transition:opacity .45s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1);z-index:3;pointer-events:none;border-radius:0}
  .float .tag{font-family:"Sora";font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--purple);font-weight:700}
  .float h3{font-size:17px;font-weight:900;margin:7px 0 6px;line-height:1.4;color:var(--ink)}
  .float p{font-size:13px;color:var(--muted);line-height:1.7}
  .float .date{margin-top:8px;font-family:"Sora";font-size:11px;color:#a98bad}
  /* 最新動態 sliding carousel */
  .news-carousel{position:relative}
  .news-track2{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:6px 2px 44px}
  .news-track2::-webkit-scrollbar{display:none}
  .news-card{flex:0 0 calc(33.333% - 15px);scroll-snap-align:start;position:relative;overflow:visible;aspect-ratio:auto;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
  .news-card .imgbox{aspect-ratio:3/4;overflow:hidden;background:#eadff0}
  .news-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .news-card:hover{transform:translateY(-12px)}
  .news-card:hover img{transform:scale(1.06)}
  .news-card:hover .float{opacity:1;transform:none}
  @media(max-width:900px){.news-card{flex:0 0 calc(50% - 11px)}}
  @media(max-width:620px){.news-card{flex:0 0 84%}}
  @media(hover:none){.news-card .imgbox{aspect-ratio:4/5}.news-card .float{opacity:1;transform:none;position:relative;left:0;right:0;bottom:0;box-shadow:0 14px 30px rgba(40,8,46,.18)}}
  /* 修補案例 floating card on hover */
  .slide{position:relative;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
  .slide:hover{transform:translateY(-12px)}
  .slide .ph img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .slide:hover .ph img{transform:scale(1.05)}
  .slide:hover .float{opacity:1;transform:none}
  @media(hover:none){.slide .float{opacity:1;transform:none;position:relative;left:0;right:0;bottom:0;margin-top:10px;box-shadow:0 14px 30px rgba(0,0,0,.3)}}

  /* 攤開式圖片牆（最新動態 / 修補案例）：文字壓在圖片上，滑到的才放大 */
  .expander{display:flex;gap:10px;height:clamp(360px,44vw,500px)}
  .exp-card{position:relative;flex:1 1 0;min-width:0;overflow:hidden;cursor:pointer;background:#eadff0;transition:flex-grow .55s cubic-bezier(.22,.8,.2,1)}
  .exp-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.22,.8,.2,1)}
  .exp-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,4,32,0) 38%,rgba(22,3,26,.84) 100%);opacity:.32;transition:opacity .4s;z-index:1}
  .expander:hover .exp-card{flex-grow:.55}
  .exp-card:hover{flex-grow:3.4}
  .exp-card:hover img{transform:scale(1.06)}
  .exp-card:hover::after{opacity:1}
  .exp-ov{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px 30px;color:#fff;opacity:0;transform:translateY(16px);transition:opacity .45s .08s,transform .45s .08s;pointer-events:none}
  .exp-card:hover .exp-ov{opacity:1;transform:none}
  .exp-ov .tag{font-family:"Sora";font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--p1);font-weight:700}
  .exp-ov h3{font-size:23px;font-weight:900;margin:10px 0 8px;line-height:1.35;color:#fff}
  .exp-ov p{font-size:14px;color:#f0e2f3;line-height:1.8;max-width:360px}
  .exp-ov .date{margin-top:12px;font-family:"Sora";font-size:12px;color:#d9bedd}
  @media(max-width:760px){
    .expander{flex-direction:column;height:auto;gap:12px}
    .exp-card{flex:none;aspect-ratio:16/10}
    .exp-card::after{opacity:1}
    .exp-ov{opacity:1;transform:none}
  }

  /* 最新動態：置中輪播，左右半消失，滾輪/手指滑動 */
  .strip-wrap{position:relative;margin:0 -4vw}
  .strip{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:16px calc(50% - 170px) 36px}
  .strip::-webkit-scrollbar{display:none}
  .scard{flex:0 0 340px;scroll-snap-align:center;position:relative;aspect-ratio:3/4;overflow:hidden;background:#eadff0;opacity:.5;transform:scale(.86);filter:saturate(.82);transition:opacity .55s cubic-bezier(.22,.8,.2,1),transform .55s cubic-bezier(.22,.8,.2,1),filter .55s;box-shadow:0 22px 50px rgba(40,8,46,.18)}
  .scard img{width:100%;height:100%;object-fit:cover;display:block}
  .scard::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(28,4,32,0) 40%,rgba(20,3,24,.88) 100%);opacity:.45;transition:opacity .5s}
  .scard.active{opacity:1;transform:scale(1);filter:none}
  .scard.active::after{opacity:1}
  .scard .ov{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px 28px;color:#fff;opacity:0;transform:translateY(14px);transition:opacity .5s .1s,transform .5s .1s}
  .scard.active .ov{opacity:1;transform:none}
  .scard .ov .tag{font-family:"Sora";font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--p1);font-weight:700}
  .scard .ov h3{font-size:23px;font-weight:900;margin:10px 0 8px;line-height:1.35;color:#fff}
  .scard .ov p{font-size:14px;color:#f0e2f3;line-height:1.75}
  .scard .ov .date{margin-top:10px;font-family:"Sora";font-size:12px;color:#d9bedd}
  @media(max-width:760px){.strip-wrap{margin:0 -6vw}.strip{gap:16px;padding:12px 11% 28px}.scard{flex:0 0 78%}}

  /* 最新消息：一排卡片 + 圓形箭頭（乾淨無厚框） */
  .cardrow-wrap{position:relative}
  .cardrow{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:6px 2px 18px}
  .cardrow::-webkit-scrollbar{display:none}
  .ncard{flex:0 0 calc(25% - 20px);scroll-snap-align:start;position:relative;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
  /* 自動置中邏輯：當只有 1~3 則卡片時，利用 margin: auto 自動將整組置中，同時完美相容手機版的左右滑動 */
  .ncard:first-child:nth-last-child(1) { margin-left: auto; margin-right: auto; }
  .ncard:first-child:nth-last-child(2) { margin-left: auto; }
  .ncard:first-child:nth-last-child(2) ~ .ncard:last-child { margin-right: auto; }
  .ncard:first-child:nth-last-child(3) { margin-left: auto; }
  .ncard:first-child:nth-last-child(3) ~ .ncard:last-child { margin-right: auto; }
  .ncard-img{aspect-ratio:3/4;overflow:hidden;background:#eadff0;position:relative}
  .ncard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .ncard:hover{transform:translateY(-6px)}
  .ncard:hover .ncard-img img{transform:scale(1.05)}
  .ncard-cap{position:absolute;left:16px;right:16px;bottom:-32px;background:#fff;padding:20px 22px;box-shadow:0 28px 54px rgba(40,8,46,.16);opacity:0;transform:translateY(16px);transition:opacity .45s,transform .45s;pointer-events:none}
  .ncard:hover .ncard-cap{opacity:1;transform:none}
  .ncard-cap .tag{font-family:"Sora";font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--purple);font-weight:700}
  .ncard-cap h3{font-size:16px;font-weight:800;color:var(--ink);margin:9px 0 7px;line-height:1.45}
  .ncard-cap .date{font-family:"Sora";font-size:11px;color:#a98bad}
  .rbtn{position:absolute;top:calc(50% - 24px);width:48px;height:48px;border-radius:50%;border:none;background:#fff;color:var(--purple);font-size:22px;cursor:pointer;z-index:4;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(80,0,84,.20);transition:.2s}
  .rbtn:hover{background:var(--purple);color:#fff}
  .rbtn.prev{left:-10px}.rbtn.next{right:-10px}
  @media(max-width:1024px){.ncard{flex:0 0 calc(33.333% - 18px)}}
  @media(max-width:760px){.ncard{flex:0 0 76%}.rbtn{display:none}}
  /* 修補案例：Before / After Carousel */
  .ba-carousel-wrap { position: relative; max-width: 100%; margin: 0 auto; padding: 0; }
  .ba-stage { overflow: hidden; border-radius: 12px; }
  .ba-track { display: flex; transition: transform 0.6s cubic-bezier(0.22, 0.8, 0.2, 1); }
  .ba-slide { flex: 0 0 100%; }
  .ba-pair { display: flex; gap: 24px; }
  .ba-img { flex: 1; position: relative; aspect-ratio: 4/3; background: #e2e2e2; border-radius: 16px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,0.06); }
  .ba-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .loc .ph{position:relative}
  .dist-badge{position:absolute;bottom:12px;right:12px;background:rgba(255,255,255,0.95);color:var(--purple);font-family:"Sora",sans-serif;font-size:12px;font-weight:800;padding:5px 12px;border-radius:20px;z-index:3;box-shadow:0 4px 12px rgba(0,0,0,0.15);letter-spacing:0.02em}
  .ba-label { position: absolute; top: 20px; left: 20px; background: rgba(0, 0, 0, 0.65); color: #fff; font-family: "Sora", sans-serif; font-size: 13px; font-weight: 700; padding: 8px 18px; border-radius: 30px; letter-spacing: 0.1em; z-index: 2; backdrop-filter: blur(4px); }
  .ba-arrow { position: absolute; top: calc(50% - 24px - 20px); width: 56px; height: 56px; border-radius: 50%; background: #fff; border: 1px solid var(--line); color: var(--ink); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 5; transition: 0.25s; box-shadow: 0 12px 30px rgba(0,0,0,0.1); }
  .ba-arrow svg { width: 24px; height: 24px; }
  .ba-arrow:hover { background: var(--ink); color: #fff; border-color: var(--ink); transform: scale(1.05); }
  .ba-arrow.prev { left: -28px; }
  .ba-arrow.next { right: -28px; }
  .ba-dots { display: flex; gap: 8px; justify-content: center; margin-top: 30px; }
  .ba-dots i { width: 8px; height: 8px; border-radius: 50%; background: #d4d4d4; cursor: pointer; transition: 0.3s; }
  .ba-dots i.on { background: var(--ink); width: 24px; border-radius: 6px; }
  @media(max-width:760px){
    .ba-carousel-wrap { padding: 0; padding-bottom: 56px; }
    .ba-pair { flex-direction: column; gap: 12px; }
    .ba-arrow { width: 44px; height: 44px; top: auto; bottom: 0; box-shadow: 0 4px 12px rgba(0,0,0,0.08); background: #fdfcfe; }
    .ba-arrow.prev { left: calc(50% - 100px); }
    .ba-arrow.next { right: calc(50% - 100px); }
    .ba-dots { margin-top: 0; position: absolute; bottom: 18px; left: 0; width: 100%; pointer-events: none; }
    .ba-dots i { pointer-events: auto; }
  }
  /* 修補案例：中間大圖 + 兩側小縮圖 + 下方大標 + 頁碼 */
  .showcase{position:relative;padding-top:6px}
  .sc-top{display:flex;justify-content:flex-end;margin-bottom:4px}
  .sc-counter{font-family:"Sora";font-size:15px;color:var(--muted)}
  .sc-counter b{color:var(--purple);font-size:19px}
  .sc-stage{position:relative;overflow:hidden;height:calc(min(74vw,460px) * 1.25 + 20px);display:flex;align-items:center}
  .sc-stage::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(88vw,580px);height:100%;background:linear-gradient(160deg,#f3eaf6,#eaf1fb);z-index:0}
  .sc-track{display:flex;align-items:center;gap:20px;transition:transform .6s cubic-bezier(.22,.8,.2,1);position:relative;z-index:1;will-change:transform}
  .sc-item{flex:0 0 auto;width:88px;aspect-ratio:4/5;overflow:hidden;background:#eadff0;opacity:.5;filter:saturate(.82);cursor:pointer;transition:width .6s cubic-bezier(.22,.8,.2,1),opacity .6s,filter .6s,box-shadow .6s}
  .sc-item img{width:100%;height:100%;object-fit:cover;display:block}
  .sc-item.active{width:min(74vw,460px);opacity:1;filter:none;box-shadow:0 32px 72px rgba(40,8,46,.24)}
  .sc-arrow{position:absolute;top:calc(50% - 26px);width:52px;height:52px;border-radius:50%;border:none;background:#fff;color:var(--purple);font-size:23px;cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(80,0,84,.20);transition:.2s}
  .sc-arrow:hover{background:var(--purple);color:#fff}
  .sc-arrow.prev{left:0}.sc-arrow.next{right:0}
  .sc-meta{text-align:center;margin:26px auto 0;max-width:560px;min-height:150px}
  .sc-meta .sc-label{font-family:"Sora";letter-spacing:.2em;text-transform:uppercase;font-size:12px;color:var(--purple);font-weight:700}
  .sc-meta h3{font-size:clamp(24px,3.2vw,34px);font-weight:900;color:var(--ink);margin:12px 0 10px}
  .sc-meta p{color:var(--muted);font-size:15px;line-height:1.8}
  @media(max-width:760px){.sc-item{width:50px}.sc-item.active{width:80vw}.sc-arrow{width:44px;height:44px;font-size:20px}.sc-track{justify-content:center;transform:none !important}.sc-item:not(.active){display:none}}

  /* 最新消息：文字直接壓在圖片上（無白框） */
  .ncard-ov{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:24px 22px;color:#fff;background:linear-gradient(180deg,rgba(28,4,32,0) 30%,rgba(16,2,20,.88) 100%)}
  .ncard-ov .tag{font-family:"Sora";font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--p1);font-weight:700}
  .ncard-ov h3{font-size:17px;font-weight:800;color:#fff;margin:8px 0 6px;line-height:1.45}
  .ncard-ov .date{font-family:"Sora";font-size:11px;color:#d9bedd}

  /* 預設背景 1：深紫質感 - 自然柔和光暈 */
  .default-news-bg-1{position:absolute;inset:0;background:radial-gradient(ellipse at 80% 0%, rgba(170,70,190,0.2) 0%, transparent 75%), linear-gradient(145deg, #1f0b24 0%, #0d0410 100%);overflow:hidden;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .default-news-bg-1::before{content:"";position:absolute;inset:0;background:url('../assets/logo-stack.png') center/50% no-repeat;opacity:0.1;filter:brightness(2)}
  .ncard:hover .default-news-bg-1{transform:scale(1.05)}

  /* 預設背景 2：現代幾何 - 自然柔和光暈 */
  .default-news-bg-2{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 100%, rgba(130,90,140,0.12) 0%, transparent 75%), linear-gradient(135deg, #18111a 0%, #09060a 100%);overflow:hidden;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .default-news-bg-2::before{content:"";position:absolute;inset:0;background:url('../assets/logo-stack.png') center/50% no-repeat;opacity:0.06;filter:brightness(2)}
  .ncard:hover .default-news-bg-2{transform:scale(1.05)}

  /* 預設背景 3：午夜幽藍 - 自然柔和光暈 */
  .default-news-bg-3{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%, rgba(40,90,160,0.18) 0%, transparent 75%), linear-gradient(135deg, #090f1a 0%, #04060a 100%);overflow:hidden;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .default-news-bg-3::before{content:"";position:absolute;inset:0;background:url('../assets/logo-stack.png') center/50% no-repeat;opacity:0.08;filter:brightness(2)}
  .ncard:hover .default-news-bg-3{transform:scale(1.05)}

  /* 影片區塊 */
  .video-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2}
  .video-row .crack{width:130px;height:auto;margin-bottom:16px}
  .video-frame{position:relative;width:100%;max-width:380px;margin:0 auto;aspect-ratio:9/16;border-radius:24px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,0.5);border:2px solid rgba(255,255,255,0.1);background:#000}
  .shorts-link{display:block;width:100%;height:100%;position:relative;text-decoration:none}
  .shorts-link img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
  .shorts-link::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0.1);transition:.3s}
  .shorts-link:hover img{transform:scale(1.05)}
  .shorts-link:hover::after{background:rgba(0,0,0,0.3)}
  .play-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;background:rgba(255,0,0,0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;z-index:2;transition:.3s;box-shadow:0 4px 16px rgba(255,0,0,0.4)}
  .play-btn svg{width:32px;height:32px;margin-left:4px}
  .shorts-link:hover .play-btn{transform:translate(-50%,-50%) scale(1.1);background:#ff0000}
  @media(max-width:820px){.video-row{grid-template-columns:1fr;gap:40px;text-align:center}.video-row .crack{margin:0 auto 16px;display:block}}

  /* 最後一塊：延續上方深色、文字反白、無色塊 */
  .cta-dark{background:linear-gradient(180deg,#150816,#190a1d)}
  .cta-plain{text-align:center;color:#fff;position:relative}
  .cta-plain .eyebrow{color:var(--p1)}
  .cta-plain h2{font-weight:900;font-size:clamp(26px,4vw,42px);margin:14px 0 12px;color:#fff}
  .cta-plain p{color:#e2cfe6;max-width:480px;margin:0 auto 30px;font-size:16px;line-height:1.85}
  .cta-plain .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .cta-logo{width:250px;height:auto;display:block;margin:36px auto 0;opacity:.96}
  @media(max-width:760px){.cta-logo{width:210px;margin-top:50px}.cta-dark{padding-bottom:0 !important}.foot-top{padding:24px 14px 40px}}

/* ============================================================
   新增：聯絡據點 / 頁尾 社群 ICON（SVG）樣式
   ============================================================ */
.loc .soc a{width:34px;height:34px;border-radius:9px;background:var(--soft);color:var(--purple);display:flex;align-items:center;justify-content:center;transition:.2s}
.loc .soc a:hover{background:var(--purple);color:#fff;transform:translateY(-2px)}
.loc .soc a svg{width:17px;height:17px;display:block}
.socials a svg{width:17px;height:17px;display:block}
.foot-brand .socialrow{display:flex;gap:11px;margin-top:18px}
