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

.t-oila .inv{background:linear-gradient(180deg,var(--p1),var(--p2))}
.t-oila .wash{position:absolute;inset:0;pointer-events:none;background:var(--gl);opacity:.05;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M30 2l8 20 20 8-20 8-8 20-8-20-20-8 20-8z'/%3E%3Cpath d='M30 14l4 12 12 4-12 4-4 12-4-12-12-4 12-4z'/%3E%3Cpath d='M0 0l12 12M60 0L48 12M0 60l12-12M60 60L48 48'/%3E%3C/g%3E%3C/svg%3E") 0 0/54px 54px repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M30 2l8 20 20 8-20 8-8 20-8-20-20-8 20-8z'/%3E%3Cpath d='M30 14l4 12 12 4-12 4-4 12-4-12-12-4 12-4z'/%3E%3Cpath d='M0 0l12 12M60 0L48 12M0 60l12-12M60 60L48 48'/%3E%3C/g%3E%3C/svg%3E") 0 0/54px 54px repeat}
.t-oila .frame{border:1px solid var(--gl);border-radius:10px;background:var(--card);padding:46px 20px 40px;box-shadow:0 16px 40px rgba(0,0,0,.08);animation:olIn 1s both}
.t-oila .frame:before,.t-oila .frame:after{content:"";position:absolute;left:12px;right:12px;height:12px;background:var(--gl);opacity:.75;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M30 2l8 20 20 8-20 8-8 20-8-20-20-8 20-8z'/%3E%3Cpath d='M30 14l4 12 12 4-12 4-4 12-4-12-12-4 12-4z'/%3E%3Cpath d='M0 0l12 12M60 0L48 12M0 60l12-12M60 60L48 48'/%3E%3C/g%3E%3C/svg%3E") 0 0/12px 12px repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M30 2l8 20 20 8-20 8-8 20-8-20-20-8 20-8z'/%3E%3Cpath d='M30 14l4 12 12 4-12 4-4 12-4-12-12-4 12-4z'/%3E%3Cpath d='M0 0l12 12M60 0L48 12M0 60l12-12M60 60L48 48'/%3E%3C/g%3E%3C/svg%3E") 0 0/12px 12px repeat-x;pointer-events:none}
.t-oila .frame:before{top:10px}
.t-oila .frame:after{bottom:10px}
.t-oila .names{font-size:clamp(38px,10.5vw,50px);font-weight:400;color:var(--gl)}
.t-oila .names .amp{color:var(--tx2)}
.t-oila .greeting p::first-line{font-family:var(--fs);font-size:30px;letter-spacing:0;text-transform:none;line-height:1.6}
@keyframes olIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.t-oila .frame{animation:none}}
