.mo-angel-devil{position:relative;isolation:isolate;overflow:hidden;background:#0d0b10;color:#f7f4ef;padding-block:clamp(3rem,7vw,6rem)}
.mo-angel-devil::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 0 38%,#57192766,transparent 58%),radial-gradient(ellipse at 100% 18%,#879bb332,transparent 52%);pointer-events:none}
.mo-ad-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.8rem}
.mo-ad-heading h2{margin:.6rem 0 0;font-size:clamp(2rem,4.5vw,4rem);line-height:1.25;letter-spacing:.06em;color:#f7f4ef}
.mo-ad-heading .mo-eyebrow{color:#d8c8be;font-size:.875rem;letter-spacing:.14em}
.mo-ad-period{display:flex;align-items:center;gap:.7rem;white-space:nowrap;font-size:clamp(1.5rem,3vw,2.5rem);font-family:Georgia,"Noto Serif TC",serif;color:#eee5d9;font-variant-numeric:tabular-nums;margin:0}
.mo-ad-period span{color:#a98c94;font-size:1rem}
.mo-ad-visual{margin:0;overflow:hidden;border-radius:8px;background:#21171d}
.mo-ad-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.mo-ad-body{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,5vw,4rem);padding-top:2rem;align-items:start}
.mo-ad-body .mo-event-lead{font-family:"Noto Serif TC",serif;font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.6;color:#f8eee8;margin:0 0 .7rem}
.mo-ad-body .mo-event-summary{font-size:1rem;line-height:1.9;color:#d0c8cf;margin:0;max-width:38rem}
.mo-ad-booking{padding-left:1.5rem;border-left:1px solid #7b586366}
.mo-ad-label{color:#ded4d8;font-size:1rem;margin:0 0 1rem;font-variant-numeric:tabular-nums}
.mo-angel-devil .mo-event-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.mo-angel-devil .mo-btn{min-height:46px;white-space:normal;font-size:1rem}
.mo-angel-devil .mo-btn--gold{background:#efe5db;color:#25161c;border-color:#efe5db}
.mo-angel-devil .mo-btn--ghost{color:#eee6ec;border-color:#857480}
.mo-angel-devil .mo-event-closing{font-size:.875rem;line-height:1.85;color:#bfb3bd;margin-top:1rem}
.mo-angel-devil a:focus-visible{outline:3px solid #d4e1ff;outline-offset:4px}
@media(max-width:640px){.mo-ad-heading{display:block}.mo-ad-period{margin-top:1.1rem}.mo-ad-body{grid-template-columns:1fr;gap:1.4rem}.mo-ad-booking{padding:1.4rem 0 0;border-left:0;border-top:1px solid #7b586366}.mo-ad-visual img{aspect-ratio:4/5}.mo-ad-heading h2{font-size:clamp(1.8rem,8vw,2.7rem)}}
