:root{--red:#ef3447;--ink:#252c2a;--muted:#8e9691;--paper:#fff8f6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:#fff;font-family:'Microsoft JhengHei','PingFang TC',sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #157e86;outline-offset:5px}a{text-decoration:none;color:inherit}header{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 48px}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:900;white-space:nowrap}.brand-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--red);color:white;font-size:32px;font-weight:400}.brand small{display:block;font:7px Arial,sans-serif;letter-spacing:1.6px;margin-top:5px}.header-download{font-size:11px;background:white;border:1px solid #efd4d2;padding:11px 16px;border-radius:30px}.header-download span{margin-left:20px;color:var(--red)}.hero{background:radial-gradient(#f5d9d8 1px,transparent 1px),linear-gradient(115deg,#fff 5%,#fff2f0 100%);background-size:24px 24px,100% 100%;display:grid;grid-template-columns:1.15fr 1fr;gap:50px;padding:70px max(6vw,35px) 100px;align-items:center;overflow:hidden;min-height:700px}.hero-copy{width:100%;max-width:650px;justify-self:end;position:relative;z-index:1}.eyebrow{font:8px/1.8 Arial,sans-serif;letter-spacing:1.7px;font-weight:bold;color:#858c88;display:flex;align-items:center;gap:10px;margin:0}.eyebrow>span{width:6px;height:6px;background:var(--red);border-radius:50%;flex-shrink:0}.eyebrow>i{width:26px;border-top:1px solid #bcbfbc}h1{font-size:clamp(38px,4.1vw,62px);line-height:1.45;font-weight:900;letter-spacing:-2px;margin:26px 0 30px}.red-word{color:var(--red);display:inline-block;position:relative;white-space:nowrap}.red-word svg{position:absolute;left:0;right:0;bottom:-13px;width:100%;height:18px}.hero-description{font-size:14px;line-height:2.2;color:#929a94;margin:0}.hero-actions{display:flex;gap:23px;align-items:center;margin-top:32px}.primary{border:0;background:var(--red);box-shadow:0 5px 0 #c32336;border-radius:10px;color:white;padding:18px 22px;font-size:13px;font-weight:bold;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;transition:transform .2s,box-shadow .2s}.primary:hover{transform:translateY(-2px);box-shadow:0 7px 0 #c32336}.hero-actions>a{font-size:11px;font-weight:bold;white-space:nowrap}.hero-actions>a span{font-size:20px;margin-left:9px;font-weight:400}.download-arrow{font-size:22px;font-weight:400}.arrow-out{font-size:22px;font-weight:400}.microcopy{display:flex;align-items:center;gap:10px;margin-top:25px;color:#8c9690;font-size:9px;letter-spacing:1px}.phone-mini{border:1px solid #9aa19a;width:8px;height:13px;border-radius:2px;margin-left:7px;position:relative}.phone-mini:after{content:'';position:absolute;width:2px;bottom:1px;left:2px;border-top:1px solid #9aa19a}.hero-visual{position:relative;max-width:470px;width:100%;padding:20px 0 15px;justify-self:start;isolation:isolate;scroll-margin-top:40px}.postcard{position:relative;transform:rotate(3deg);background:white;border-radius:23px;padding:14px;box-shadow:0 22px 55px #8c383925;z-index:1}.postcard-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 2px 13px;font:7px Arial,sans-serif;letter-spacing:1.2px}.postcard-top>span{display:flex;align-items:center;gap:7px;font-weight:bold}.postcard-top i{background:var(--red);width:5px;height:5px;border-radius:50%}.postcard-top button{background:none;border:0;font:7px Arial,sans-serif;letter-spacing:1px;padding:4px;white-space:nowrap}.postcard-top b{font-size:14px;margin-left:7px;color:var(--red)}.photo-wrap{height:380px;position:relative;border-radius:13px;overflow:hidden}.photo-wrap img{width:100%;height:100%;object-fit:cover;display:block}.image-shade{position:absolute;inset:0;background:linear-gradient(transparent 30%,#0a222bbd)}.image-copy{position:absolute;left:23px;bottom:32px;color:white}.image-copy>span{font:8px Arial,sans-serif;letter-spacing:2px}.image-copy h2{font-size:30px;line-height:1.5;margin:12px 0 0;letter-spacing:.5px;font-weight:700}.photo-label{position:absolute;right:13px;top:15px;font:6px Arial,sans-serif;color:#fff;letter-spacing:1.5px;writing-mode:vertical-rl}.postcard-bottom{display:flex;align-items:center;justify-content:space-between;padding:14px 3px 0;color:#929992;font-size:8px}.postcard-bottom>span:last-child{font-size:22px;color:var(--ink)}.floating-ticket{position:absolute;z-index:2;bottom:4px;left:-35px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #f6d7d1;border-radius:16px;padding:15px 19px;box-shadow:0 10px 30px #993a3414;transform:rotate(-7deg)}.ticket-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#ffe4df;color:var(--red)}.ticket-mark svg{width:26px;height:26px}.floating-ticket b{font-size:12px;letter-spacing:.5px}.floating-ticket small{display:block;font:5px Arial,sans-serif;letter-spacing:1.2px;margin-top:6px;color:#8e9b90}.ticket-count{color:var(--red);font:20px Arial,sans-serif;margin-left:6px}.visual-note{position:absolute;right:20px;bottom:-37px;font-size:9px;letter-spacing:1px;transform:rotate(-7deg);color:#8d9990}.orbit{position:absolute;border:1px solid #efb7b9;border-radius:50%;z-index:-1}.orbit-one{inset:-15px -30px 0 -30px;transform:rotate(-23deg)}.orbit-two{inset:20px -40px 0 -40px;transform:rotate(28deg)}.deco-cross{position:absolute;color:var(--red);font-size:36px;z-index:3}.cross-one{right:-25px;top:-15px;transform:rotate(13deg)}.cross-two{right:-34px;bottom:20px;font-size:43px;color:#f3a49e;transform:rotate(-12deg)}.marquee{overflow:hidden;display:flex;gap:50px;align-items:center;justify-content:center;padding:24px 15px;border-top:1px solid #f1e1dc;border-bottom:1px solid #f1e1dc;background:#fff9f7;white-space:nowrap;color:#a79a94;font:9px Arial,sans-serif;letter-spacing:2px}.marquee i{font-size:16px;color:var(--red);font-style:normal}.moments{max-width:1280px;margin:auto;padding:75px 48px}.moments-intro{margin-bottom:30px}.moments-intro h2{font-size:34px;line-height:1.6;margin:17px 0}.moments-intro h2 span{color:var(--red)}.moments-intro>p:last-child{font-size:12px;color:var(--muted)}.moment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.moment{border:0;background:#f7efe9;padding:0;aspect-ratio:4/4.8;position:relative;overflow:hidden;text-align:left;color:white;border-radius:10px;isolation:isolate}.moment:after{content:'';position:absolute;inset:0;background:linear-gradient(#0002,transparent 20%,#132c2699)}.moment img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.moment:hover img{transform:scale(1.04)}.moment-top{position:absolute;top:24px;left:24px;z-index:1;font:8px Arial,sans-serif;letter-spacing:1.8px}.moment-caption{position:absolute;left:24px;bottom:30px;z-index:1}.moment-caption b{display:block;font-size:25px;letter-spacing:1px}.moment-caption small{display:block;margin-top:10px;font-size:10px;color:#ffffffb8}.moment>i{position:absolute;right:24px;bottom:28px;z-index:1;font-size:25px;font-style:normal}.closing{text-align:center;padding:40px 20px 65px;background:#fff7f4}.closing-star{font-size:30px;color:var(--red)}.closing p{font-size:30px;line-height:1.6;font-weight:bold;margin:17px 0 25px}.closing p span{color:var(--red)}.closing .primary{min-width:220px;font-size:12px}.closing>small{display:block;font:7px Arial,sans-serif;letter-spacing:2px;color:#a7a196;margin-top:30px}footer{max-width:1280px;padding:35px 48px;display:flex;align-items:center;gap:30px;margin:auto}footer p{font-size:9px;color:#a0a39a;line-height:1.9}footer>span{font-size:9px;color:#a0a39a;margin-left:auto;white-space:nowrap}dialog{background:#fff;border:0;border-radius:20px;padding:35px;width:min(420px,calc(100% - 32px));text-align:center;box-shadow:0 30px 100px #0004;color:var(--ink)}dialog::backdrop{background:#3025229c;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:27px;color:#aaa}.dialog-symbol{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 22px;background:var(--red);color:white;font-size:42px;border-radius:17px}dialog .eyebrow{justify-content:center}dialog h2{font-size:24px;line-height:1.5;margin:15px 0 18px}dialog>p:not(.eyebrow){font-size:13px;color:#879082;line-height:1.9}dialog .dialog-detail{font-size:11px!important;line-height:1.9}.dialog-done{margin-top:15px;width:100%;border:0;background:var(--red);color:white;border-radius:8px;padding:15px;font-size:12px}.sticky-download[hidden]{display:none}.sticky-download{display:none}@media(max-width:900px){.hero{gap:30px;padding-left:30px;padding-right:30px}.hero-actions{flex-wrap:wrap;gap:20px}.hero h1{font-size:39px}.photo-wrap{height:350px}.image-copy h2{font-size:25px}.floating-ticket{left:-15px;padding:12px}.floating-ticket b{font-size:10px}.ticket-count{font-size:16px}.eyebrow{font-size:6px}}@media(max-width:760px){header{padding:18px 20px}.brand{font-size:17px;gap:8px}.brand-symbol{width:33px;height:33px;font-size:27px;border-radius:10px}.brand small{font-size:6px;letter-spacing:1.3px}.header-download{font-size:10px;padding:9px 12px}.header-download span{margin-left:10px}.hero{display:block;min-height:0;padding:27px 20px 72px;background-size:22px 22px,100% 100%}.hero-copy{max-width:none}.eyebrow{font-size:clamp(5px,1.5vw,8px);letter-spacing:1px;gap:8px;white-space:nowrap}.eyebrow>i{width:18px}.hero h1{font-size:clamp(29px,8.35vw,60px);line-height:1.5;letter-spacing:-1.5px;margin:23px 0 28px}.red-word svg{height:15px;bottom:-10px}.hero-description{font-size:12px;line-height:2.1}.hero-actions{margin-top:27px;gap:20px;flex-wrap:nowrap}.primary{padding:15px 14px;gap:12px;font-size:11px;min-height:54px;border-radius:9px}.hero-actions>a{font-size:9px}.hero-actions>a span{font-size:17px;margin-left:4px}.download-arrow,.arrow-out{font-size:20px}.microcopy{font-size:8px;letter-spacing:.3px;gap:8px;margin-top:23px}.phone-mini{margin-left:4px}.hero-visual{margin:58px auto 0;padding:0 0 14px;max-width:440px;width:94%}.postcard{padding:11px;border-radius:21px;transform:rotate(3deg)}.postcard-top{font-size:6px;letter-spacing:.8px;padding-bottom:11px}.postcard-top button{font-size:6px}.photo-wrap{height:auto;aspect-ratio:1/1.02;border-radius:12px}.image-copy{left:18px;bottom:27px}.image-copy>span{font-size:6px;letter-spacing:1.6px}.image-copy h2{font-size:26px;margin-top:10px}.photo-label{font-size:5px;right:10px}.postcard-bottom{font-size:6px;padding-top:11px}.postcard-bottom>span:last-child{font-size:21px}.floating-ticket{left:-17px;bottom:3px;padding:11px 13px;gap:10px;border-radius:14px}.ticket-mark{width:33px;height:33px;border-radius:10px}.ticket-mark svg{width:23px;height:23px}.floating-ticket b{font-size:10px}.floating-ticket small{font-size:4px;letter-spacing:1px;margin-top:5px}.ticket-count{font-size:18px}.orbit-one{inset:-5px -19px 3px -20px}.orbit-two{inset:17px -24px 0 -23px}.cross-one{right:-18px;top:-23px;font-size:29px}.cross-two{right:-25px;bottom:25px;font-size:34px}.visual-note{font-size:8px;bottom:-23px;right:6px}.marquee{padding:20px 10px;gap:24px;font-size:7px;letter-spacing:1.1px}.marquee i{font-size:13px}.moments{padding:45px 20px}.moments-intro h2{font-size:26px;line-height:1.6}.moments-intro>p:last-child{font-size:10px;line-height:1.8}.moment-grid{gap:11px;grid-template-columns:1fr}.moment{aspect-ratio:1.5}.moment-top{font-size:7px;top:20px;left:20px}.moment-caption{left:20px;bottom:24px}.moment-caption b{font-size:24px}.moment-caption small{font-size:10px}.closing{padding:32px 20px 45px}.closing p{font-size:27px}.closing .primary{padding:16px 20px}.closing-star{font-size:25px}footer{padding:30px 20px 90px;display:block}footer p{font-size:8px;margin:18px 0}footer>span{font-size:8px}.sticky-download{display:flex;align-items:center;justify-content:space-between;gap:10px;position:fixed;bottom:0;left:0;right:0;padding:12px 17px calc(12px + env(safe-area-inset-bottom));z-index:5;background:#fffefa;border-top:1px solid #f1ddd7;box-shadow:0 -5px 25px #59302b0d}.sticky-download b{font-size:12px}.sticky-download small{display:block;color:#9a9e94;font-size:8px;margin-top:5px}.sticky-download button{border:0;background:var(--red);color:#fff;padding:13px 15px;border-radius:7px;font-size:11px;min-height:43px}dialog{padding:30px 24px}.dialog-detail{font-size:11px!important}}@media(min-width:500px) and (max-width:760px){.hero{padding-left:32px;padding-right:32px}.hero-actions .primary{padding:18px 24px;font-size:14px}.hero-actions>a{font-size:12px}.hero-description{font-size:15px}.moment-grid{grid-template-columns:repeat(3,1fr)}.moment{aspect-ratio:3/5}.moment-caption{left:12px}.moment-caption b{font-size:19px}.moment-caption small{font-size:8px}.moment-top{left:12px;font-size:5px}.moment>i{right:12px}.moment-caption small{max-width:100px;line-height:1.8}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary,.moment img{transition:none}}
