/* Safir — To‘q ko‘k karta krem fonda: oltin hoshiya, klassik serif, sipo ranglar — rasmiy taklifnoma. Ota-onalar nomidan to'plami; ranglar manifest sxemasidan (--p1…--w4, qo'shimcha o'zgaruvchilar). */
.t-safir .small{font-family:var(--fb);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gl);font-weight:500}
.t-safir .content{padding:64px 22px 48px;gap:20px}
.t-safir .frame{border:1px solid var(--gl);border-radius:8px;background:var(--card);padding:36px 18px 28px}
.t-safir .names{font-family:var(--fs);font-size:clamp(30px,8.6vw,42px);line-height:1.12;letter-spacing:.02em;font-weight:600;color:var(--tx);margin:8px 0 4px}
.t-safir .names .amp{font-family:var(--fd);font-style:italic;font-size:.6em;color:var(--gl);margin:2px 0;line-height:1.2}
.t-safir .hero .host-of{font-family:var(--fb);font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--gl);margin:12px 0 2px}
.t-safir .hero .host{font-family:var(--fd);font-size:16px;line-height:1.45;color:var(--tx2);margin:12px auto 0;max-width:36ch}
.t-safir .hero .host .host-line{color:var(--tx);font-weight:600}
.t-safir .hero .host .host-by{font-family:var(--fb);font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.8;margin-left:4px}
.t-safir .pr-photo{width:150px;height:150px;margin:14px auto 4px;border-radius:50%;overflow:hidden;border:2px solid var(--gl);box-shadow:0 12px 30px rgba(0,0,0,.16)}
.t-safir .pr-photo img{width:100%;height:100%;object-fit:cover}
.t-safir .pr-date{margin:18px auto 0;display:inline-grid;gap:3px;justify-items:center;padding:12px 26px;border-top:1px solid var(--gl);border-bottom:1px solid var(--gl)}
.t-safir .pr-date b{font-family:var(--fn);font-size:28px;letter-spacing:.1em;font-weight:500;color:var(--tx);line-height:1.1;font-variant-numeric:tabular-nums}
.t-safir .pr-date span{font-family:var(--fb);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--tx2)}
.t-safir .pr-quote{padding:0 10px}
.t-safir .quote{font-family:var(--fd);font-style:italic;font-size:18px;line-height:1.5;color:var(--tx2)}
.t-safir .greeting p{font-family:var(--fd);font-style:normal;font-size:18px;line-height:1.62;color:var(--tx)}
.t-safir .greeting p::first-line{font-family:var(--fd);font-size:22px;letter-spacing:.06em;text-transform:uppercase;color:var(--gl);line-height:1.9}
.t-safir .datebig{font-family:var(--fn);font-size:42px;letter-spacing:.06em;font-weight:500;color:var(--tx)}
.t-safir .datebig small{font-family:var(--fb);font-size:10.5px;letter-spacing:.24em;color:var(--gl);font-weight:500}
.t-safir .cd{gap:8px}
.t-safir .cd div{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 4px}
.t-safir .cd b{font-family:var(--fn);font-size:26px;font-weight:500;color:var(--tx)}
.t-safir .cd span{font-family:var(--fb);font-size:9px;letter-spacing:.14em;color:var(--tx2)}
.t-safir .today{background:var(--gl);color:var(--p1);border-radius:8px}
.t-safir .today .big{font-family:var(--fn)}
.t-safir .today .small{color:var(--p1);opacity:.85}
.t-safir .ev{background:var(--card);border:1px solid var(--line);border-radius:8px;text-align:left}
.t-safir .ev .t{font-family:var(--fn);font-size:22px;font-weight:500;color:var(--gl)}
.t-safir .ev .n{font-family:var(--fd);font-size:19px;font-weight:600;color:var(--tx)}
.t-safir .ev .d,.t-safir .ev .a{font-family:var(--fb);color:var(--tx2)}
.t-safir .parents{gap:10px}
.t-safir .parents>div{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 10px}
.t-safir .parents .who{font-family:var(--fb);font-size:9.5px;letter-spacing:.2em;color:var(--gl);background:transparent;border:0;border-radius:0;padding:0;margin-bottom:5px}
.t-safir .parents .nm{font-family:var(--fd);font-size:18px;font-weight:600;line-height:1.3;color:var(--tx);background:transparent;border:0;border-radius:0;padding:0}
.t-safir .note{background:var(--card);border:1px solid var(--line);border-radius:8px;font-family:var(--fb);text-align:left}
.t-safir .btn{border-radius:3px;font-family:var(--fb);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:11px 18px;border-color:var(--gl);color:var(--gl)}
.t-safir .btn.solid{background:var(--gl);color:var(--p1)}
.t-safir .form input,.t-safir .form select,.t-safir .form textarea{background:var(--card);color:var(--tx);border:1px solid var(--line);border-radius:4px;font-family:var(--fb)}
.t-safir .seg button{border-radius:4px;font-family:var(--fb);font-weight:500;letter-spacing:.04em;color:var(--gl);border-color:var(--gl)}
.t-safir .seg button[aria-pressed="true"]{background:var(--gl);color:var(--p1)}
.t-safir .wi{background:var(--card);border:1px solid var(--line);border-radius:8px}
.t-safir .wi .m{font-family:var(--fd)}
.t-safir .gift .card{background:var(--card);border:1px solid var(--line);border-radius:8px;font-family:var(--fn);font-weight:500;letter-spacing:.1em;color:var(--tx)}
.t-safir .closing{font-family:var(--fd);font-style:italic;font-size:19px;color:var(--tx2)}
.t-safir .tl .it{background:var(--card);border:1px solid var(--line);border-radius:8px}
.t-safir .tl .it:before{background:var(--gl);box-shadow:0 0 0 3px var(--p1)}
.t-safir .tl .h{font-family:var(--fd);font-weight:600}
.t-safir .together{font-family:var(--fn);font-weight:500;color:var(--tx)}
.t-safir .together small{font-family:var(--fd);font-style:italic;font-size:22px;letter-spacing:.02em;text-transform:none;color:var(--gl)}
.t-safir .next{background:var(--card);border:1px solid var(--line);border-radius:8px}
.t-safir .next b{font-family:var(--fd);font-weight:600}
.t-safir .smp{border-radius:8px}
.t-safir .smp-b{border-color:var(--gl);color:var(--gl)}
.t-safir .cal{font-family:var(--fd)}
.t-safir .cal .dn span.on{color:var(--p1)}
.t-safir .gate{background:linear-gradient(180deg,var(--p1),var(--p2))}
.t-safir .gate-names{font-family:var(--fs);font-size:26px;letter-spacing:.04em}
.t-safir .env-back,.t-safir .env-front,.t-safir .env-flap{border-radius:8px}
.t-safir .env-letter{background:var(--p1);color:var(--tx);border-radius:calc(8px - 2px)}
.t-safir .env-letter .names{font-size:22px;letter-spacing:.03em}
.t-safir .env-seal{border-color:var(--p1);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.28) 0,var(--gl) 60%,color-mix(in srgb,var(--gl) 70%,#000) 140%)}
.t-safir .music,.t-safir .langs{border-color:var(--line)}

.t-safir .inv{background:linear-gradient(180deg,var(--p1),var(--p2))}
.t-safir .wash{position:absolute;left:0;right:0;top:0;height:460px;pointer-events:none;background:linear-gradient(180deg,var(--w1),transparent)}
.t-safir .frame{background:var(--hb);color:var(--ht);border:1px solid var(--gl);border-radius:8px;padding:42px 20px 34px;box-shadow:0 0 0 6px var(--p1),0 0 0 7px var(--gl),0 22px 44px rgba(0,0,0,.22);animation:sfIn 1s both}
.t-safir .frame:before{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.22);border-radius:4px;pointer-events:none}
.t-safir .frame .names,.t-safir .frame .host .host-line{color:var(--ht)}
.t-safir .frame .host{color:color-mix(in srgb,var(--ht) 70%,transparent)}
.t-safir .frame .quote{color:var(--ht);opacity:.8}
.t-safir .frame .pr-photo{border-color:var(--gl)}
.t-safir .names{text-transform:uppercase;letter-spacing:.1em;font-size:clamp(26px,7.6vw,36px)}
.t-safir .names .amp{text-transform:none;letter-spacing:0}
@keyframes sfIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.t-safir .frame{animation:none}}
