
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;-webkit-text-size-adjust:100%;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
.cc-sec{position:relative;overflow:hidden}
.cc-inner{position:relative;z-index:2;max-width:1060px;margin:0 auto}
.cc-center{text-align:center}
.cc-btn{display:inline-block;text-decoration:none;cursor:pointer;transition:transform .2s,filter .2s}
.cc-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.cc-cd{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:640px;margin:26px auto 30px}
.cc-cd-box{text-align:center}
.cc-rsvp .mt_form_input{margin-bottom:14px}
.cc-rsvp input,.cc-rsvp textarea{width:100%;outline:none}
.cc-rsvp .cc-btn{width:100%}
.cc-form-note{text-align:center;margin:12px 0 0;min-height:1.4em;font-weight:600}
.cc-rsvp-contact a{font-weight:700;text-decoration:none}
.cc-top{position:fixed;right:18px;bottom:18px;width:46px;height:46px;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:1.2rem;opacity:0;pointer-events:none;transition:opacity .25s;z-index:50}
.cc-top.cc-show{opacity:1;pointer-events:auto}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
@media (max-width:767px){.cc-cd{gap:8px}}

:root{--ink:#14070C;--ink2:#1E0A12;--wine:#5E0F22;--wine2:#3E0A17;--red:#A31D35;--gold:#D4A62A;--gold2:#F7D57A;--gold3:#FFE9A3;--ivory:#F8EEDB;--mute:#C9B4B9}
body{font-family:'Montserrat',sans-serif;font-size:1rem;color:var(--ivory);background:var(--ink);line-height:1.75}
.cc-sec{padding:90px 20px}
.cc-ink{background:radial-gradient(ellipse at 50% 0,#2A0F19,var(--ink) 70%)}
.cc-wine{background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 28px,rgba(0,0,0,.08) 28px 56px),radial-gradient(ellipse at 50% 0,#7C1428,var(--wine) 50%,var(--wine2))}
.cc-eyebrow{font:600 .78rem 'Montserrat',sans-serif;letter-spacing:.42em;text-transform:uppercase;color:var(--gold2);margin:0 0 8px}
.cc-title{font-family:'Playfair Display',serif;font-weight:800;font-size:clamp(2rem,6vw,3.2rem);line-height:1.15;margin:0;color:#fff;letter-spacing:.01em}
.cc-head{margin-bottom:46px}
.cc-orn{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:16px;color:var(--gold)}.cc-orn i{display:block;width:90px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.cc-orn i:last-child{background:linear-gradient(270deg,transparent,var(--gold))}.cc-orn b{font-size:1rem}
.cc-lead{color:#D9C8CC;font-size:1.05rem;margin:10px 0 0}
.cc-btn{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#2A1505;border:0;border-radius:2px;padding:15px 40px;font:700 .85rem 'Montserrat',sans-serif;letter-spacing:.28em;text-transform:uppercase;box-shadow:0 0 0 2px var(--ink),0 0 0 3px var(--gold),0 12px 30px rgba(212,166,42,.35)}
.cc-btn-line{background:transparent;color:var(--gold2);box-shadow:0 0 0 1px var(--gold2)}.cc-btn-line:hover{background:var(--gold2);color:var(--ink)}
/* hero + bulbs */
.cc-hero{background:radial-gradient(ellipse at 50% 20%,#4A1020,var(--ink) 70%);padding:80px 14px 70px;position:relative}
.cc-bulbs{position:absolute;top:0;left:0;right:0;height:34px;display:flex;justify-content:space-between;padding:10px 14px;background:linear-gradient(180deg,#2A1308,#12070B);border-bottom:2px solid var(--gold);z-index:3}
.cc-bulbs span{width:12px;height:12px;border-radius:50%;background:#FFF3C4;box-shadow:0 0 10px 3px rgba(255,233,163,.8);animation:ccBulb 1.4s steps(2,end) infinite}
.cc-bulbs span:nth-child(even){animation-delay:-.7s!important}
.cc-pre{font:600 .8rem 'Montserrat';letter-spacing:.34em;text-transform:uppercase;color:var(--gold2);margin:0 0 6px}
.cc-hero-title{font-family:'Playfair Display',serif;font-weight:800;font-size:clamp(3rem,11vw,7rem);line-height:1;margin:0 0 12px;background:linear-gradient(180deg,#FFF6D0 10%,var(--gold2) 45%,#B8861A 90%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 4px 20px rgba(212,166,42,.4))}
.cc-hero-sub{font:italic 500 1.5rem 'Cormorant Garamond',serif;color:#EADBC6;max-width:700px;margin:0 auto 22px;line-height:1.4}.cc-hero-sub b{color:var(--gold2);font-weight:700}
.cc-scene{display:block;width:min(1000px,100%);margin:0 auto 26px;border:3px solid var(--gold);box-shadow:0 0 0 6px var(--ink),0 0 0 7px var(--gold),0 30px 70px rgba(0,0,0,.7),0 0 80px rgba(212,166,42,.25)}
.cc-meta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center;margin:0 0 26px;font:600 .88rem 'Montserrat';letter-spacing:.2em;text-transform:uppercase;color:#fff}.cc-meta i{color:var(--gold);font-style:normal}
/* playbill */
.cc-playbill{max-width:940px;margin:0 auto;background:var(--ivory);color:#2A1A14;box-shadow:0 30px 60px rgba(0,0,0,.6);border:1px solid #CDB88A;position:relative}
.cc-playbill:before{content:"";position:absolute;inset:10px;border:2px solid var(--wine);pointer-events:none}
.cc-pb-top{background:var(--wine);color:var(--gold2);display:flex;justify-content:space-between;padding:12px 34px;font:700 .85rem 'Montserrat';letter-spacing:.34em;text-transform:uppercase}
.cc-pb-body{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr);gap:34px;padding:44px 40px 46px;align-items:center}
.cc-pb-l img{width:100%;max-width:230px}
.cc-pb-r .cc-eyebrow{color:var(--red)}.cc-pb-t{font:800 clamp(1.7rem,4vw,2.4rem) 'Playfair Display',serif;margin:0 0 8px;color:var(--wine);line-height:1.2}.cc-pb-r .cc-lead{color:#4A3A34}
/* acts */
.cc-acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.cc-act{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.15));border:1px solid rgba(247,213,122,.55);padding:0 28px 32px;text-align:center;position:relative;margin-top:30px}
.cc-act-n{margin:-26px auto 12px;width:max-content;background:linear-gradient(180deg,var(--gold2),var(--gold));color:#2A1505;padding:8px 26px;font:800 .95rem 'Montserrat';letter-spacing:.3em}
.cc-act-y{font:600 .8rem 'Montserrat';letter-spacing:.3em;color:var(--gold2);margin:0}
.cc-act h3{font:800 1.9rem 'Playfair Display',serif;margin:2px 0 8px;color:#fff}.cc-act p:last-child{margin:0;color:#E5D3D7;font-size:.98rem}
/* stats */
.cc-statband{padding:60px 20px;border-top:1px solid rgba(247,213,122,.4);border-bottom:1px solid rgba(247,213,122,.4);background:var(--ink2)}
.cc-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.cc-stat b{display:block;font:800 clamp(2.2rem,5vw,3.6rem)/1.1 'Playfair Display',serif;color:var(--gold2)}.cc-stat span{font:600 .72rem 'Montserrat';letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
/* countdown */
.cc-cd-date{font:italic 500 1.5rem 'Cormorant Garamond',serif;color:var(--gold2);margin:12px 0 0}
.cc-cd-box{border:1px solid var(--gold2);background:rgba(0,0,0,.4);padding:16px 4px;position:relative}
.cc-cd-box:before{content:"";position:absolute;inset:4px;border:1px solid rgba(247,213,122,.3)}
.cc-cd-box b{display:block;font:800 clamp(2rem,7vw,3.4rem)/1.1 'Playfair Display',serif;color:var(--gold2)}.cc-cd-box span{font:600 .68rem 'Montserrat';letter-spacing:.26em;text-transform:uppercase;color:var(--mute)}
/* reviews */
.cc-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cc-rev{background:linear-gradient(180deg,#2A1019,#1A0910);border:1px solid rgba(212,166,42,.5);padding:28px 24px 22px;display:flex;flex-direction:column;gap:14px}
.cc-stars{color:var(--gold2);letter-spacing:.2em;font-size:1.05rem;text-shadow:0 0 12px rgba(247,213,122,.6)}
.cc-rev-q{font:italic 500 1.35rem 'Cormorant Garamond',serif;color:#F2E6D4;margin:0;line-height:1.45;flex:1}
.cc-rev-by{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(247,213,122,.3);padding-top:14px}
.cc-rev-by img{width:46px;height:46px;border-radius:50%;border:2px solid var(--gold);object-fit:cover;object-position:50% 20%;background:#fff}
.cc-rev-by b{display:block;font:700 .92rem 'Montserrat';color:#fff}.cc-rev-by span{font-size:.8rem;color:var(--gold2);letter-spacing:.06em}
/* programme */
.cc-prog{max-width:780px;margin:0 auto}
.cc-pr{display:flex;gap:26px;align-items:flex-start;padding:18px 6px;border-bottom:1px solid rgba(247,213,122,.3)}
.cc-pr-t{flex:0 0 108px;font:800 1.25rem 'Playfair Display',serif;color:var(--gold2)}
.cc-pr b{display:block;font:700 1.1rem 'Montserrat';color:#fff}.cc-pr small{color:var(--mute);font-size:.9rem}
/* venue */
.cc-venue{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px}
.cc-vcard{background:var(--ivory);color:#2A1A14;padding:40px 34px;border:1px solid #CDB88A;position:relative}.cc-vcard:before{content:"";position:absolute;inset:8px;border:1px solid var(--wine);pointer-events:none}
.cc-role{font:700 .74rem 'Montserrat';letter-spacing:.36em;text-transform:uppercase;color:var(--red);margin:0}
.cc-vname{font:800 1.7rem 'Playfair Display',serif;color:var(--wine);margin:4px 0 6px;line-height:1.25}.cc-vaddr{margin:0 0 4px;color:#4A3A34}.cc-vtime{margin:0 0 20px;font-weight:700;color:var(--red)}
.cc-info{display:flex;flex-direction:column;gap:14px}.cc-info div{flex:1;border:1px solid rgba(247,213,122,.5);padding:16px 22px;background:rgba(255,255,255,.03);display:flex;flex-direction:column;justify-content:center}
.cc-info b{font:700 .74rem 'Montserrat';letter-spacing:.3em;text-transform:uppercase;color:var(--gold2)}.cc-info span{color:#E5D3D7;font-size:.96rem}
/* ticket rsvp */
.cc-ticket{max-width:640px;margin:0 auto;background:var(--ivory);color:#2A1A14;border-radius:4px;position:relative;box-shadow:0 30px 60px rgba(0,0,0,.6);-webkit-mask:radial-gradient(circle 16px at 0 56px,#0000 98%,#000),radial-gradient(circle 16px at 100% 56px,#0000 98%,#000);-webkit-mask-composite:source-in;mask:radial-gradient(circle 16px at 0 56px,#0000 98%,#000),radial-gradient(circle 16px at 100% 56px,#0000 98%,#000);mask-composite:intersect}
.cc-tk-head{background:linear-gradient(180deg,var(--gold2),var(--gold));display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 32px;border-bottom:3px dashed var(--wine);flex-wrap:wrap}.cc-tk-head b{font:800 1.5rem 'Playfair Display',serif;color:#2A1505;letter-spacing:.14em}.cc-tk-head span{font:700 .72rem 'Montserrat';letter-spacing:.24em;text-transform:uppercase;color:#4A2A05}
.cc-rsvp{padding:28px 30px 8px}
.cc-rsvp input,.cc-rsvp textarea{font:500 1rem 'Montserrat',sans-serif;background:#fff;border:1px solid #CDB88A;border-radius:2px;padding:13px 14px;color:#2A1A14}
.cc-rsvp input:focus,.cc-rsvp textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(163,29,53,.15)}
.cc-rsvp .cc-btn{width:100%;background:linear-gradient(180deg,#B8213C,var(--wine));color:var(--gold2);box-shadow:none;border:1px solid var(--gold)}
.cc-form-note{color:var(--red)}.cc-rsvp-contact{text-align:center;padding:0 30px 26px;color:#4A3A34}.cc-rsvp-contact a{color:var(--wine)}
/* footer */
.cc-footer{background:radial-gradient(ellipse at 50% 0,#4A1020,#0B0306 70%);padding:70px 20px 56px;border-top:3px solid var(--gold)}
.cc-foot-star{width:90px;margin:0 auto 12px;display:block;filter:drop-shadow(0 0 22px rgba(247,213,122,.7));animation:ccPulse 3s ease-in-out infinite alternate}
.cc-big{font:800 clamp(2.2rem,8vw,4.2rem) 'Playfair Display',serif;line-height:1.15;margin:4px 0;background:linear-gradient(180deg,#FFF6D0,var(--gold2),#B8861A);-webkit-background-clip:text;background-clip:text;color:transparent}
.cc-foot-q{font:italic 500 1.5rem 'Cormorant Garamond',serif;color:#EADBC6;margin:0 0 14px}.cc-tiny{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:#9A8489;margin:0}
.cc-top{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#2A1505;border-radius:2px;box-shadow:0 0 20px rgba(212,166,42,.5)}
@keyframes ccBulb{0%{opacity:1}50%{opacity:.3}}
@keyframes ccPulse{from{transform:scale(.94)}to{transform:scale(1.06)}}
@media (max-width:991px){.cc-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-stats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:26px}}
@media (max-width:767px){
  .cc-sec{padding:62px 16px}.cc-hero{padding:64px 8px 56px}
  .cc-scene{width:112%;max-width:none;margin-left:-6%;border-width:2px;box-shadow:0 20px 40px rgba(0,0,0,.6)}
  .cc-bulbs span:nth-child(n+14){display:none}.cc-bulbs{justify-content:space-around}
  .cc-pb-body{grid-template-columns:minmax(0,1fr);padding:34px 20px 38px;gap:20px}.cc-pb-top{padding:10px 18px;font-size:.7rem;letter-spacing:.2em}.cc-pb-l img{max-width:160px}
  .cc-acts,.cc-venue{grid-template-columns:minmax(0,1fr)}
  .cc-pr{gap:14px}.cc-pr-t{flex:0 0 82px;font-size:1.05rem}
  .cc-ticket{-webkit-mask:none;mask:none}
  .cc-hero-sub{font-size:1.25rem}
}
@media (max-width:520px){.cc-reviews{grid-template-columns:minmax(0,1fr)}.cc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-rsvp{padding:22px 16px 6px}.cc-tk-head{padding:16px 18px}.cc-cd-box span{font-size:.55rem;letter-spacing:.1em}.cc-btn{padding:14px 26px;letter-spacing:.18em}.cc-vcard{padding:32px 20px}}
