:root{
  --black:#050505;
  --ink:#151515;
  --muted:#666;
  --line:#d9d9d9;
  --paper:#f6f5f2;
  --white:#fff;
  --orange:#fa582d;
  --orange-dark:#d83a16;
  --container:min(1200px,calc(100% - 8vw));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"Noto Sans","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;font-size:16px;line-height:1.75;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid #0b6cff;outline-offset:4px}
.skip-link{position:fixed;z-index:1000;top:10px;left:10px;padding:10px 16px;background:var(--white);color:var(--black);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.privacy-header{min-height:76px;display:flex;align-items:center;background:var(--black);border-bottom:1px solid #292929}
.header-inner,.footer-inner{width:var(--container);margin-inline:auto}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;min-height:48px;align-items:center}
.brand img{width:190px}
.header-page-label{color:#999;font-size:.75rem;font-weight:700;letter-spacing:.14em}
.privacy-hero{position:relative;min-height:350px;display:flex;align-items:center;color:var(--white);background:#240600 url("../images/hero-background-mirror.webp") center/cover no-repeat;overflow:hidden}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 75%)}
.hero-inner{position:relative;z-index:1;width:var(--container);margin-inline:auto;padding:54px 0 62px}
.hero-kicker{margin:0 0 15px;color:var(--orange);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.hero-kicker::before{content:"";display:inline-block;width:28px;height:2px;margin:0 10px 3px 0;background:currentColor}
.privacy-hero h1{max-width:1080px;margin:0;font-size:clamp(2.5rem,5vw,4.8rem);font-weight:800;line-height:1.04;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 2px 12px rgba(0,0,0,.28)}
.privacy-layout{width:var(--container);margin-inline:auto;padding:clamp(64px,7vw,104px) 0}
.privacy-article{min-width:0}
.privacy-overview{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);gap:1px;margin-bottom:clamp(60px,7vw,90px);background:#d7d4cf;border:1px solid #d7d4cf}
.intro-panel{margin:0;padding:clamp(30px,4vw,48px);display:flex;flex-direction:column;justify-content:center;border-top:4px solid var(--orange);background:var(--white);font-size:1rem}
.intro-panel p{margin:0}
.intro-panel p:first-child{font-size:1.13rem;font-weight:600;line-height:1.65}
.intro-panel p+p{margin-top:18px;color:var(--muted)}
.event-scope{margin:0;padding:clamp(28px,3vw,40px);color:var(--white);background:var(--black)}
.event-scope h2{margin:0 0 22px;color:var(--orange);font-size:.78rem;letter-spacing:.15em;text-transform:uppercase}
.event-scope dl{display:grid;grid-template-columns:1fr;gap:0;margin:0}
.event-scope dl>div{min-width:0;padding:14px 0;border-top:1px solid #343434}
.event-scope dl>div:first-child{border-top:0;padding-top:0}
.event-scope dt{color:#8f8f8f;font-size:.7rem;font-weight:700;letter-spacing:.1em}
.event-scope dd{margin:4px 0 0;overflow-wrap:anywhere;font-weight:700;line-height:1.45}
.event-scope>p{margin:20px 0 0;padding-top:16px;border-top:1px solid #343434;color:#8f8f8f;font-size:.76rem}
.policy-section{padding:clamp(42px,5vw,64px) 0;border-top:1px solid var(--line)}
.policy-section h2{display:flex;align-items:center;gap:16px;margin:0 0 26px;font-size:clamp(1.55rem,2.7vw,2.25rem);line-height:1.25;letter-spacing:-.025em}
.policy-section h2 span{flex:none;width:38px;height:38px;display:inline-grid;place-items:center;color:var(--black);background:var(--orange);font-size:.92rem;line-height:1}
.policy-section p{max-width:1060px;margin:0 0 18px}
.policy-section p:last-child{margin-bottom:0}
.policy-section ul{max-width:1060px;margin:18px 0 24px;padding-left:1.35rem;list-style:disc}
.policy-section li{padding-left:7px}
.policy-section li+li{margin-top:10px}
.policy-section li::marker{color:var(--orange-dark);font-size:1.05em}
.contact-section address{max-width:1060px;display:grid;gap:10px;margin-top:24px;padding:26px 28px;border-left:4px solid var(--orange);background:var(--white);font-style:normal}
.contact-section address strong{margin-bottom:4px;font-size:1.08rem}
.contact-section address a{width:fit-content;color:#8b2810;font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px}
.contact-section address a:hover{color:var(--orange-dark)}
.return-action{padding:30px 0 8px;text-align:left}
.button{display:inline-flex;min-height:52px;align-items:center;justify-content:space-between;gap:36px;padding:13px 21px;color:var(--black);background:var(--orange);font-weight:800;line-height:1.2;text-decoration:none;transition:background .2s,transform .2s}
.button:hover{background:#ff7652;transform:translateY(-2px)}
.button:active{transform:none}
.privacy-footer{padding:24px 0;color:#8c8c8c;background:var(--black);border-top:1px solid #292929}
.footer-inner{display:flex;justify-content:space-between;gap:28px;font-size:.82rem}
.footer-inner p{margin:0}
.footer-inner a{color:var(--white)}
@media(max-width:900px){
  .privacy-overview{grid-template-columns:1fr}
  .event-scope dl{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
  .event-scope dl>div:nth-child(2){border-top:0;padding-top:0}
}
@media(max-width:640px){
  :root{--container:calc(100% - 40px)}
  body{font-size:15.5px}
  .privacy-header{min-height:68px}
  .brand img{width:160px}
  .header-page-label{display:none}
  .privacy-hero{min-height:320px;background-position:43% center}
  .hero-inner{padding:46px 0 52px}
  .privacy-hero h1{font-size:clamp(2.25rem,11vw,3.15rem)}
  .privacy-layout{padding:54px 0 72px}
  .privacy-overview{margin-bottom:52px}
  .intro-panel,.event-scope{padding:24px 22px}
  .intro-panel p:first-child{font-size:1.04rem}
  .event-scope dl{grid-template-columns:1fr}
  .event-scope dl>div:nth-child(2){border-top:1px solid #343434;padding-top:14px}
  .policy-section{padding:40px 0}
  .policy-section h2{align-items:flex-start;gap:12px;font-size:1.5rem}
  .policy-section h2 span{width:34px;height:34px;font-size:.86rem}
  .policy-section ul{padding-left:1.2rem}
  .contact-section address{padding:22px 20px}
  .contact-section address a{width:100%;overflow-wrap:anywhere}
  .return-action{text-align:center}
  .button{width:100%}
  .footer-inner{flex-direction:column}
  .footer-inner a{min-height:44px;display:flex;align-items:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important}
}
