*{box-sizing:border-box;margin:0;padding:0}
  :root{--bg:#0b0e14;--panel:#141925;--line:#2a3242;--ink:#e6ebf5;--soft:#aeb8cc;--muted:#7a8093;--acc:#8a7bff;--acc2:#6a4cf0}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Noto Sans TC","Microsoft JhengHei",sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
  a{color:inherit}
  /* 鍵盤焦點可見(無障礙):滑鼠點按不顯,鍵盤 Tab 才顯明顯外框 */
  a:focus-visible,summary:focus-visible,details:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}
  .wrap{max-width:1080px;margin:0 auto;padding:0 20px}

  /* ─── HERO(貓動畫·佔滿首屏·可往下捲) ─── */
  .hero{position:relative;height:100vh;min-height:540px;overflow:hidden;border-bottom:1px solid var(--line)}
  .grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:38px 38px;z-index:1}
  .brand{position:absolute;top:26px;left:0;right:0;text-align:center;z-index:5;pointer-events:none}
  .brand .bname{font-size:27px;font-weight:900;color:#fff;letter-spacing:4px;text-shadow:0 2px 14px rgba(0,0,0,.45)}
  .brand .btag{font-size:12.5px;color:#8893a6;letter-spacing:2px;margin-top:5px}
  .container{position:absolute;inset:0;display:flex;width:100%;height:100%;z-index:2}
  .lane{flex:1;height:100%;position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;border-right:1px solid rgba(255,255,255,.05);transition:flex .6s cubic-bezier(.25,1,.5,1),background-color .6s;text-decoration:none}
  .lane:last-child{border-right:none}
  .lane::before{content:'';position:absolute;top:50%;left:50%;width:340px;height:340px;transform:translate(-50%,-50%) scale(.4);border-radius:50%;opacity:0;filter:blur(85px);transition:all .6s cubic-bezier(.25,1,.5,1);z-index:1}
  .lane.siamese::before{background:rgba(70,200,255,.65)}
  .lane.tuxedo::before{background:rgba(120,240,110,.6)}
  .lane.calico::before{background:rgba(232,148,58,.6)}
  .lane.munchkin::before{background:rgba(247,201,140,.7)}
  .lane:hover{flex:1.5;background-color:rgba(255,255,255,.02)}
  .lane:hover::before{opacity:1;transform:translate(-50%,-50%) scale(1.6)}
  .ring{position:absolute;bottom:22%;width:120px;height:22px;border-radius:50%;opacity:0;transform:scale(.5);filter:blur(3px);transition:all .5s ease;z-index:1}
  .lane.siamese:hover .ring{opacity:.85;transform:scale(1.2);box-shadow:0 0 18px #46c8ff;border:2px solid #46c8ff}
  .lane.tuxedo:hover .ring{opacity:.85;transform:scale(1.2);box-shadow:0 0 18px #78f06e;border:2px solid #78f06e}
  .lane.calico:hover .ring{opacity:.85;transform:scale(1.2);box-shadow:0 0 18px #e8943a;border:2px solid #e8943a}
  .lane.munchkin:hover .ring{opacity:.85;transform:scale(1.2);box-shadow:0 0 18px #f7c98c;border:2px solid #f7c98c}
  .cat{position:relative;top:85px;z-index:2;width:150px;height:150px;display:flex;align-items:center;justify-content:center;animation:breathe 1.6s infinite alternate ease-in-out}
  .cat canvas{width:100%;height:100%;image-rendering:pixelated;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
  .lane-label{position:absolute;bottom:15%;color:#c7d0de;font-weight:700;font-size:15px;letter-spacing:2px;opacity:.72;z-index:3;pointer-events:none;transition:opacity .3s,transform .3s;text-align:center}
  .lane:hover .lane-label{opacity:1;color:#fff;transform:translateY(-5px)}
  .lane-label small{position:absolute;top:100%;left:0;right:0;font-size:11px;font-weight:600;color:#8791a5;letter-spacing:1px;margin-top:4px;opacity:.9;text-align:center;white-space:nowrap}
  .scrolldown{position:absolute;bottom:16px;left:0;right:0;text-align:center;z-index:5;color:#8893a6;font-size:12px;letter-spacing:1px;animation:bob 1.8s infinite ease-in-out;pointer-events:none}
  @keyframes bob{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(6px);opacity:1}}
  @keyframes breathe{0%{transform:translateY(2px) scale(.99)}100%{transform:translateY(-3px) scale(1.01)}}
  @keyframes react{0%{transform:scale(1)}25%{transform:scale(1.18) rotate(-5deg)}55%{transform:scale(1.1) rotate(5deg)}100%{transform:scale(1.12) rotate(0)}}
  /* 尊重使用者「減少動態」偏好:關掉貓呼吸/捲動提示/hover 反應動畫 */
  @media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
    .cat{animation:none!important}.scrolldown{animation:none!important}
  }
  .cat.act-siamese,.cat.act-tuxedo,.cat.act-calico,.cat.act-munchkin{animation:react .5s forwards ease-out!important}
  .lane.tapped::before{opacity:1;transform:translate(-50%,-50%) scale(1.6)}
  .lane.tapped .lane-label{opacity:1;color:#fff;transform:translateY(-5px)}
  @media(max-width:680px){
    .hero{height:74vh;min-height:420px}
    .brand .bname{font-size:21px;letter-spacing:2px}.brand .btag{font-size:10px;letter-spacing:.5px}
    .cat{width:64px;height:64px;top:20px}
    .lane-label{font-size:11px;letter-spacing:0;bottom:20%}
    .lane-label small{font-size:8.5px;letter-spacing:0}
    .lane::before{width:200px;height:200px;filter:blur(55px)}
    .ring{width:70px;bottom:30%}
  }

  /* ─── 內容區 ─── */
  main{padding:66px 0 20px}
  .sec{margin-bottom:64px}
  .sec-h{font-size:14px;letter-spacing:3px;color:var(--acc);font-weight:800;text-transform:uppercase;margin-bottom:8px}
  .sec-t{font-size:26px;font-weight:900;letter-spacing:.5px;margin-bottom:14px;color:#fff}
  .sec-t.small{font-size:21px}
  .lead{color:var(--soft);font-size:16px;max-width:760px}
  .lead strong{color:var(--ink)}
  .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:22px}
  .card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;text-decoration:none;transition:border-color .25s,transform .25s,background .25s}
  .card:hover{border-color:var(--acc);transform:translateY(-2px);background:#181e2c}
  .card .k{font-size:16px;font-weight:800;color:#fff;margin-bottom:5px;display:flex;align-items:center;gap:8px}
  .card .k .tag{font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--acc);border:1px solid var(--acc);border-radius:999px;padding:1px 7px;opacity:.8}
  .card .d{font-size:13.5px;color:var(--soft);line-height:1.65}
  .card .u{font-size:12px;color:var(--muted);margin-top:8px;word-break:break-all}
  .catgrp{margin-bottom:30px}
  .catgrp>h3{font-size:15px;font-weight:800;color:var(--ink);margin:0 0 4px;letter-spacing:1px}
  .catgrp>p{font-size:13px;color:var(--muted);margin-bottom:6px}
  .note{border-left:3px solid var(--acc);background:rgba(138,123,255,.07);border-radius:0 8px 8px 0;padding:14px 16px;color:var(--soft);font-size:14px;max-width:820px}
  .note strong{color:var(--ink)}
  .faq{max-width:820px}
  .faq details{border-bottom:1px solid var(--line);padding:14px 0}
  .faq summary{cursor:pointer;font-weight:700;color:var(--ink);font-size:15px;list-style:none}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::before{content:'＋';color:var(--acc);font-weight:900;margin-right:10px}
  .faq details[open] summary::before{content:'－'}
  .faq p{color:var(--soft);font-size:14px;margin-top:10px;padding-left:24px}
  footer{border-top:1px solid var(--line);padding:30px 0 46px;margin-top:20px}
  footer .fl{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:center;font-size:14px}
  footer .fl a{color:var(--soft);text-decoration:none}
  footer .fl a:hover{color:#fff;text-decoration:underline}
  footer .cp{text-align:center;color:var(--muted);font-size:12.5px;margin-top:14px}
  footer .cp a{color:var(--muted)}
