/* Garis — Tipografi modern: angka tanggal raksasa, garis kisi, gelap pasir & terakota */
.tpl-garis{
  --bg:#151515;--bg-alt:#1b1a18;--surface:#1f1e1c;--text:#cfc8bc;--muted:#8e877c;--heading:#ece6dc;
  --primary:#d0704f;--accent:#e2a07f;--line:rgba(236,230,220,.14);
  --btn-bg:#ece6dc;--btn-text:#151515;--btn-radius:0;
  --cover-bg:#151515;--cover-text:#ece6dc;
  --cover-pattern:linear-gradient(90deg,transparent calc(25% - .5px),rgba(236,230,220,.07) 0 calc(25% + .5px),transparent 0 calc(50% - .5px),rgba(236,230,220,.07) 0 calc(50% + .5px),transparent 0 calc(75% - .5px),rgba(236,230,220,.07) 0 calc(75% + .5px),transparent 0);
  --f-display:'DM Serif Display',serif;--f-script:'DM Serif Display',serif;--f-body:'DM Sans',sans-serif;--f-marquee:'DM Serif Display',serif;
  --radius:0px;--shadow:none;
  --card-grad:linear-gradient(135deg,#2a2826,#6e3a29 60%,#d0704f);
  --fx1:#d0704f;--fx2:#ece6dc;--fx3:#8e877c;
}
.tpl-garis .cover__content::before,.tpl-garis .hero__inner::before{content:attr(data-d) "\A" attr(data-m);white-space:pre;position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);font-family:'DM Serif Display',serif;font-size:min(68vw,320px);line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(236,230,220,.13);z-index:-1;pointer-events:none;animation:garisNum 2.4s var(--ease) both}
@keyframes garisNum{from{opacity:0;letter-spacing:.1em}}
.tpl-garis .cover__kicker,.tpl-garis .hero__kicker{display:flex;align-items:center;justify-content:center;gap:12px;font-weight:500;font-size:.7rem;letter-spacing:.4em;color:var(--primary)}
.tpl-garis .cover__kicker::before,.tpl-garis .cover__kicker::after,.tpl-garis .hero__kicker::before,.tpl-garis .hero__kicker::after{content:"";width:28px;height:1px;background:currentColor}
.tpl-garis .cover__names,.tpl-garis .hero__names{font-size:clamp(3.4rem,17vw,5.1rem);line-height:.94;letter-spacing:-.01em;margin:.25em 0 .2em;color:var(--heading)}
.tpl-garis .cover__names i,.tpl-garis .hero__names i{font-family:var(--f-display);font-style:italic;font-size:.5em;color:var(--primary);line-height:1.15}
.tpl-garis .cover__date{font-weight:500;font-size:.74rem;letter-spacing:.5em;padding-left:.5em;color:var(--muted)}
.tpl-garis .hero__date{font-family:var(--f-body);font-size:.8rem;letter-spacing:.32em;text-transform:uppercase}
.tpl-garis .cover__guest{border-color:var(--line)}
.tpl-garis .cover__guest strong{font-weight:400;font-size:1.6rem}
.tpl-garis .marquee{background:var(--primary);color:#151515;border:0;text-transform:none;letter-spacing:.02em;font-size:1.12rem;padding:11px 0}
.tpl-garis .marquee i{color:#151515}
.tpl-garis .btn{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:600;padding:14px 22px}
.tpl-garis .btn--sm{font-size:.68rem;padding:10px 14px}
.tpl-garis .btn--ghost{color:var(--heading);border-color:var(--line)}
.tpl-garis .inv-main{counter-reset:sec}
.tpl-garis .sec__head{counter-increment:sec}
.tpl-garis .sec__kicker{font-weight:500;font-size:.7rem;letter-spacing:.36em}
.tpl-garis .sec__kicker::before{content:counter(sec,decimal-leading-zero) "  /  ";color:var(--muted)}
.tpl-garis .sec__title{font-weight:400;font-size:clamp(2.6rem,12vw,3.3rem);line-height:1}
.tpl-garis .sec{border-top:1px solid var(--line)}
.tpl-garis .sec--hero{border-top:0}
.tpl-garis .quote{font-style:normal;font-size:1.32rem;line-height:1.5}
.tpl-garis .quote cite{color:var(--primary)}
.tpl-garis .person__photo,.tpl-garis .person__mono,.tpl-garis .person__ill{border-radius:0}
.tpl-garis .person__photo{filter:grayscale(.2)}
.tpl-garis .person__mono{font-size:7.5rem;color:var(--primary);background:var(--surface);border-color:var(--line)}
.tpl-garis .person__nick{font-size:2.8rem;color:var(--heading)}
.tpl-garis .person__name{font-family:var(--f-body);font-weight:500;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--primary)}
.tpl-garis .couple__amp{font-family:var(--f-display);font-style:italic;font-size:4.6rem}
.tpl-garis .event{border-radius:0;box-shadow:none;background:transparent}
.tpl-garis .event__name{font-size:2.3rem;color:var(--heading)}
.tpl-garis .event__num{font-weight:400;font-size:4.4rem;color:var(--primary)}
.tpl-garis .cd{border:0;border-left:1px solid var(--line);border-radius:0;background:transparent}
.tpl-garis .cd:first-child{border-left:0}
.tpl-garis .cd b{font-weight:400;font-size:2.8rem}
.tpl-garis .field input,.tpl-garis .field textarea,.tpl-garis .field select{border-radius:0;background:var(--surface);color:var(--text)}
.tpl-garis .choice span,.tpl-garis .wish,.tpl-garis .gallery__item,.tpl-garis .film__frame,.tpl-garis .story__photo,.tpl-garis .bank-card,.tpl-garis .wl__item,.tpl-garis .ticket,.tpl-garis .card{border-radius:0}
.tpl-garis .story__dot{border-radius:0;background:var(--bg)}
.tpl-garis .closing__title{color:var(--heading)}
.tpl-garis .closing__names i{font-family:var(--f-display);font-style:italic}
.tpl-garis .aside__names{font-family:var(--f-display)}
.tpl-garis .aside__names i{font-style:italic}
.tpl-garis .aside__content::before{content:attr(data-d) "/" attr(data-m);position:absolute;right:-4%;top:50%;transform:translateY(-50%);font-family:'DM Serif Display',serif;font-size:22vw;line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(236,230,220,.1);z-index:-1;pointer-events:none}
.tpl-garis .dock{background:rgba(31,30,28,.92)}
