@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--wine:#4b192b;--deep:#35121e;--ink:#38282c;--gold:#e6c18a;--paper:#faf7f1;--muted:#74666a;--line:#ddd3cb;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #aa7431;outline-offset:5px}h1,h2,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.05}p{margin-bottom:1.1rem}.preview-note{background:#eee6df;text-align:center;font-size:.75rem;letter-spacing:.11em;font-weight:700;padding:8px 20px;color:var(--wine)}.preview-note span{margin-left:16px;font-size:.8rem;letter-spacing:0;font-weight:400}.header{min-height:92px;padding:20px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:13px;align-items:center;line-height:1.05;letter-spacing:.12em;font-family:Georgia,serif;font-size:1.2rem}.brand-mark{border:1px solid #9c7b63;width:45px;height:48px;display:grid;place-items:center;font-size:2.25rem;letter-spacing:0;color:var(--wine)}.brand-sub{display:block;font:500 .66rem/1.5 var(--sans);letter-spacing:.31em;margin-top:5px}.header nav{display:flex;align-items:center;gap:32px;font-size:.95rem}.header nav a{padding:10px 0}.header nav a:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;background:var(--wine);color:white;padding:16px 24px;border:1px solid var(--wine);font-size:.95rem;font-weight:500;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#6a2a40;transform:translateY(-2px)}.gold-button{background:var(--gold);color:var(--deep);border-color:var(--gold)}.gold-button:hover{background:#f2d4a5}.outline{background:transparent;color:var(--wine)}.outline:hover{background:#eee4dc}.light-outline{background:transparent;color:var(--paper);border-color:#c59c99}.light-outline:hover{background:#63263b}.hero{display:grid;grid-template-columns:1.15fr 1fr;background:var(--wine);color:var(--paper)}.hero-copy{padding:65px 10%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;min-width:0}.eyebrow{font-size:.75rem;letter-spacing:.17em;font-weight:600;line-height:1.6}.gold{color:var(--gold)}h1{font-size:clamp(3.5rem,5.4vw,6.2rem);margin:12px 0 28px;line-height:1.04}h1 em{color:var(--gold);font-weight:400}.hero-intro{font-family:var(--serif);font-size:clamp(1.5rem,2vw,2rem);line-height:1.3;margin-bottom:30px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.hero-image{position:relative;overflow:hidden;min-height:510px;background:var(--deep)}.hero-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-image:after{content:'';position:absolute;inset:20px;border:1px solid #ebc49355;pointer-events:none}.hero-image figcaption{position:absolute;z-index:1;bottom:27px;right:29px;font-size:.75rem;color:white;background:#35121ea6;padding:3px 7px}.event-strip{padding:26px 7%;display:grid;grid-template-columns:.85fr 1fr 1.65fr;border-bottom:1px solid var(--line);gap:30px;background:#f0e9e1}.event-strip>div+div{padding-left:30px;border-left:1px solid #d2c4b6}.event-strip .eyebrow{color:var(--muted);font-size:.75rem;display:block;margin-bottom:7px}.event-strip strong{font:1.55rem/1.2 var(--serif);display:block;color:var(--wine)}.event-strip small{font-size:.875rem;color:var(--muted)}.support-options{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:52px 7%}.support-card{min-width:0}.support-card+.support-card{padding-left:14%;border-left:1px solid var(--line)}.support-card .eyebrow{color:var(--muted);margin-bottom:10px}.support-card h2{font-size:3.3rem;color:var(--wine);margin-bottom:16px}.support-card p{max-width:430px}.support-card .ticket-price{font-size:.875rem;color:var(--muted);margin:0 0 18px}.support-card .button{margin-top:5px}.support-card small{display:block;font-size:.8rem;color:var(--muted);margin-top:13px}footer{padding:22px 7%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:var(--muted)}.skip{position:fixed;top:0;left:15px;transform:translateY(-120%);z-index:100;background:white;color:var(--wine);padding:15px}.skip:focus{transform:translateY(0)}dialog{padding:0;border:1px solid #b49c85;background:var(--paper);color:var(--ink);max-width:540px;width:calc(100% - 32px);max-height:90dvh}dialog::backdrop{background:#210c17b3;backdrop-filter:blur(3px)}.dialog-content{padding:40px;position:relative}.dialog-close{position:absolute;right:12px;top:7px;background:none;border:0;font-size:2rem;color:var(--wine);width:44px;height:44px}.dialog-content h2{font-size:3rem;margin:25px 0}.dialog-content p{color:var(--muted)}.dialog-note{font-size:.85rem;padding:16px 0;border-top:1px solid var(--line)}
@media(max-width:900px){.hero-copy{padding:45px 8%}h1{font-size:clamp(2.8rem,5.8vw,4.5rem)}.hero-image{min-height:470px}.hero-actions{gap:12px}.hero-actions .button{padding:14px 19px;gap:23px}.support-options{gap:5%}.support-card+.support-card{padding-left:10%}}
@media(max-width:600px){.preview-note{font-size:.65rem;padding:7px 10px}.preview-note span{font-size:.72rem;margin-left:8px}.header{padding:18px 6%;gap:14px;flex-wrap:wrap;min-height:80px}.brand{font-size:1rem;gap:9px}.brand-mark{height:39px;width:33px;font-size:1.9rem}.brand-sub{font-size:.6rem}.header nav{gap:20px;font-size:.875rem}.hero{grid-template-columns:1fr}.hero-copy{padding:37px 7% 40px}h1{font-size:clamp(3rem,10.5vw,4.3rem);margin:9px 0 22px}.hero-intro{font-size:1.65rem;margin-bottom:25px}.hero-actions .button{padding:14px 22px;gap:30px}.hero-image{min-height:280px;height:280px}.hero-image img{object-position:center 60%}.hero-image:after{inset:14px}.hero-image figcaption{bottom:21px;right:22px}.event-strip{padding:24px 7%;gap:17px;grid-template-columns:1fr}.event-strip>div{display:grid;grid-template-columns:70px 1fr;align-items:baseline;gap:10px}.event-strip>div+div{padding:0;border:0}.event-strip .eyebrow{margin:0}.event-strip strong{font-size:1.35rem}.event-strip small{grid-column:2}.event-strip small:empty{display:none}.support-options{padding:35px 7%;grid-template-columns:1fr;gap:30px}.support-card+.support-card{padding:30px 0 0;border:0;border-top:1px solid var(--line)}.support-card h2{font-size:2.8rem}.support-card p{margin-bottom:14px}.support-card .button{width:100%}.support-card small{font-size:.8rem}footer{flex-wrap:wrap;padding:22px 7%;gap:10px}.dialog-content{padding:35px 25px}.dialog-content h2{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Bilingual event title: keep the supplied wording readable on all screens. */
.bilingual-title{margin:0 0 32px;letter-spacing:0;max-width:100%}.title-zh{display:block;font:500 clamp(1.25rem,1.8vw,1.65rem)/1.65 var(--sans);color:var(--gold);margin-bottom:25px;overflow-wrap:anywhere}.title-en{display:block;font:400 clamp(1.9rem,3.15vw,3.15rem)/1.18 var(--serif);letter-spacing:-.015em;overflow-wrap:break-word}.title-en em{color:var(--gold)}
@media(max-width:600px){.bilingual-title{margin-bottom:27px}.title-zh{font-size:1.25rem;line-height:1.65;margin-bottom:22px}.title-en{font-size:2.1rem;line-height:1.2}}
/* Organizer and co-sponsor acknowledgements. */
.event-partners{padding:42px 7% 48px;background:#f0e9e1;border-top:1px solid var(--line)}.organizer{display:flex;align-items:center;gap:48px;padding-bottom:26px;margin-bottom:27px;border-bottom:1px solid #d2c4b6}.event-partners h2,.co-sponsor-heading{font:500 1.4rem/1.5 var(--sans);letter-spacing:0;color:var(--wine);margin:0}.partner-heading-en{display:block;font-size:.875rem;font-weight:400;color:var(--muted);margin-top:3px}.organizer p{margin:0;font-size:1.25rem;color:var(--wine)}.partner-name-en{display:block;font-size:.95rem;line-height:1.55;color:var(--muted);margin-top:4px}.partner-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 60px;list-style:none;padding-left:0;margin:24px 0 0}.partner-list li{padding-left:0;line-height:1.55;min-width:0;overflow-wrap:break-word}
@media(max-width:600px){.event-partners{padding:32px 7%}.organizer{align-items:flex-start;flex-direction:column;gap:16px;padding-bottom:23px;margin-bottom:23px}.partner-list{grid-template-columns:1fr;gap:19px}.event-partners h2,.co-sponsor-heading{font-size:1.25rem}.organizer p{font-size:1.125rem}}
/* Use one Traditional Chinese font stack throughout the invitation. */
[lang="zh-Hant"]{font-family:"PingFang TC","Microsoft JhengHei","Noto Sans TC",sans-serif}

.event-strip>div{min-width:0}.event-strip strong{overflow-wrap:break-word}.event-strip small{display:block;margin-top:6px}.event-strip [data-detail=venue]{font-size:1.35rem;line-height:1.35}

.event-partners .organizer{padding-bottom:0;margin-bottom:0;border-bottom:0}
