/* Yo‘lak — sahifa bo‘ylab uzluksiz yo‘l (punktir iz), bekatlar navbat bilan chapga/o‘ngga, vaqt chiziq ustidagi doirada. */
.t-yolak .inv{background:
  radial-gradient(70% 40% at 88% 4%, var(--w1), transparent 70%),
  radial-gradient(60% 34% at 4% 30%, var(--w3), transparent 72%),
  radial-gradient(80% 40% at 96% 78%, var(--w4), transparent 70%),
  linear-gradient(180deg, var(--p1), var(--p2) 62%, var(--p1));
  background-attachment:scroll}
.t-yolak .small{font-family:var(--fb);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gl);font-weight:600}

/* ---------- Yo‘l boshi: katta doira ---------- */
.t-yolak .yl-start{position:relative;padding:74px 20px 0;text-align:center;z-index:1}
.t-yolak .yl-glow{position:absolute;left:50%;top:40px;width:min(420px,110%);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,var(--w1),transparent 62%);filter:blur(6px);animation:yl-breathe 9s ease-in-out infinite}
.t-yolak .yl-orb{position:relative;width:min(304px,78vw);aspect-ratio:1;margin:0 auto;border-radius:50%;background:var(--card);border:1px solid var(--line);box-shadow:0 22px 60px rgba(0,0,0,.09);display:grid;place-items:center;backdrop-filter:blur(3px)}
.t-yolak .yl-orb:before,.t-yolak .yl-orb:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.t-yolak .yl-orb:before{inset:12px;border:1px solid var(--gl);opacity:.35}
.t-yolak .yl-orb:after{inset:-14px;border:1px dashed var(--gl);opacity:.28;animation:yl-spin 60s linear infinite}
.t-yolak .yl-orb-in{padding:0 26px;display:grid;gap:8px;justify-items:center}
.t-yolak .names{font-family:var(--fd);font-size:clamp(27px,8.6vw,38px);line-height:1.1;font-weight:700;letter-spacing:.005em;margin:0;color:var(--tx)}
.t-yolak .names .n{display:block}
.t-yolak .names .amp{display:block;font-family:var(--fb);font-size:.5em;font-weight:400;color:var(--gl);line-height:1.4;opacity:.8}
.t-yolak .yl-date{font-family:var(--fn);font-size:19px;letter-spacing:.14em;color:var(--gl);font-variant-numeric:tabular-nums}
.t-yolak .yl-meta{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:center;margin:18px auto 0;font-family:var(--fb);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx2)}
.t-yolak .yl-meta>span{position:relative;padding-right:12px}
.t-yolak .yl-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%)}
/* Doiradan yo‘lga tushuvchi bo‘g‘in */
.t-yolak .yl-drop{position:absolute;left:30px;bottom:-1px;width:3px;height:52px;border-radius:3px;background:repeating-linear-gradient(180deg,var(--gl) 0 8px,transparent 8px 15px);opacity:.75}

/* ---------- Yo‘l ---------- */
.t-yolak .content{position:relative;padding:52px 20px 34px 66px;text-align:left;gap:30px;align-items:stretch}
.t-yolak .content:before{content:"";position:absolute;left:30px;top:0;bottom:34px;width:3px;border-radius:3px;
  background:repeating-linear-gradient(180deg,var(--gl) 0 8px,transparent 8px 15px);opacity:.75;transform-origin:top center;animation:yl-draw 2.4s cubic-bezier(.2,.7,.2,1) both}
.t-yolak .content:after{content:"";position:absolute;left:31px;top:0;bottom:34px;width:1px;background:var(--line)}
.t-yolak .content>section{position:relative;margin:0}
/* Bekat belgisi */
.t-yolak .content>section:before{content:"";position:absolute;left:-45px;top:4px;width:15px;height:15px;border-radius:50%;background:var(--p1);border:3px solid var(--gl);box-shadow:0 0 0 5px var(--p1);z-index:1;animation:yl-pop .55s cubic-bezier(.2,1.3,.4,1) both}
.t-yolak .content>section:nth-child(odd):before{background:var(--gl)}
/* Zigzag: juft bekatlar o‘ngga suriladi va ulanish shtrixi bilan bog‘lanadi */
.t-yolak .content>section:nth-child(even){padding-left:22px}
.t-yolak .content>section:nth-child(even):after{content:"";position:absolute;left:-30px;top:11px;width:26px;height:1px;background:var(--gl);opacity:.5}
.t-yolak .content>section:nth-child(1):before{animation-delay:.15s}
.t-yolak .content>section:nth-child(2):before{animation-delay:.3s}
.t-yolak .content>section:nth-child(3):before{animation-delay:.45s}
.t-yolak .content>section:nth-child(4):before{animation-delay:.6s}
.t-yolak .content>section:nth-child(5):before{animation-delay:.75s}
.t-yolak .content>section:nth-child(6):before{animation-delay:.9s}
.t-yolak .content>section:nth-child(7):before{animation-delay:1.05s}
.t-yolak .content>section:nth-child(8):before{animation-delay:1.2s}
.t-yolak .content>section:nth-child(n+9):before{animation-delay:1.35s}
/* Yo‘l nihoyasi — qo‘sh halqa */
.t-yolak .yl-end{position:relative;height:26px}
.t-yolak .yl-end:before{content:"";position:absolute;left:-48px;top:0;width:21px;height:21px;border-radius:50%;background:var(--p1);border:3px solid var(--gl);box-shadow:0 0 0 5px var(--p1);z-index:1}
.t-yolak .yl-end:after{content:"";position:absolute;left:-42px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--gl);z-index:2}

/* ---------- Bloklar ---------- */
.t-yolak .yl-ph{width:min(210px,58%);aspect-ratio:1;overflow:hidden;border-radius:50%;border:1px solid var(--line);box-shadow:0 16px 40px rgba(0,0,0,.1)}
.t-yolak .yl-ph img{width:100%;height:100%;object-fit:cover}
.t-yolak .quote{font-family:var(--fd);font-style:italic;font-size:18px;line-height:1.5;color:var(--tx2);margin:0;padding:0 0 0 14px;border-left:2px solid var(--gl);max-width:32ch}
.t-yolak .greeting{padding:0}
.t-yolak .greeting p{font-family:var(--fb);font-style:normal;font-size:16px;line-height:1.66;color:var(--tx);max-width:36ch}
.t-yolak .greeting p::first-line{font-family:var(--fd);font-weight:700;font-size:22px;line-height:1.9;color:var(--gl)}
.t-yolak .datebig{font-family:var(--fd);font-weight:700;font-size:40px;line-height:1.05;color:var(--tx)}
.t-yolak .datebig small{font-family:var(--fb);font-size:11px;letter-spacing:.2em;color:var(--gl);margin-top:6px}
.t-yolak .cd{grid-template-columns:repeat(4,1fr);gap:6px}
.t-yolak .cd>div{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:12px 2px;text-align:center}
.t-yolak .cd b{font-family:var(--fn);font-size:24px;color:var(--tx)}
.t-yolak .cd span{font-size:9px;letter-spacing:.1em}
.t-yolak .today{border-radius:22px;background:linear-gradient(135deg,var(--gl),var(--tx));text-align:left}
.t-yolak .today .big{font-family:var(--fn)}

/* Dastur — yo‘lning davomi: vaqt chiziqdagi doirada */
.t-yolak .yl-prog{padding-left:0}
.t-yolak .yl-evs{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:26px}
.t-yolak .yl-ev{position:relative;padding:0 0 0 2px}
.t-yolak .yl-node{position:absolute;left:-58px;top:-4px;width:52px;height:52px;border-radius:50%;background:var(--p1);border:2px solid var(--gl);color:var(--gl);
  display:grid;place-items:center;font-family:var(--fn);font-size:13px;letter-spacing:.02em;font-variant-numeric:tabular-nums;box-shadow:0 0 0 6px var(--p1);z-index:2}
.t-yolak .yl-ev-n{font-family:var(--fd);font-weight:700;font-size:21px;line-height:1.2;color:var(--tx)}
.t-yolak .yl-ev-d{font-family:var(--fb);font-size:11.5px;letter-spacing:.06em;color:var(--tx2);margin-top:3px}
.t-yolak .yl-ev-a{font-family:var(--fb);font-size:13px;line-height:1.5;color:var(--tx2);margin-top:5px}
.t-yolak .yl-ev-a b{color:var(--tx);font-weight:600}
.t-yolak .maps{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}

.t-yolak .parents{grid-template-columns:1fr;gap:8px}
.t-yolak .parents>div{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 16px;text-align:left}
.t-yolak .parents .who,.t-yolak .parents .nm{background:transparent;border-radius:0;padding:0}
.t-yolak .parents .who{color:var(--gl);letter-spacing:.2em}
.t-yolak .parents .nm{font-family:var(--fd);font-weight:700;font-size:18px;margin-top:2px}
.t-yolak .note,.t-yolak .wi,.t-yolak .next,.t-yolak .tl .it,.t-yolak .gift .card{border-radius:18px}
.t-yolak .btn{border-radius:999px;font-size:12px;letter-spacing:.08em}
.t-yolak .form input,.t-yolak .form select,.t-yolak .form textarea,.t-yolak .seg button{border-radius:14px}
.t-yolak .row{justify-content:flex-start}
.t-yolak .closing{font-family:var(--fd);font-style:italic;font-size:18px;color:var(--tx2)}
.t-yolak .tl{padding-left:0;margin-top:14px}
.t-yolak .tl:before{display:none}
.t-yolak .tl .it:before{display:none}
.t-yolak .tl .it{border-left:3px solid var(--gl)}
.t-yolak .together{font-family:var(--fd);font-weight:700;font-size:58px}
.t-yolak .together small{font-family:var(--fb);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.t-yolak .smp,.t-yolak .order,.t-yolak .wm{text-align:center}
.t-yolak .smp{border-radius:22px}
/* Konvert */
.t-yolak .gate-names{font-family:var(--fd);font-weight:700;font-size:26px}
.t-yolak .env-back,.t-yolak .env-front,.t-yolak .env-flap{border-radius:18px}
.t-yolak .env-letter{border-radius:14px}
.t-yolak .env-letter .names{font-size:22px}

@keyframes yl-draw{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes yl-pop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
@keyframes yl-spin{to{transform:rotate(360deg)}}
@keyframes yl-breathe{0%,100%{opacity:.55;transform:translateX(-50%) scale(1)}50%{opacity:.9;transform:translateX(-50%) scale(1.06)}}
@media (prefers-reduced-motion:reduce){
  .t-yolak .content:before,.t-yolak .content>section:before,.t-yolak .yl-orb:after,.t-yolak .yl-glow{animation:none}
}
@media (min-width:520px){.t-yolak .content{padding-left:74px}.t-yolak .content:before,.t-yolak .content:after{left:34px}.t-yolak .yl-drop{left:34px}}

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