:root{--cream:#f5e8c8;--paper:#fffaf0;--sand:#ead2a2;--coffee:#472616;--coffee-soft:#69442f;--red:#b9091e;--gold:#bd8b39;--line:#ddc9a7;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--coffee);font-family:"Noto Sans TC","Microsoft JhengHei","PingFang TC",system-ui,sans-serif;font-size:16px;line-height:1.8;font-weight:400}
a{color:inherit}
a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}
img{display:block;max-width:100%}
h1,h2,h3,p{margin-top:0}
h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.3;letter-spacing:-.03em;font-weight:600;margin-bottom:24px}
h3{font-size:1.35rem;line-height:1.45;font-weight:600}
p{margin-bottom:1rem}
strong,b{font-weight:600}
.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.section{padding:clamp(72px,8vw,120px) 0;scroll-margin-top:72px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;z-index:20;left:16px;top:-80px;background:#fff;padding:10px 16px}
.skip-link:focus{top:16px}
.hero{background:var(--cream)}
.hero picture,.hero img{display:block;width:100%;height:auto}
.page-nav{position:sticky;top:0;z-index:10;background:rgba(255,250,240,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.nav-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--coffee);line-height:1;white-space:nowrap}
.brand-logo{display:block;width:64px;height:auto;flex:none}
.brand small{font:500 16px/1.2 "Noto Sans TC","Microsoft JhengHei",sans-serif;letter-spacing:.01em;color:var(--coffee);margin:0}
.nav-links{display:flex;align-items:center;gap:clamp(16px,2.5vw,34px)}
.nav-links a{text-decoration:none;font-size:16px;white-space:nowrap}
.nav-links a:hover,.fine-print a:hover{color:var(--red)}
.intro{background:linear-gradient(115deg,#fff9ec 0%,#f1dfb9 100%)}
.intro-grid,.timeline-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,6vw,90px);align-items:center}
.intro h2 em{font-style:normal;color:var(--red)}
.lead{font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.85;max-width:610px;margin-bottom:0}
.facts{border-top:1px solid var(--gold)}
.facts div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:21px 0;border-bottom:1px solid var(--gold)}
.facts span{color:var(--coffee-soft)}
.facts strong{font-weight:600}
.steps-section{background:var(--paper)}
.steps,.rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:46px}
.step{padding:32px;border:1px solid var(--line);border-radius:4px;background:#fffdf8}
.number{font:italic 2.8rem/1 Georgia,serif;color:var(--gold);display:block;margin-bottom:30px}
.step h3{margin-bottom:14px}
.step p,.reward p{margin-bottom:0}
.sms-card{margin-top:30px;padding:28px 32px;background:var(--coffee);color:#fff9ed;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:4px}
.sms-card>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
.sms-label{color:#e8c58e}
.sms-card strong{font-size:1.5rem;letter-spacing:.05em}
.sms-card small{font-size:16px;flex-basis:100%;color:#ead8c2}
.button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;white-space:nowrap;text-decoration:none;min-height:48px;padding:10px 24px;border-radius:3px;font-weight:600}
.button{background:var(--red);color:#fff}
.button:hover{background:#d01b30}
.fine-print{font-size:16px;line-height:1.8;margin:24px 0 0;color:var(--coffee-soft)}
.fine-print a{margin-left:2px;text-decoration-thickness:1px}
.rewards-section{background:#eed8ad}
.reward{background:#fff9ec;border:1px solid #d9bd8a;padding:32px;min-height:320px;display:flex;flex-direction:column;border-radius:4px}
.reward-top{display:flex;align-items:center;justify-content:space-between;color:var(--red);border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px}
.reward-top b{display:grid;place-items:center;background:var(--red);color:white;border-radius:50%;width:45px;height:45px;font-size:1.1rem}
.reward h3{font-size:1.65rem;margin-bottom:14px}
.quantity{display:block;color:var(--red);font-size:1.2rem;margin-top:auto;padding-top:16px}
.timeline-section{background:#fffaf0}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:flex;gap:22px;border-bottom:1px solid var(--line);padding:24px 0}
.timeline li:first-child{border-top:1px solid var(--line)}
.timeline time{color:var(--red);font:italic 2rem/1.2 Georgia,serif;min-width:75px}
.timeline strong{font-size:1.1rem}
.timeline p{margin:4px 0 0}
.winner-notice{margin-top:42px;padding:21px 25px;display:flex;align-items:center;gap:15px;background:#f6e8cb;border-left:4px solid var(--red)}
.winner-notice p{margin:0}
.notice-dot{width:10px;height:10px;border-radius:50%;background:var(--red);flex:none}
.claim-section{background:var(--coffee);color:#fffaf0}
.claim-grid{display:flex;justify-content:space-between;align-items:center;gap:50px}
.claim-grid>div{max-width:680px}
.claim-section h2{margin-bottom:14px}
.claim-section p:last-child{margin-bottom:0}
.outline-button{border:1px solid #e5bf7a;color:#fff}
.outline-button:hover{background:#fffaf0;color:var(--coffee)}
.rules-section{background:var(--paper)}
.rules-intro{max-width:760px;color:var(--coffee-soft)}
.rules-list{margin-top:36px;border-top:1px solid var(--line)}
.terms-group{border-bottom:1px solid var(--line)}
.terms-group summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-size:1.15rem;font-weight:600}
.terms-group summary::-webkit-details-marker{display:none}
.terms-group summary span{font-size:1.5rem;color:var(--red);font-weight:400;line-height:1}
.terms-group[open] summary span{transform:rotate(45deg)}
.terms-group ol{margin:0 0 28px;padding-left:1.6em;max-width:980px}
.terms-group li{padding:0 0 10px 5px;line-height:1.9}
.terms-group li::marker{color:var(--gold)}
.terms-group li p{margin:0}
.terms-group a{color:var(--red);overflow-wrap:anywhere}
.terms-group .terms-intro{max-width:980px;margin:4px 0 16px}
.terms-group .terms-bullets,.terms-group .terms-numbered{max-width:980px;margin:0 0 26px;padding-left:1.75em}
.terms-group .terms-bullets{list-style:disc}
.terms-group .terms-numbered{list-style:decimal}
.terms-group .terms-numbered>li{padding-bottom:14px}
.terms-group .terms-subnumbered{counter-reset:subitem;list-style:none;margin:10px 0 2px;padding-left:2.2em}
.terms-group .terms-subnumbered>li{counter-increment:subitem;position:relative;padding-bottom:8px}
.terms-group .terms-subnumbered>li::before{content:"(" counter(subitem) ")";position:absolute;left:-2.2em;color:var(--gold)}
.terms-group .terms-nested-bullets{list-style:disc;margin:10px 0 0;padding-left:1.6em}
.terms-group .terms-nested-bullets>li{padding-bottom:8px}
.footer{background:#2d190f;color:#f7ebd5;padding:54px 0}
.footer-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:35px}
.footer-brand{display:block;width:88px;height:auto;margin:0 0 12px}
.footer p{margin:8px 0}
.footer small{font-size:16px;color:#dbc9b3;display:block}
.footer a{display:block}
.footer a[href^="tel:"]{font-size:1.2rem;margin:8px 0;text-decoration:none}
.back-top{align-self:start;text-decoration:none}
@media(max-width:800px){.nav-inner{align-items:flex-start;flex-direction:column;gap:4px;padding:12px 0}.nav-links{width:100%;overflow:auto;padding:5px 0 7px;gap:22px}.section{scroll-margin-top:120px}.intro-grid,.timeline-grid{grid-template-columns:1fr}.steps,.rewards{grid-template-columns:1fr}.step,.reward{min-height:0}.number{margin-bottom:16px}.claim-grid{align-items:flex-start;flex-direction:column;gap:28px}}
@media(max-width:700px){.wrap{width:min(100% - 32px,1120px)}.section{padding:64px 0}.hero img{width:100%;height:auto}.brand-logo{width:58px}.brand small{font-size:16px}.nav-links a{font-size:16px}.intro h2{font-size:2.25rem}.facts div{grid-template-columns:80px 1fr;gap:12px}.step,.reward{padding:24px}.sms-card{align-items:stretch;flex-direction:column;padding:24px}.sms-card strong{font-size:1.3rem}.button{width:100%}.timeline li{gap:15px}.timeline time{font-size:1.7rem;min-width:67px}.footer-grid{grid-template-columns:1fr 1fr}.back-top{grid-column:1/-1}.claim-section h2{font-size:2rem}}
@media(max-width:420px){.footer-grid{grid-template-columns:1fr}.back-top{grid-column:auto}.sms-card strong{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
