/* Soya — kinematografik tun maketi: nur ustuni, qorong‘i fon, yorug‘ qatorlar. Ranglar manifest sxemasidan. */
.t-soya .inv{background:var(--p1)}
.t-soya body{background:var(--p1)}

/* Nur ustuni — yuqoridan tushadi, sekin nafas oladi */
.t-soya .sy-beam{position:absolute;left:50%;top:-8vh;width:min(680px,150%);height:clamp(600px,120vh,900px);transform:translateX(-50%);z-index:0;pointer-events:none;
  background:linear-gradient(180deg,var(--w1) 0%,var(--w3) 36%,transparent 78%);
  clip-path:polygon(40% 0,60% 0,106% 100%,-6% 100%);filter:blur(16px);opacity:.9;
  animation:sy-breathe 11s ease-in-out infinite}
@keyframes sy-breathe{0%,100%{opacity:.5;transform:translateX(-50%) scaleX(.9)}50%{opacity:1;transform:translateX(-50%) scaleX(1.09)}}
.t-soya .sy-floor{position:absolute;left:50%;top:clamp(400px,70vh,600px);width:min(600px,140%);height:240px;transform:translateX(-50%);z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%,var(--w3),transparent 70%);filter:blur(24px);animation:sy-pool 11s ease-in-out infinite}
@keyframes sy-pool{0%,100%{opacity:.45}50%{opacity:.9}}
.t-soya .sy-vig{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 24%,transparent 30%,rgba(0,0,0,.5) 76%)}

.t-soya .content{padding:0 0 46px;gap:34px;text-align:center}
.t-soya .content>section{padding-inline:24px}
.t-soya .small{font-family:var(--fb);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gl);font-weight:500}

/* Birinchi ekran — ismlar nur markazida */
.t-soya .sy-hero{min-height:clamp(500px,86vh,680px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding-block:120px 46px}
.t-soya .sy-lbl{font-family:var(--fb);font-size:10px;letter-spacing:.46em;text-transform:uppercase;color:var(--tx2);margin-bottom:26px}
.t-soya .names{font-family:var(--fs);font-size:clamp(44px,13vw,66px);line-height:1.16;letter-spacing:.06em;text-transform:uppercase;margin:0;color:var(--tx);text-shadow:0 0 42px rgba(255,255,255,.16)}
.t-soya .names .amp{font-family:var(--fd);font-size:.4em;color:var(--gl);letter-spacing:.1em;margin:6px 0;opacity:.9}
@supports (background-clip:text) or (-webkit-background-clip:text){
  .t-soya .sy-hero .names .n{background-image:linear-gradient(100deg,var(--tx2) 0%,var(--tx) 24%,#fff 42%,var(--tx) 60%,var(--tx2) 100%);background-size:320% 100%;
    -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:sy-shine 9s linear infinite}
}
@keyframes sy-shine{0%{background-position:180% 0}100%{background-position:-120% 0}}
.t-soya .sy-rule{position:relative;height:1px;width:min(320px,74%);margin:26px auto 18px;background:linear-gradient(90deg,transparent,var(--line) 20%,var(--line) 80%,transparent);overflow:visible}
.t-soya .sy-rule i{position:absolute;top:-1px;left:-32%;width:32%;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--gl),transparent);filter:blur(1px);animation:sy-slide 6s ease-in-out infinite}
@keyframes sy-slide{0%{left:-34%;opacity:0}12%{opacity:1}58%{left:102%;opacity:0}100%{left:102%;opacity:0}}
.t-soya .sy-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;font-family:var(--fb);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--tx2)}
.t-soya .sy-meta>span{position:relative;padding-right:16px}
.t-soya .sy-meta>span:not(:last-child):after{content:"";position:absolute;right:0;top:50%;width:4px;height:4px;border-radius:50%;background:var(--gl);transform:translateY(-50%);opacity:.8}
.t-soya .quote{margin:22px auto 0;max-width:30ch;font-family:var(--fd);font-style:normal;font-size:16px;line-height:1.62;color:var(--tx2);letter-spacing:.02em}

/* Salomlashuv */
.t-soya .greeting p{font-family:var(--fd);font-style:normal;font-size:18px;line-height:1.72;color:var(--tx);max-width:34ch;margin:0 auto}
.t-soya .greeting p::first-line{font-family:var(--fs);font-size:26px;letter-spacing:.1em;text-transform:uppercase;line-height:2.1;color:var(--gl)}

/* Sana va sanoq — qorong‘ilikda yorug‘ raqamlar */
.t-soya .datebig{font-family:var(--fn);font-size:44px;letter-spacing:.1em;color:var(--tx);text-shadow:0 0 30px rgba(255,255,255,.14)}
.t-soya .datebig small{font-family:var(--fb);letter-spacing:.3em;color:var(--gl);font-size:11px;margin-top:12px}
.t-soya .cd{gap:0;border-top:1px solid var(--w4);border-bottom:1px solid var(--w4)}
.t-soya .cd div{background:transparent;border:0;border-radius:0;padding:18px 4px 16px;position:relative}
.t-soya .cd div:not(:last-child):after{content:"";position:absolute;right:0;top:22%;bottom:22%;width:1px;background:var(--w4)}
.t-soya .cd b{font-family:var(--fn);font-size:30px;font-weight:500;color:var(--tx)}
.t-soya .cd span{letter-spacing:.22em;color:var(--tx2);font-size:9px}

/* Dastur — qorong‘i fonda yorug‘ qatorlar, chapda yupqa nur chizig‘i */
.t-soya .sy-prog{text-align:left}
.t-soya .sy-ev{list-style:none;margin:18px 0 0;padding:0}
.t-soya .sy-ev li{position:relative;padding:18px 0 20px 22px;border-bottom:1px solid var(--w4)}
.t-soya .sy-ev li:first-child{border-top:1px solid var(--w4)}
.t-soya .sy-ev li:before{content:"";position:absolute;left:0;top:16px;bottom:18px;width:1px;background:linear-gradient(180deg,transparent,var(--gl),transparent)}
.t-soya .sy-t{font-family:var(--fn);font-size:13px;letter-spacing:.2em;color:var(--gl);font-variant-numeric:tabular-nums}
.t-soya .sy-n{font-family:var(--fd);font-size:24px;letter-spacing:.06em;text-transform:uppercase;color:var(--tx);line-height:1.24;margin-top:4px}
.t-soya .sy-a{font-family:var(--fb);font-size:12.5px;line-height:1.55;color:var(--tx2);margin-top:6px}
.t-soya .maps{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}

/* Surat — qora ramkada */
.t-soya .sy-ph{padding:9px;background:#000;border:1px solid var(--line);box-shadow:0 34px 76px rgba(0,0,0,.78)}
.t-soya .sy-ph img{width:100%;height:auto;filter:grayscale(.24) contrast(1.06) brightness(.94)}

/* Umumiy qorong‘i qatlam */
.t-soya .frame{border:1px solid var(--line);background:var(--card);border-radius:2px}
.t-soya .cd div,.t-soya .ev,.t-soya .parents div,.t-soya .note,.t-soya .wi,.t-soya .gift .card,.t-soya .tl .it,.t-soya .next,.t-soya .smp{color:var(--tx)}
.t-soya .parents div,.t-soya .note,.t-soya .wi,.t-soya .gift .card,.t-soya .tl .it,.t-soya .next,.t-soya .smp,.t-soya .ev{background:var(--card);border:1px solid var(--w4);border-radius:2px}
.t-soya .parents .nm,.t-soya .wi .m,.t-soya .tl .h,.t-soya .next b,.t-soya .together{color:var(--tx)}
.t-soya .together{font-family:var(--fn);font-size:64px;letter-spacing:.04em}
.t-soya .together small{font-family:var(--fd);color:var(--gl);letter-spacing:.16em;text-transform:uppercase;font-size:15px}
.t-soya .tl:before{background:linear-gradient(180deg,transparent,var(--gl),transparent);opacity:.7}
.t-soya .tl .it:before{background:var(--gl);box-shadow:0 0 0 3px var(--p1)}
.t-soya .tl .it.up:before{background:var(--p1);border:1px solid var(--gl)}
.t-soya .today{background:transparent;border:1px solid var(--gl);border-radius:2px;color:var(--tx)}
.t-soya .today .big{font-family:var(--fn);color:var(--gl);letter-spacing:.06em}
.t-soya .today .small{color:var(--tx2)}
.t-soya .btn{border-radius:2px;border-color:var(--line);color:var(--tx);font-family:var(--fb);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.t-soya .btn:hover{border-color:var(--gl);color:var(--gl)}
.t-soya .btn.solid{background:var(--gl);color:var(--p1);border-color:var(--gl)}
.t-soya .form input,.t-soya .form select,.t-soya .form textarea{background:rgba(255,255,255,.05);border-color:var(--w4);border-radius:2px;color:var(--tx)}
.t-soya .form ::placeholder{color:var(--tx2);opacity:.9}
.t-soya .seg button{border-radius:2px;border-color:var(--line);color:var(--tx2)}
.t-soya .seg button[aria-pressed="true"]{background:var(--gl);color:var(--p1);border-color:var(--gl)}
.t-soya .ok{color:var(--gl)}
.t-soya .empty{color:var(--tx2)}
.t-soya .closing{font-family:var(--fd);font-size:16px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx2)}
.t-soya .gift .card{font-family:var(--fn);color:var(--gl);letter-spacing:.14em}
.t-soya .music,.t-soya .langs{background:rgba(255,255,255,.07);border-color:var(--line);color:var(--gl)}
.t-soya .langs button{color:var(--tx2)}
.t-soya .langs button[aria-pressed="true"]{background:var(--gl);color:var(--p1)}
.t-soya .smp-b{color:var(--gl);border-color:var(--line)}
.t-soya .smp-n,.t-soya .smp-l a,.t-soya .wm,.t-soya .wm a{color:var(--tx2)}

/* Konvert — qora, oltin muhr */
.t-soya .gate{background:radial-gradient(ellipse at 50% 0%,var(--p2),var(--p1) 68%)}
.t-soya .env-back,.t-soya .env-front,.t-soya .env-flap,.t-soya .env-letter{border-radius:2px}
.t-soya .env-letter{background:var(--p2);box-shadow:0 8px 30px rgba(0,0,0,.6)}
.t-soya .env-letter .names{font-size:24px;letter-spacing:.06em;color:var(--gl);text-shadow:none}
.t-soya .env-letter .env-date{font-family:var(--fn);color:var(--tx2)}
.t-soya .env-letter .small{color:var(--tx2)}
.t-soya .gate-names{font-family:var(--fs);letter-spacing:.08em;text-transform:uppercase;color:var(--tx)}
.t-soya .gate .hint{color:var(--tx2)}
.t-soya .gate-logo{filter:brightness(0) invert(1);opacity:.55}

@media (prefers-reduced-motion:reduce){
  .t-soya .sy-beam,.t-soya .sy-floor,.t-soya .sy-rule i{animation:none}
  .t-soya .sy-hero .names .n{animation:none;background:none;color:var(--tx);-webkit-text-fill-color:currentColor}
}

/* Ichki bloklar kontent chekkasiga tekislansin */
.t-soya .content>section.note{margin-inline:24px;padding:15px 17px}
.t-soya .content>section.smp{margin-inline:24px;padding:18px 16px}

/* Mezbon qatori (ota-onalar nomidan): «Farzandlarimiz» yorlig'i ismlardan oldin, «… nomidan» qatori ismlardan keyin */
.t-soya .host-of{font-family:var(--fb);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--tx2);margin:0 0 6px}
.t-soya .host{font-family:var(--fd);font-size:16px;line-height:1.35;color:var(--tx2);margin:10px 0 0}
.t-soya .host .host-line{color:var(--tx);font-weight:600}
.t-soya .host .host-by{font-family:var(--fb);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.8;margin-left:4px}
.t-soya .host-of{color:var(--tx2)}
.t-soya .host{font-family:var(--fd);font-size:16px}
.t-soya .host .host-line{color:var(--tx);text-shadow:0 0 12px var(--w1)}
