/* Samudra — Minimalis: putih & biru laut */
.tpl-samudra{
  --bg:#f8fbfc;--bg-alt:#eef6f9;--surface:#ffffff;--text:#33505f;--muted:#7895a3;--heading:#1e4d6b;
  --primary:#3f86a8;--accent:#1e4d6b;--line:rgba(30,77,107,.16);
  --btn-bg:#1e4d6b;--btn-text:#fff;
  --cover-bg:#eaf4f8;--cover-text:#1e4d6b;
  --cover-overlay:linear-gradient(180deg,rgba(248,251,252,.15),rgba(248,251,252,.75) 55%,rgba(248,251,252,.97));
  --hero-overlay:linear-gradient(180deg,rgba(248,251,252,.1),rgba(248,251,252,.95) 85%);
  --cover-pattern:linear-gradient(180deg,#f8fbfc,#d9ebf3);
  --f-display:'Italiana',serif;--f-script:'Allura',cursive;--f-body:'Josefin Sans',sans-serif;
  --radius:24px;--shadow:0 30px 60px -40px rgba(30,77,107,.45);
  --card-grad:linear-gradient(135deg,#1e4d6b,#3f86a8 60%,#8cc4d9);
  --fx1:rgba(63,134,168,.55);--fx2:rgba(140,196,217,.6);--fx3:rgba(255,255,255,.9);
  --sec-pad:104px;
}
.tpl-samudra .cover__art{position:absolute;bottom:-140px;left:50%;width:min(110vw,520px);transform:translateX(-50%);color:var(--primary);opacity:.55;margin:0}
.tpl-samudra .cover__kicker,.tpl-samudra .hero__kicker,.tpl-samudra .sec__kicker{font-weight:300;letter-spacing:.45em;font-size:.68rem}
.tpl-samudra .cover__names,.tpl-samudra .hero__names,.tpl-samudra .aside__names{font-family:var(--f-display);text-transform:uppercase;font-size:clamp(2.8rem,13vw,4rem);letter-spacing:.08em;line-height:1.1}
.tpl-samudra .cover__names i,.tpl-samudra .hero__names i{font-family:var(--f-script);text-transform:none;font-size:.8em;letter-spacing:0}
.tpl-samudra .cover__date,.tpl-samudra .hero__date{font-family:var(--f-body);font-weight:300;letter-spacing:.4em;font-size:.85rem}
.tpl-samudra .cover__guest{border-color:var(--line)}
.tpl-samudra .op-wave{fill:#eaf4f8}
.tpl-samudra .sec__title{text-transform:uppercase;letter-spacing:.12em;font-size:clamp(1.8rem,8.5vw,2.3rem)}
.tpl-samudra .sec:nth-of-type(even){background:var(--bg-alt)}
.tpl-samudra .sec:nth-of-type(even)::before{content:"";position:absolute;top:-1px;left:0;right:0;height:24px;background:var(--bg);-webkit-mask:radial-gradient(20px 14px at 50% 0,#000 98%,transparent) 0 0/40px 24px repeat-x;mask:radial-gradient(20px 14px at 50% 0,#000 98%,transparent) 0 0/40px 24px repeat-x}
.tpl-samudra .card,.tpl-samudra .event,.tpl-samudra .cd,.tpl-samudra .wish{box-shadow:none}
.tpl-samudra .quote{font-family:var(--f-body);font-weight:300;font-style:normal;font-size:1.05rem;letter-spacing:.02em}
.tpl-samudra .person__photo,.tpl-samudra .person__mono,.tpl-samudra .person__ill{border-radius:50%;aspect-ratio:1;height:auto}
.tpl-samudra .person__frame{aspect-ratio:1}
.tpl-samudra .person__frame::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid var(--line)}
.tpl-samudra .person__nick{font-family:var(--f-script);font-size:3rem}
.tpl-samudra .person__name{font-family:var(--f-body);font-weight:400;letter-spacing:.06em;font-size:1rem;text-transform:uppercase}
.tpl-samudra .event__name{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.12em;font-size:1.6rem;color:var(--accent)}
.tpl-samudra .event__num{font-family:var(--f-display)}
.tpl-samudra .btn{letter-spacing:.2em;text-transform:uppercase;font-size:.7rem;font-weight:400;padding:14px 24px}
.tpl-samudra .btn--sm{font-size:.64rem;padding:10px 15px}
.tpl-samudra .closing__title{font-family:var(--f-script);font-size:clamp(3.4rem,15vw,4.4rem)}
.tpl-samudra .gallery{columns:1}
.tpl-samudra .gallery__item{border-radius:18px}
@media (min-width:380px){.tpl-samudra .gallery{columns:2}}
