/* Noir Royale — Luxury: hitam & emas */
.tpl-noir-royale{
  --bg:#0c0b0a;--bg-alt:#131110;--surface:#171513;--text:#d8d0c2;--muted:#998f7f;--heading:#f3e9d2;
  --primary:#c9a96a;--accent:#8d7444;--line:rgba(201,169,106,.26);
  --btn-bg:#c9a96a;--btn-text:#0c0b0a;--btn-radius:0;
  --cover-bg:#0c0b0a;--cover-text:#f3e9d2;
  --cover-overlay:linear-gradient(180deg,rgba(12,11,10,.4),rgba(12,11,10,.82) 55%,rgba(12,11,10,.97));
  --hero-overlay:linear-gradient(180deg,rgba(12,11,10,.35),rgba(12,11,10,.95) 85%);
  --cover-pattern:radial-gradient(ellipse at 50% 0%,rgba(201,169,106,.22),transparent 60%),repeating-linear-gradient(135deg,rgba(201,169,106,.04) 0 1px,transparent 1px 22px);
  --f-display:'Bodoni Moda',serif;--f-script:'Bodoni Moda',serif;--f-body:'Tenor Sans',sans-serif;
  --radius:0px;--shadow:0 30px 60px -30px rgba(0,0,0,.9);
  --card-grad:linear-gradient(135deg,#0c0b0a 0%,#2a241b 50%,#8d7444 100%);
  --fx1:#e8cf8f;--fx2:#c9a96a;--fx3:#fff3d1;
}
.tpl-noir-royale .gold,.tpl-noir-royale .cover__names,.tpl-noir-royale .hero__names,.tpl-noir-royale .closing__title,.tpl-noir-royale .aside__names,.tpl-noir-royale .person__nick,.tpl-noir-royale .event__name{background:linear-gradient(100deg,#a8823f 0%,#f7e4b2 25%,#c9a96a 45%,#fff2cc 60%,#a8823f 85%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:nrShine 6s linear infinite}
@keyframes nrShine{to{background-position:-250% 0}}
.tpl-noir-royale .cover__names i,.tpl-noir-royale .hero__names i,.tpl-noir-royale .aside__names i{color:transparent}
.tpl-noir-royale .cover__names,.tpl-noir-royale .hero__names{font-style:italic;font-size:clamp(3rem,14vw,4.4rem)}
.tpl-noir-royale .cover__art{position:absolute;left:50%;top:50%;width:min(92vw,400px);transform:translate(-50%,-54%);margin:0;color:var(--primary);opacity:.65;z-index:-1}
.tpl-noir-royale .cover__content{padding:130px 26px 80px}
.tpl-noir-royale .cover__kicker,.tpl-noir-royale .hero__kicker,.tpl-noir-royale .sec__kicker{letter-spacing:.5em;font-size:.66rem;color:var(--primary)}
.tpl-noir-royale .cover__guest{border-color:var(--line)}
.tpl-noir-royale .op-slat{box-shadow:inset -1px 0 0 rgba(201,169,106,.6)}
.tpl-noir-royale .btn{letter-spacing:.24em;text-transform:uppercase;font-size:.68rem;padding:15px 24px}
.tpl-noir-royale .btn--sm{padding:11px 14px;font-size:.62rem}
.tpl-noir-royale .btn--ghost:hover{background:rgba(201,169,106,.1)}
.tpl-noir-royale .sec__title{font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.9rem,9vw,2.5rem)}
.tpl-noir-royale .sec:nth-of-type(even){background:var(--bg-alt)}
.tpl-noir-royale .quote{font-size:1.25rem}
.tpl-noir-royale .person__frame::before{content:"";position:absolute;inset:10px -10px -10px 10px;border:1px solid var(--primary)}
.tpl-noir-royale .person:last-child .person__frame::before{inset:10px 10px -10px -10px}
.tpl-noir-royale .person__photo,.tpl-noir-royale .person__mono,.tpl-noir-royale .person__ill{border-radius:0;filter:grayscale(.15) contrast(1.05)}
.tpl-noir-royale .person__nick{font-style:italic;font-size:2.5rem}
.tpl-noir-royale .couple__amp{font-family:var(--f-display);font-style:italic;color:var(--primary)}
.tpl-noir-royale .event{border-color:var(--line);background:linear-gradient(180deg,#191613,#0f0e0c)}
.tpl-noir-royale .event__name{font-style:italic;font-size:2.1rem}
.tpl-noir-royale .event__num{font-weight:400}
.tpl-noir-royale .cd{border-radius:0;background:transparent;border-color:var(--line)}
.tpl-noir-royale .cd b{font-weight:400}
.tpl-noir-royale .gallery__item{border-radius:0;filter:saturate(.9)}
.tpl-noir-royale .field input,.tpl-noir-royale .field textarea,.tpl-noir-royale .field select{border-radius:0;background:#0f0e0c;color:var(--text)}
.tpl-noir-royale .wish{border-radius:0}
.tpl-noir-royale .tag{background:rgba(201,169,106,.15)}
.tpl-noir-royale .closing__title{font-style:italic;font-size:clamp(2.6rem,12vw,3.6rem)}
.tpl-noir-royale .dock a.is-active{color:#0c0b0a}
.tpl-noir-royale .inv-foot{border-top:1px solid var(--line)}
