/* Neo Brutal — Modern antimainstream */
.tpl-neo-brutal{
  --bg:#fff8e7;--bg-alt:#ffe14d;--surface:#ffffff;--text:#111;--muted:#3a3a3a;--heading:#111;
  --primary:#ff4fa3;--accent:#3d5afe;--line:#111;
  --btn-bg:#3d5afe;--btn-text:#fff;--btn-radius:12px;
  --cover-bg:#ffe14d;--cover-text:#111;
  --cover-overlay:linear-gradient(rgba(255,225,77,.55),rgba(255,225,77,.88));
  --hero-overlay:linear-gradient(rgba(255,248,231,.4),rgba(255,248,231,.92) 80%);
  --cover-pattern:linear-gradient(rgba(17,17,17,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.09) 1px,transparent 1px);--pattern-size:28px 28px;
  --f-display:'Archivo Black',sans-serif;--f-script:'Archivo Black',sans-serif;--f-body:'Space Grotesk',sans-serif;
  --radius:14px;--shadow:6px 6px 0 #111;
  --card-grad:linear-gradient(135deg,#3d5afe,#ff4fa3);
  --fx1:#ff4fa3;--fx2:#3d5afe;--fx3:#ffe14d;
  --r-dur:.7s;--r-ease:cubic-bezier(.2,1.5,.4,1);--r-scale:.7;--r-y:30px;
}
.tpl-neo-brutal .cover__art{position:absolute;top:-40px;right:-10px;width:120px;color:#111;margin:0;animation:nbSpin 14s linear infinite}
.tpl-neo-brutal .cover__art polygon{fill:var(--primary)}
@keyframes nbSpin{to{transform:rotate(360deg)}}
.tpl-neo-brutal .cover__kicker,.tpl-neo-brutal .hero__kicker{display:inline-block;background:#111;color:#ffe14d;padding:6px 12px;font-weight:700;letter-spacing:.12em;transform:rotate(-2deg)}
.tpl-neo-brutal .cover__names,.tpl-neo-brutal .hero__names,.tpl-neo-brutal .aside__names{font-size:clamp(3rem,16vw,4.6rem);text-transform:uppercase;line-height:.92;letter-spacing:-.02em}
.tpl-neo-brutal .cover__names i,.tpl-neo-brutal .hero__names i{display:grid;place-items:center;width:1.3em;height:1.3em;margin:.12em 0;border-radius:50%;background:var(--primary);color:#fff;border:3px solid #111;font-size:.45em;box-shadow:3px 3px 0 #111}
.tpl-neo-brutal .cover__date,.tpl-neo-brutal .hero__date{font-family:var(--f-display);letter-spacing:.06em;font-size:1.2rem}
.tpl-neo-brutal .cover__guest{background:#fff;border:3px solid #111;border-radius:14px;box-shadow:6px 6px 0 #111;transform:rotate(-1deg)}
.tpl-neo-brutal .cover__guest strong{font-family:var(--f-display);font-weight:400}
.tpl-neo-brutal .btn{border:3px solid #111;box-shadow:4px 4px 0 #111;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.tpl-neo-brutal .btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #111}
.tpl-neo-brutal .btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #111}
.tpl-neo-brutal .btn--ghost{background:#fff;color:#111}
.tpl-neo-brutal .btn--open{background:var(--primary)}
.tpl-neo-brutal .btn--open::after{display:none}
.tpl-neo-brutal .sec--hero::after{content:"SAVE THE DATE ✺ SAVE THE DATE ✺ SAVE THE DATE ✺ SAVE THE DATE ✺ SAVE THE DATE ✺ SAVE THE DATE ✺ ";position:absolute;left:0;bottom:0;white-space:nowrap;font-family:var(--f-display);font-size:1.1rem;padding:10px 0;background:#111;color:#ffe14d;width:max-content;animation:nbMarquee 14s linear infinite}
@keyframes nbMarquee{to{transform:translateX(-50%)}}
.tpl-neo-brutal .hero__scroll{bottom:120px}
.tpl-neo-brutal .sec{border-bottom:3px solid #111}
.tpl-neo-brutal .sec:nth-of-type(4n+2){background:#ffe14d}
.tpl-neo-brutal .sec:nth-of-type(4n+3){background:#c9f0ff}
.tpl-neo-brutal .sec:nth-of-type(4n){background:#ffd6ea}
.tpl-neo-brutal .sec__kicker{display:inline-grid;place-items:center;min-width:46px;height:46px;padding:0 8px;border:3px solid #111;border-radius:50%;background:#fff;color:#111;font-family:var(--f-display);letter-spacing:0;font-size:1rem;box-shadow:3px 3px 0 #111}
.tpl-neo-brutal .sec__title{text-transform:uppercase;font-size:clamp(2.2rem,11vw,3rem);line-height:.95;letter-spacing:-.02em}
.tpl-neo-brutal .sec__divider{color:#111}
.tpl-neo-brutal .card,.tpl-neo-brutal .event,.tpl-neo-brutal .cd,.tpl-neo-brutal .wish,.tpl-neo-brutal .wl__item,.tpl-neo-brutal .ticket,.tpl-neo-brutal .bank-card,.tpl-neo-brutal .video,.tpl-neo-brutal .film__frame,.tpl-neo-brutal .story__photo{border:3px solid #111;box-shadow:6px 6px 0 #111}
.tpl-neo-brutal .quote{font-family:var(--f-display);font-style:normal;font-size:1.3rem;line-height:1.3;text-transform:uppercase}
.tpl-neo-brutal .quote cite{display:inline-block;background:#111;color:#fff;padding:4px 10px}
.tpl-neo-brutal .person__photo,.tpl-neo-brutal .person__mono,.tpl-neo-brutal .person__ill{border-radius:16px;border:3px solid #111;box-shadow:10px 10px 0 var(--accent)}
.tpl-neo-brutal .person:last-child .person__photo,.tpl-neo-brutal .person:last-child .person__mono{box-shadow:10px 10px 0 var(--primary)}
.tpl-neo-brutal .person__frame{transform:rotate(-3deg)}
.tpl-neo-brutal .person:last-child .person__frame{transform:rotate(3deg)}
.tpl-neo-brutal .person__nick{font-size:2.4rem;text-transform:uppercase;color:#111}
.tpl-neo-brutal .person__name{font-family:var(--f-body);font-weight:700}
.tpl-neo-brutal .person__ig{border:2px solid #111;color:#111;background:#fff}
.tpl-neo-brutal .couple__amp{font-size:3rem;color:var(--primary);-webkit-text-stroke:2px #111}
.tpl-neo-brutal .cd:nth-child(1){background:#ff4fa3}.tpl-neo-brutal .cd:nth-child(2){background:#3d5afe;color:#fff}.tpl-neo-brutal .cd:nth-child(3){background:#7cf29a}.tpl-neo-brutal .cd:nth-child(4){background:#fff}
.tpl-neo-brutal .cd:nth-child(2) b,.tpl-neo-brutal .cd:nth-child(2) span{color:#fff}
.tpl-neo-brutal .cd span{color:#111;font-weight:700}
.tpl-neo-brutal .event__name{text-transform:uppercase;font-size:2rem;color:var(--accent)}
.tpl-neo-brutal .event__day,.tpl-neo-brutal .event__my{border-width:3px;border-color:#111;font-weight:700}
.tpl-neo-brutal .gallery__item{border:3px solid #111;border-radius:12px}
.tpl-neo-brutal .gallery__item:nth-child(odd){transform:rotate(-2deg)}
.tpl-neo-brutal .gallery__item:nth-child(even){transform:rotate(2deg)}
.tpl-neo-brutal .field input,.tpl-neo-brutal .field textarea,.tpl-neo-brutal .field select,.tpl-neo-brutal .choice span{border:3px solid #111;border-radius:10px;background:#fff}
.tpl-neo-brutal .field>span{color:#111;font-weight:700}
.tpl-neo-brutal .story::before{width:3px;background:#111}
.tpl-neo-brutal .story__dot{border:3px solid #111;background:var(--primary);border-radius:3px;box-shadow:none}
.tpl-neo-brutal .closing__title{color:#111;text-transform:uppercase;font-size:clamp(2.6rem,13vw,3.6rem)}
.tpl-neo-brutal .dock{border:3px solid #111;box-shadow:4px 4px 0 #111;background:#fff}
.tpl-neo-brutal .fab__btn{border:3px solid #111;box-shadow:3px 3px 0 #111;background:#fff;color:#111}
.tpl-neo-brutal .tag{border:2px solid #111;color:#111;background:#7cf29a}
.tpl-neo-brutal .wish__av{border:2px solid #111}
