/* ============================================================
   WEBSITE KAHWIN — gaya
   Warna tema datang dari Admin → Tetapan (--c1 utama, --c2 emas, --bg latar, --ink teks)
   ============================================================ */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Jost',system-ui,sans-serif;font-weight:400;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.is-locked{overflow:hidden;height:100vh}
img{max-width:100%;display:block}
a{color:var(--c1)}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;margin:0;line-height:1.1}
.script{font-family:'Great Vibes',cursive;font-weight:400}
.wrap{max-width:1040px;margin:0 auto;padding:0 22px}
.narrow{max-width:640px}
.center{text-align:center}
.muted{color:color-mix(in srgb,var(--ink) 62%,transparent)}
.hp{position:absolute!important;left:0;top:0;width:1px!important;height:1px!important;padding:0!important;border:0!important;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
form{position:relative}

/* ---------- butang ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:999px;border:1.5px solid var(--c1);font:600 14px/1 'Jost',sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s,color .2s}
.btn:active{transform:scale(.97)}
.btn-solid{background:var(--c1);color:#fff}
.btn-solid:hover{background:color-mix(in srgb,var(--c1) 85%,#000)}
.btn-line{background:transparent;color:var(--c1)}
.btn-line:hover{background:var(--c1);color:#fff}
.btn-ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);color:#fff;backdrop-filter:blur(6px)}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.btn-block{width:100%}
.btn[disabled]{opacity:.6}

/* ---------- sampul ---------- */
.envelope{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:22px;background:
  radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--c1) 22%,transparent),transparent 45%),
  radial-gradient(circle at 85% 90%,color-mix(in srgb,var(--c2) 25%,transparent),transparent 40%),var(--bg);
  transition:opacity .8s ease,transform .9s cubic-bezier(.7,0,.3,1)}
.envelope.open{opacity:0;transform:translateY(-6%) scale(1.04);pointer-events:none}
.env-card{position:relative;width:min(440px,100%);padding:56px 30px 40px;text-align:center;background:color-mix(in srgb,#fff 70%,var(--bg));border:1px solid color-mix(in srgb,var(--c2) 45%,transparent);border-radius:220px 220px 26px 26px;box-shadow:0 30px 80px color-mix(in srgb,var(--ink) 18%,transparent);overflow:hidden}
.env-card:after{content:'';position:absolute;inset:10px;border:1px solid color-mix(in srgb,var(--c2) 35%,transparent);border-radius:210px 210px 18px 18px;pointer-events:none}
.env-kicker{margin:16px 0 0;font-size:12px;letter-spacing:.38em;text-transform:uppercase;color:var(--c2)}
.env-names{font-size:clamp(3rem,13vw,4.4rem);line-height:1.05;margin:10px 0 6px;color:var(--c1)}
.env-names span{display:block;font-size:.55em;color:var(--c2)}
.env-date{letter-spacing:.24em;font-size:13px;text-transform:uppercase;margin:0 0 22px}
.env-to{margin:0 auto 24px;padding:12px 16px;border-top:1px solid color-mix(in srgb,var(--c2) 40%,transparent);border-bottom:1px solid color-mix(in srgb,var(--c2) 40%,transparent);max-width:280px}
.env-to small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--c2)}
.env-to b{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600}
.sprig{position:absolute;width:150px;height:90px;color:var(--c1);opacity:.55}
.sprig-tl{top:30px;left:-26px;transform:rotate(-12deg)}
.sprig-br{bottom:24px;right:-30px;transform:rotate(168deg)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;
  background-color:var(--c1);background-image:linear-gradient(160deg,color-mix(in srgb,var(--c1) 92%,#000),color-mix(in srgb,var(--c1) 60%,var(--c2)));background-size:cover;background-position:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.15) 40%,rgba(0,0,0,.55))}
.hero-in{position:relative;padding:90px 22px 110px}
.kicker{margin:0;font-size:12.5px;letter-spacing:.42em;text-transform:uppercase;opacity:.9}
.hero-names{font-size:clamp(3.6rem,13vw,7.5rem);line-height:1;margin:14px 0 8px;text-shadow:0 4px 30px rgba(0,0,0,.25)}
.hero-names span{display:block;font-size:.45em;color:var(--c2);margin:4px 0}
.hero-date{font-family:'Cormorant Garamond',serif;font-size:clamp(1.25rem,3.6vw,1.7rem);letter-spacing:.06em;margin:0 0 30px}
.countdown{display:flex;gap:10px;justify-content:center;margin:0 0 28px}
.countdown div{width:78px;padding:12px 0 10px;border:1px solid rgba(255,255,255,.45);border-radius:999px 999px 16px 16px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}
.countdown b{display:block;font-family:'Cormorant Garamond',serif;font-size:2.1rem;font-weight:500;line-height:1}
.countdown span{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;opacity:.85}
.cd-msg{font-family:'Cormorant Garamond',serif;font-size:1.4rem;margin:0 0 26px}
.scroll-cue{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);width:26px;height:42px;border:1.5px solid rgba(255,255,255,.7);border-radius:20px}
.scroll-cue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:cue 1.6s infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* ---------- seksyen ---------- */
.sec{padding:90px 0;position:relative}
.sec-paper{background:color-mix(in srgb,#fff 55%,var(--bg))}
.sec-title{text-align:center;margin-bottom:38px}
.sec-title small{display:block;font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--c2);margin-bottom:6px}
.sec-title h2{font-size:clamp(2.3rem,6vw,3.3rem);color:var(--c1)}
.sec-title.sub{margin:64px 0 26px}
.sec-title h3{font-size:2rem;color:var(--c1)}
.divider{width:220px;height:24px;color:var(--c2);display:block;margin:18px auto}

.bismillah{font-family:'Amiri',serif;font-size:clamp(1.7rem,5vw,2.3rem);color:var(--c1);margin:0}
.salam{font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.25rem;margin:8px 0 0}
.hosts{display:flex;flex-direction:column;gap:2px;font-family:'Cormorant Garamond',serif;font-size:1.45rem;margin:10px 0 14px}
.hosts b{font-weight:600}
.hosts .amp{font-family:'Great Vibes',cursive;color:var(--c2);font-size:1.6rem;line-height:1.2}
.intro{margin:0 auto 34px;max-width:520px}
.couple{display:flex;flex-direction:column;align-items:center;gap:4px}
.person h2{font-size:clamp(3rem,10vw,4.2rem);color:var(--c1);line-height:1.1}
.person p{margin:2px 0 0;font-family:'Cormorant Garamond',serif;font-size:1.2rem;letter-spacing:.04em}
.couple-amp{font-size:2.6rem;color:var(--c2);line-height:1}
.quote{margin:46px auto 0;max-width:520px;padding:24px 26px;border-radius:20px;background:var(--bg);border:1px solid color-mix(in srgb,var(--c2) 35%,transparent);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;line-height:1.55}
.quote cite{display:block;margin-top:10px;font-style:normal;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--c2)}

/* butiran */
.details{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dcard{background:#fff;border:1px solid color-mix(in srgb,var(--c2) 30%,transparent);border-radius:140px 140px 22px 22px;padding:40px 22px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:0 18px 40px color-mix(in srgb,var(--ink) 7%,transparent)}
.dicon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c1) 12%,transparent);margin-bottom:12px}
.dicon svg{width:24px;height:24px;fill:none;stroke:var(--c1);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dcard small{font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--c2)}
.dcard b{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600;color:var(--c1);line-height:1.2;margin-top:4px}
.dcard span{font-size:15px}
.dcard em{margin-top:8px;font-size:13.5px;color:color-mix(in srgb,var(--ink) 65%,transparent)}
.actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.timeline{list-style:none;margin:0 auto;padding:0;max-width:520px;position:relative}
.timeline:before{content:'';position:absolute;left:112px;top:8px;bottom:8px;width:1px;background:color-mix(in srgb,var(--c2) 55%,transparent)}
.timeline li{display:grid;grid-template-columns:100px 1fr;gap:26px;padding:12px 0;position:relative}
.timeline li:before{content:'';position:absolute;left:107px;top:21px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--c2)}
.timeline time{text-align:right;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.15rem;color:var(--c1)}
.timeline span{font-size:15.5px}
.sessions{margin:26px auto 0;max-width:560px;text-align:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}
.sessions span{padding:6px 14px;border-radius:999px;background:#fff;border:1px solid color-mix(in srgb,var(--c2) 40%,transparent);font-size:14px}

/* galeri */
.gallery{columns:3 220px;column-gap:12px}
.gitem{display:block;width:100%;margin:0 0 12px;padding:0;border:0;border-radius:18px;overflow:hidden;cursor:zoom-in;background:none;break-inside:avoid}
.gitem img{width:100%;transition:transform .5s}
.gitem:hover img{transform:scale(1.04)}
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.88);display:grid;place-items:center;padding:20px}
.lightbox[hidden]{display:none}
.lightbox img{max-height:88vh;border-radius:12px}
.lightbox button{position:absolute;top:16px;right:20px;font-size:34px;color:#fff;background:none;border:0;cursor:pointer}

/* borang */
.card{background:#fff;border:1px solid color-mix(in srgb,var(--c2) 28%,transparent);border-radius:26px;padding:28px;box-shadow:0 18px 44px color-mix(in srgb,var(--ink) 7%,transparent)}
.form{display:flex;flex-direction:column;gap:16px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld>span{font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.fld em{text-transform:none;letter-spacing:0;font-style:normal;color:color-mix(in srgb,var(--ink) 55%,transparent)}
input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1.5px solid color-mix(in srgb,var(--c2) 35%,transparent);border-radius:14px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--c1);box-shadow:0 0 0 4px color-mix(in srgb,var(--c1) 14%,transparent)}
textarea{resize:vertical}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;background:var(--bg);border-radius:999px;border:1px solid color-mix(in srgb,var(--c2) 30%,transparent)}
.seg label{position:relative}
.seg input{position:absolute;inset:0;width:1px;height:1px;opacity:0;pointer-events:none}
.seg span{display:block;text-align:center;padding:11px 8px;border-radius:999px;font-weight:500;font-size:14.5px;cursor:pointer;transition:.2s}
.seg input:checked+span{background:var(--c1);color:#fff;box-shadow:0 6px 14px color-mix(in srgb,var(--c1) 30%,transparent)}
.seg input:focus-visible+span{outline:2px solid var(--c2)}
.stepper{display:flex;align-items:center;gap:0;width:max-content;border:1.5px solid color-mix(in srgb,var(--c2) 35%,transparent);border-radius:999px;background:var(--bg);overflow:hidden}
.stepper button{width:48px;height:46px;border:0;background:none;font-size:22px;color:var(--c1);cursor:pointer}
.stepper input{width:56px;border:0;border-radius:0;text-align:center;background:transparent;padding:0;box-shadow:none!important;-moz-appearance:textfield}
.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.done{text-align:center;padding:20px 6px}
.done span{font-size:2.6rem}
.done p{font-family:'Cormorant Garamond',serif;font-size:1.35rem;margin:6px 0 0}

/* ucapan */
.wish-form{margin-bottom:24px}
.wishes{display:flex;flex-direction:column;gap:12px;max-height:620px;overflow-y:auto;padding:4px}
.wish{background:#fff;border-radius:20px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--c2) 22%,transparent);position:relative}
.wish:before{content:'“';position:absolute;top:-6px;left:14px;font-family:'Cormorant Garamond',serif;font-size:3.4rem;color:color-mix(in srgb,var(--c2) 45%,transparent);line-height:1}
.wish p{margin:0 0 10px;padding-top:10px;font-size:15.5px}
.wish footer{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.wish footer b{color:var(--c1);font-weight:600}
.wish footer span{color:color-mix(in srgb,var(--ink) 50%,transparent)}
.wish.fresh{animation:pop .6s ease}
@keyframes pop{from{opacity:0;transform:translateY(-8px) scale(.98)}}

/* salam kaut */
.gift{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:22px}
.qr{width:210px;border-radius:16px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--c2) 30%,transparent)}
.gift small{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--c2)}
.acc{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600;letter-spacing:.06em;color:var(--c1)}
.gift .btn{margin-top:14px}

/* hubungi */
.contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.contact{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border-radius:999px;border:1px solid color-mix(in srgb,var(--c2) 28%,transparent);text-decoration:none;color:var(--ink);text-align:left;transition:transform .2s,box-shadow .2s}
.contact:hover{transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb,var(--ink) 10%,transparent)}
.wa{width:42px;height:42px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff}
.contact b{display:block;font-weight:500}
.contact small{color:color-mix(in srgb,var(--ink) 60%,transparent)}

/* penutup */
.closing{position:relative;text-align:center;padding:90px 22px 150px;background:linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--c1) 14%,var(--bg)));overflow:hidden}
.sprig-c{position:relative;display:block;margin:0 auto 18px;width:170px;height:100px;opacity:.75}
.doa{max-width:560px;margin:0 auto 22px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;line-height:1.6}
.closing h2{font-size:clamp(3rem,10vw,4.6rem);color:var(--c1)}
.hashtag{letter-spacing:.14em;color:var(--c2);font-weight:500}
.tiny{font-size:13px;color:color-mix(in srgb,var(--ink) 55%,transparent);margin-top:26px}

/* dock & lagu */
.dock{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:90;display:flex;gap:2px;padding:6px;background:color-mix(in srgb,#fff 88%,transparent);backdrop-filter:blur(14px);border:1px solid color-mix(in srgb,var(--c2) 35%,transparent);border-radius:999px;box-shadow:0 14px 34px color-mix(in srgb,var(--ink) 18%,transparent);max-width:calc(100% - 24px)}
.dock a{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 12px;border-radius:999px;text-decoration:none;color:color-mix(in srgb,var(--ink) 65%,transparent);font-size:10.5px;letter-spacing:.04em;min-width:58px;transition:.2s}
.dock svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dock a.on{background:var(--c1);color:#fff}
.music{position:fixed;right:16px;bottom:90px;z-index:91;width:48px;height:48px;border-radius:50%;border:1px solid color-mix(in srgb,var(--c2) 40%,transparent);background:#fff;color:var(--c1);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb,var(--ink) 15%,transparent)}
.music[hidden]{display:none}
.music.on{animation:spin 4s linear infinite;background:var(--c1);color:#fff}
@keyframes spin{to{transform:rotate(360deg)}}

/* toast */
.toast{position:fixed;left:50%;top:18px;z-index:400;transform:translate(-50%,-140%);max-width:calc(100% - 32px);padding:13px 20px;border-radius:16px;background:var(--ink);color:#fff;font-size:14.5px;box-shadow:0 14px 34px rgba(0,0,0,.2);transition:transform .35s cubic-bezier(.2,.9,.3,1.2)}
.toast.show{transform:translate(-50%,0)}
.toast.ok{background:var(--c1)}
.toast.err{background:#9b2c2c}
.toast-static{max-width:640px;margin:18px auto -40px;padding:13px 18px;border-radius:14px;text-align:center;position:relative;z-index:2}
.toast-static.ok{background:color-mix(in srgb,var(--c1) 16%,#fff);color:var(--c1)}
.toast-static.err{background:#fde2e2;color:#9b1c1c}

/* animasi */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.music.on,.scroll-cue span{animation:none}html{scroll-behavior:auto}}

/* responsif */
@media (max-width:820px){
  .details{grid-template-columns:1fr;gap:14px}
  .dcard{border-radius:120px 120px 22px 22px}
}
@media (max-width:560px){
  body{font-size:15.5px}
  .sec{padding:70px 0}
  .countdown{gap:7px}
  .countdown div{width:68px}
  .countdown b{font-size:1.8rem}
  .actions .btn{flex:1 1 calc(50% - 10px);padding:13px 12px}
  .timeline:before{left:86px}
  .timeline li{grid-template-columns:76px 1fr;gap:22px}
  .timeline li:before{left:81px}
  .timeline time{font-size:1.02rem}
  .card{padding:22px 18px}
  .gallery{columns:2 140px}
  .dock a{min-width:0;padding:7px 9px}
  .dock span{font-size:9.5px}
}
.toast:empty{visibility:hidden}
.actions .btn{white-space:nowrap}
@media (max-width:560px){ .actions .btn{font-size:12.5px;letter-spacing:.04em;padding:13px 10px} }

/* ============================================================
   v2 — nama lebih jelas, saiz besar di telefon, kontras tinggi
   ============================================================ */
:root{--c1t:color-mix(in srgb,var(--c1) 72%,#000);--c2t:color-mix(in srgb,var(--c2) 70%,#000)}
.script,.hosts .amp{font-family:var(--script,'Alex Brush',cursive)}
.nf-serif .script{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.nm,.fit{display:block;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:clip;padding:0 .08em}
.amp{display:block}
.muted{color:color-mix(in srgb,var(--ink) 80%,transparent)}
body{color:var(--ink)}

/* sampul */
.env-card{width:min(500px,100%);padding:60px 20px 40px}
.env-kicker{font-size:13.5px;font-weight:500;color:var(--c2t)}
.env-names{font-size:clamp(3.4rem,15vw,5rem);color:var(--c1t);line-height:1.08;margin:12px 0 10px}
.env-names .amp{font-size:.5em;color:var(--c2);line-height:1}
.nf-serif .env-names{font-size:clamp(2.2rem,9vw,3.2rem);line-height:1.2}
.env-date{font-size:15px;font-weight:500;letter-spacing:.2em;color:var(--ink)}
.env-to small{font-size:12px;font-weight:500;color:var(--c2t)}
.env-to b{font-size:1.65rem;color:var(--ink)}
.sprig{opacity:.45}

/* hero */
.hero-names .nm{text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero-names .amp{font-size:.42em;color:var(--c2);margin:2px 0}
.nf-serif .hero-names{font-size:clamp(2.6rem,9vw,5rem);line-height:1.15}
.kicker{font-size:13.5px;font-weight:500}
.hero-date{font-size:clamp(1.35rem,4.4vw,1.8rem);font-weight:500}
.countdown span{font-size:11.5px;font-weight:500}

/* teks seksyen */
.sec-title small,.dcard small,.gift small,.quote cite{color:var(--c2t);font-weight:500}
.sec-title h2,.sec-title h3,.person h2,.dcard b,.timeline time,.acc,.closing h2{color:var(--c1t)}
.person h2{font-size:clamp(3.2rem,12vw,4.4rem)}
.nf-serif .person h2{font-size:clamp(2rem,7vw,2.8rem);line-height:1.2}
.person p{font-size:1.3rem;font-weight:600;color:var(--ink)}
.hosts{font-size:1.55rem}
.intro{font-size:16.5px}
.salam{font-size:1.35rem}
.fld>span{font-size:13.5px;font-weight:600;color:var(--ink)}
.closing-names{font-size:clamp(3rem,11vw,4.6rem);line-height:1.1}
.closing-names .amp{font-size:.5em;color:var(--c2)}
.nf-serif .closing-names{font-size:clamp(2rem,7vw,3rem);line-height:1.25}

@media (max-width:560px){
  body{font-size:16.5px;line-height:1.75}
  .wrap{padding:0 18px}
  .env-card{padding:58px 16px 36px;border-radius:200px 200px 24px 24px}
  .env-card:after{border-radius:192px 192px 18px 18px}
  .hero-in{padding:80px 16px 120px;width:100%}
  .hero-names{font-size:clamp(3.6rem,17vw,5rem)}
  .countdown div{width:72px}
  .countdown b{font-size:2rem}
  .sec-title h2{font-size:2.5rem}
  .dcard b{font-size:1.75rem}
  .dcard span{font-size:16px}
  .timeline time{font-size:1.1rem}
  .timeline span{font-size:16px}
  .wish p{font-size:16px}
  .doa{font-size:1.35rem}
  .dock span{font-size:10.5px}
}
.nm,.fit{overflow:visible}
.env-names .nm{font-size:1em;color:var(--c1t)}
.hero-names .nm{font-size:1em;color:#fff;margin:0}
.closing-names .nm{font-size:1em;color:var(--c1t)}
.hero-names .nm{text-shadow:0 2px 18px rgba(0,0,0,.28)}
