:root{--ink:#000;--g2:#333;--g3:#666;--g4:#999;--line:#ccc;--bg:#fff;--ink-soft:#333;--party:linear-gradient(90deg,#f8c4ff 0%,#f0b6e0 50%,#bfe8f7 100%);--sky:linear-gradient(180deg,rgba(150,196,255,.18) 0%,#fff 100%);--pinkwash:linear-gradient(180deg,rgba(248,196,255,.28) 0%,#fff 100%);--sh:0 0 6px rgba(0,0,0,.1);--sh-lg:0 0 20px rgba(0,0,0,.1);--sh-card:0 .8px 2.4px -.6px rgba(0,0,0,.05),0 2.4px 7.2px -1.25px rgba(0,0,0,.05),0 6.4px 19.1px -1.875px rgba(0,0,0,.05),0 20px 60px -2.5px rgba(0,0,0,.05);--disp:"Cabinet Grotesk","Satoshi","Inter","Noto Sans TC",system-ui,sans-serif;--sans:"Inter","Noto Sans TC","PingFang TC",system-ui,sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#000;font-family:var(--sans);font-size:16px;line-height:1.4;letter-spacing:-.02em;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit}p a,.section-sub a,.prose a,li a,.faq a{text-decoration:underline;text-underline-offset:2px}.wrap{max-width:1200px;margin:0 auto;padding:0 20px}.announce{background:var(--party);color:#000;font-size:14px;font-weight:600;text-align:center;padding:7px 12px}.announce a{text-decoration:underline}.nav{position:sticky;top:0;z-index:50;background:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #eee}.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px}.logo{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.logo-img{width:120px;height:auto;filter:drop-shadow(0 0 1px rgba(0,0,0,.35))}.logo-sub{font-size:12px;font-weight:700;letter-spacing:-.02em;color:#333}.nav-links{display:flex;align-items:center;gap:4px}.nav-links a{font-size:14px;font-weight:550;text-decoration:none;padding:8px 12px;border-radius:4px;color:#000}.nav-links a:hover{background:#0000000d}.nav-links a.nav-cta{background:#000;color:#fff;border-radius:8px;padding:10px 20px;font-weight:700}.nav-toggle{display:none;background:#fff;border:1px solid #000;border-radius:4px;padding:8px 14px;font:inherit;font-size:14px}@media(max-width:820px){.nav-toggle{display:inline-block}.nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:12px 20px;box-shadow:var(--sh)}.nav-links.open{display:flex}}.hero{position:relative;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;background:#000;color:#fff}.hero-bg,.hero-bg img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#3c0046b8,#963caa73 45%,#f8c4ff40),linear-gradient(0deg,rgba(0,0,0,.45),transparent 60%)}.hero-inner{position:relative;z-index:2;width:100%;max-width:1200px;margin:0 auto;padding:64px 20px 56px}.hero-wordmark{width:260px;margin:0 0 12px;filter:drop-shadow(0 2px 12px rgba(0,0,0,.35))}.hero h1{font-family:var(--disp);font-weight:800;font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-.03em;margin:0 0 10px;max-width:900px}.hero h2{font-size:22px;font-weight:600;margin:0 0 6px;letter-spacing:-.02em}.hero h3{font-size:18px;font-weight:500;margin:0 0 14px;opacity:.95}.hero-lead{font-size:16px;max-width:560px;margin:0 0 22px;color:#ffffffeb}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:14px;font-weight:700;letter-spacing:-.04em;padding:12px 24px;border-radius:8px;border:1px solid #000;text-decoration:none!important;cursor:pointer;transition:opacity .15s}.btn:hover{opacity:.85}.btn-primary{background:#000;color:#fff}.btn-ghost{background:transparent;color:#000}.btn-white{background:#fff;color:#000;border-color:#fff}.btn-ghost-white{background:transparent;color:#fff;border-color:#fff}main>section{margin-top:80px}main>section.hero{margin-top:0}.band{padding:80px 0}main>section.band{margin-top:0}.band-sky{background:var(--sky)}.band-pink{background:var(--pinkwash)}.eyebrow,.pill-label{font-size:12px;font-weight:700;color:#666;text-transform:uppercase;letter-spacing:.02em;margin:0 0 8px}.section-title{font-family:var(--disp);font-weight:700;font-size:clamp(30px,4vw,44px);line-height:1.1;letter-spacing:-.03em;margin:0 0 10px}.section-sub{color:#666;font-size:16px;margin:0 0 24px;max-width:680px}.numeral{font-family:var(--disp);font-weight:800;font-size:112px;line-height:.8;letter-spacing:-.03em;margin:0 0 16px;color:#000}.split{display:grid;gap:48px;align-items:center}@media(min-width:900px){.split{grid-template-columns:1fr 1fr}}.tabs{display:inline-flex;flex-wrap:wrap;gap:4px;background:#0000000d;border-radius:960px;padding:4px}.tab{font-size:14px;font-weight:550;padding:8px 16px;border-radius:960px;text-decoration:none;color:#333}.tab.active{background:#fff;box-shadow:var(--sh);color:#000}.scatter{position:relative;min-height:460px}.tilt{position:absolute;border-radius:12px;box-shadow:var(--sh-lg);object-fit:cover;border:6px solid #fff}.t1{width:44%;aspect-ratio:3/4;left:0;top:20px;transform:rotate(-12deg)}.t2{width:52%;aspect-ratio:4/3;right:0;top:0;transform:rotate(10deg)}.event-card{position:absolute;left:22%;right:14%;bottom:0;background:#fff;border-radius:12px;box-shadow:var(--sh-card);padding:12px 16px 16px;transform:rotate(-2deg)}.event-cover{background:linear-gradient(130deg,#f8c4ff,#c9a8ff 50%,#85dadc);border-radius:10px;padding:18px;display:grid;place-items:center;margin-bottom:12px}.event-cover img{width:70%}.event-title{font-family:var(--disp);font-weight:700;font-size:26px;line-height:1.1;letter-spacing:-.02em;margin:0 0 6px}.event-meta{font-size:15px;color:#333;margin:0 0 10px}.rsvp{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.pill,.tag{display:inline-block;font-size:12px;font-weight:700;padding:5px 12px;border-radius:960px;background:#0000000d;color:#000}.pill.going{background:#31c431;color:#fff}.event-host{font-size:12px;color:#666;margin:0}@media(max-width:600px){.scatter{min-height:420px}.numeral{font-size:88px}.event-card{left:8%;right:4%}}.card{background:#fff;border-radius:12px;box-shadow:var(--sh);padding:12px 16px 16px;border:0}.card h3{font-size:18px;font-weight:700;letter-spacing:-.04em;margin:0 0 6px}.card p{color:#666;font-size:14px;margin:0 0 8px}.feature .icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(130deg,#f8c4ff,#bfe8f7);color:#000;margin-bottom:12px}.more{font-size:14px;font-weight:700;text-decoration:underline}.grid-2,.grid-3,.grid-4{display:grid;gap:16px}@media(min-width:700px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:1fr 1fr}}@media(min-width:1000px){.grid-4{grid-template-columns:repeat(4,1fr)}}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}#history h3{font-size:16px;margin:4px 0 8px}.hl{font-weight:700}.carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 20px 20px;margin:0 -20px}.carousel>a{flex:0 0 min(260px,64vw);aspect-ratio:3/4;border-radius:12px;overflow:hidden;scroll-snap-align:start;box-shadow:var(--sh)}.carousel>a:nth-child(odd){transform:rotate(-1.5deg)}.carousel>a:nth-child(2n){transform:rotate(1.5deg)}.carousel img,.carousel picture{width:100%;height:100%;object-fit:cover}.gallery-grid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}@media(min-width:800px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}.gallery-grid>*{margin:0;border-radius:12px;overflow:hidden;aspect-ratio:3/4;box-shadow:var(--sh)}.gallery-grid img,.gallery-grid picture{width:100%;height:100%;object-fit:cover}.gallery-grid figcaption{display:none}.video-grid{display:grid;gap:16px}@media(min-width:800px){.video-grid{grid-template-columns:1fr 1fr}}.video-frame{position:relative;padding-top:56.25%;border-radius:12px;overflow:hidden;background:#000;box-shadow:var(--sh)}.video-frame.short{padding-top:177%;max-width:320px}.video-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.video-grid p{font-weight:700;margin:0 0 8px}.faq{display:grid;gap:24px}@media(min-width:860px){.faq{grid-template-columns:1fr 1.6fr}}.faq details{background:#fff;border-radius:12px;box-shadow:var(--sh);padding:16px 18px;margin-bottom:10px}.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-weight:700}.faq details[open] summary:after{content:"−"}.faq details p{color:#666;margin:10px 0 0}.final-cta{padding:48px 32px;text-align:left;background:linear-gradient(120deg,#f8c4ff73,#bfe8f773);box-shadow:none}main.wrap{padding-top:56px;padding-bottom:0}main.wrap>h1,.prose h1{font-family:var(--disp);font-weight:800;font-size:clamp(34px,5vw,52px);line-height:1.05;letter-spacing:-.03em;margin:0 0 10px}.prose{max-width:760px}.prose h2{font-size:24px;font-weight:700;letter-spacing:-.04em;margin:36px 0 10px}.prose p,.prose li{color:#333;line-height:1.6}.blog-meta{font-size:13px;color:#666}.blog-list{display:grid;gap:16px}@media(min-width:800px){.blog-list{grid-template-columns:repeat(3,1fr)}}.blog-card h3{font-size:20px}form,.form-card{background:#fff;border-radius:12px;box-shadow:var(--sh-card);padding:24px;max-width:820px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:#000}.form-group input,.form-group select,.form-group textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid #ccc;border-radius:8px;background:#fff;color:#000;min-height:46px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid #000;outline-offset:1px;border-color:#000}.form-group .form-hint,.form-hint{display:block;font-size:13px;color:#666;margin-top:8px}.form-row{display:grid;gap:0 16px}@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr}}.checkbox-row{display:flex;gap:10px;align-items:flex-start;margin:8px 0 18px}.checkbox-row input{width:20px;height:20px;min-height:0;margin:2px 0 0;flex:0 0 auto;accent-color:#000}.checkbox-row label{font-size:14px;color:#333;margin:0}form .btn-primary{width:100%;padding:14px 24px;font-size:16px}@media(max-width:600px){form,.form-card{padding:16px}}.success-box{padding:40px 28px;max-width:720px}.success-box .emoji{font-size:40px}.footer{max-width:1200px;margin:80px auto 0;padding:32px 20px 40px;border-top:1px solid #eee;display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center;color:#666;font-size:14px}.footer p{margin:0}.footer-links{display:flex;flex-wrap:wrap;gap:16px}.footer-links a{color:#333;text-decoration:none}.footer-links a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}main>section.wrap{margin:80px auto 0}main>section.band+section.wrap,main>section.hero+section.wrap{margin-top:80px}@media(max-width:600px){.announce{font-size:12px}}.form-card form{box-shadow:none;padding:0;max-width:none;border-radius:0}.hero-kicker{font-family:var(--disp);font-weight:800;font-size:14px;letter-spacing:.12em;margin:0 0 8px;color:#fff}.tldr{background:#f4f4f4;border-left:4px solid #000;padding:12px 16px;border-radius:8px}.blog-cta{margin:40px 0 0;padding:24px}.blog-cats{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 28px}.blog-cats a{border:1px solid #000;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;text-decoration:none}.blog-cat-h{font-size:22px;margin:32px 0 12px;scroll-margin-top:90px}
