/* Sadaf — Sadaf tovlanishi: sekin jilvalanuvchi pastel fon, marvarid donachali ramka, nozik oltin harflar. Ota-onalar nomidan to'plami; ranglar manifest sxemasidan (--p1…--w4). */
.t-sadaf .small{font-family:var(--fb);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gl);font-weight:500}
.t-sadaf .content{padding:64px 22px 48px;gap:20px}
.t-sadaf .frame{border:1px solid var(--gl);border-radius:22px;background:var(--card);padding:36px 18px 28px}
.t-sadaf .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-sadaf .names .amp{font-family:var(--fd);font-style:italic;font-size:.6em;color:var(--gl);margin:2px 0;line-height:1.2}
.t-sadaf .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-sadaf .hero .host{font-family:var(--fd);font-size:16px;line-height:1.45;color:var(--tx2);margin:12px auto 0;max-width:36ch}
.t-sadaf .hero .host .host-line{color:var(--tx);font-weight:600}
.t-sadaf .hero .host .host-by{font-family:var(--fb);font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.8;margin-left:4px}
.t-sadaf .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-sadaf .pr-photo img{width:100%;height:100%;object-fit:cover}
.t-sadaf .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-sadaf .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-sadaf .pr-date span{font-family:var(--fb);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--tx2)}
.t-sadaf .pr-quote{padding:0 10px}
.t-sadaf .quote{font-family:var(--fd);font-style:italic;font-size:18px;line-height:1.5;color:var(--tx2)}
.t-sadaf .greeting p{font-family:var(--fd);font-style:normal;font-size:18px;line-height:1.62;color:var(--tx)}
.t-sadaf .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-sadaf .datebig{font-family:var(--fn);font-size:42px;letter-spacing:.06em;font-weight:500;color:var(--tx)}
.t-sadaf .datebig small{font-family:var(--fb);font-size:10.5px;letter-spacing:.24em;color:var(--gl);font-weight:500}
.t-sadaf .cd{gap:8px}
.t-sadaf .cd div{background:var(--card);border:1px solid rgba(255,255,255,.85);border-radius:16px;padding:12px 4px}
.t-sadaf .cd b{font-family:var(--fn);font-size:26px;font-weight:500;color:var(--tx)}
.t-sadaf .cd span{font-family:var(--fb);font-size:9px;letter-spacing:.14em;color:var(--tx2)}
.t-sadaf .today{background:var(--gl);color:var(--p1);border-radius:22px}
.t-sadaf .today .big{font-family:var(--fn)}
.t-sadaf .today .small{color:var(--p1);opacity:.85}
.t-sadaf .ev{background:var(--card);border:1px solid rgba(255,255,255,.85);border-radius:16px;text-align:left}
.t-sadaf .ev .t{font-family:var(--fn);font-size:22px;font-weight:500;color:var(--gl)}
.t-sadaf .ev .n{font-family:var(--fd);font-size:19px;font-weight:600;color:var(--tx)}
.t-sadaf .ev .d,.t-sadaf .ev .a{font-family:var(--fb);color:var(--tx2)}
.t-sadaf .parents{gap:10px}
.t-sadaf .parents>div{background:var(--card);border:1px solid rgba(255,255,255,.85);border-radius:16px;padding:14px 10px}
.t-sadaf .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-sadaf .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-sadaf .note{background:var(--card);border:1px solid rgba(255,255,255,.85);border-radius:16px;font-family:var(--fb);text-align:left}
.t-sadaf .btn{border-radius:999px;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-sadaf .btn.solid{background:var(--gl);color:var(--p1)}
.t-sadaf .form input,.t-sadaf .form select,.t-sadaf .form textarea{background:var(--card);color:var(--tx);border:1px solid var(--line);border-radius:12px;font-family:var(--fb)}
.t-sadaf .seg button{border-radius:12px;font-family:var(--fb);font-weight:500;letter-spacing:.04em;color:var(--gl);border-color:var(--gl)}
.t-sadaf .seg button[aria-pressed="true"]{background:var(--gl);color:var(--p1)}
.t-sadaf .wi{background:var(--card);border:1px solid rgba(255,255,255,.85);border-radius:16px}
.t-sadaf .wi .m{font-family:var(--fd)}
.t-sadaf .gift .card{background:var(--card);border:1px solid rgba(255,255,255,.85);border-radius:16px;font-family:var(--fn);font-weight:500;letter-spacing:.1em;color:var(--tx)}
.t-sadaf .closing{font-family:var(--fd);font-style:italic;font-size:19px;color:var(--tx2)}
.t-sadaf .tl .it{background:var(--card);border:1px solid rgba(255,255,255,.85);border-radius:16px}
.t-sadaf .tl .it:before{background:var(--gl);box-shadow:0 0 0 3px var(--p1)}
.t-sadaf .tl .h{font-family:var(--fd);font-weight:600}
.t-sadaf .together{font-family:var(--fn);font-weight:500;color:var(--tx)}
.t-sadaf .together small{font-family:var(--fd);font-style:italic;font-size:22px;letter-spacing:.02em;text-transform:none;color:var(--gl)}
.t-sadaf .next{background:var(--card);border:1px solid rgba(255,255,255,.85);border-radius:16px}
.t-sadaf .next b{font-family:var(--fd);font-weight:600}
.t-sadaf .smp{border-radius:22px}
.t-sadaf .smp-b{border-color:var(--gl);color:var(--gl)}
.t-sadaf .cal{font-family:var(--fd)}
.t-sadaf .cal .dn span.on{color:var(--p1)}
.t-sadaf .gate{background:linear-gradient(180deg,var(--p1),var(--p2))}
.t-sadaf .gate-names{font-family:var(--fs);font-size:26px;letter-spacing:.04em}
.t-sadaf .env-back,.t-sadaf .env-front,.t-sadaf .env-flap{border-radius:22px}
.t-sadaf .env-letter{background:var(--p1);color:var(--tx);border-radius:calc(22px - 2px)}
.t-sadaf .env-letter .names{font-size:22px;letter-spacing:.03em}
.t-sadaf .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-sadaf .music,.t-sadaf .langs{border-color:var(--line)}

.t-sadaf .inv{background:linear-gradient(160deg,var(--w1),var(--p1) 30%,var(--w3) 55%,var(--p1) 75%,var(--w4));background-size:220% 220%;animation:sdShift 20s ease-in-out infinite alternate}
.t-sadaf .wash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.75),transparent 40%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.55),transparent 40%),radial-gradient(circle at 60% 30%,var(--w2),transparent 35%)}
.t-sadaf .frame{border:1px solid rgba(255,255,255,.95);border-radius:22px;background:var(--card);padding:40px 20px 32px;box-shadow:0 0 0 8px rgba(255,255,255,.35),0 24px 50px rgba(0,0,0,.08);backdrop-filter:blur(6px)}
.t-sadaf .frame:before{content:"";position:absolute;inset:-5px;border-radius:27px;padding:5px;background:radial-gradient(circle,#fff 0 2.1px,transparent 2.6px) 0 0/10px 10px;-webkit-mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);-webkit-mask-composite:xor;mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);mask-composite:exclude;pointer-events:none}
.t-sadaf .names{font-size:clamp(40px,11vw,54px);font-weight:400;color:var(--tx)}
.t-sadaf .greeting p::first-line{font-family:var(--fs);font-size:32px;letter-spacing:0;text-transform:none;line-height:1.6}
.t-sadaf .today{color:#fff}
.t-sadaf .today .small{color:#fff}
.t-sadaf .btn.solid{color:#fff}
.t-sadaf .seg button[aria-pressed="true"]{color:#fff}
.t-sadaf .cal .dn span.on{color:#fff}
@keyframes sdShift{from{background-position:0% 0%}to{background-position:100% 100%}}
@media (prefers-reduced-motion:reduce){.t-sadaf .inv{animation:none}}
