/* To'y taklifnomasi: nafis, romantik, ortiqcha bezaksiz. Telefon birinchi o'rinda. */
:root{
  --fon:#faf6f1; --qogoz:#fffdfa; --siyoh:#2e2829; --kul:#7c716d; --atirgul:#b07d86; --vino:#7a3b4e;
  --oltin:#c4a46c; --chiziq:rgba(176,125,134,.28); --maydon:#fffaf6;
  --f-sarlavha:"Cormorant Garamond",Georgia,serif; --f-ism:"Great Vibes","Segoe Script",cursive;
  --f-matn:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--fon);color:var(--siyoh);font:16px/1.7 var(--f-matn);-webkit-font-smoothing:antialiased;
  overflow-x:hidden}
body.kirishda{overflow:hidden;height:100svh}
img{max-width:100%;height:auto;display:block}
a{color:var(--vino)}
[hidden]{display:none!important}
.kul{color:var(--kul)}
/* admin to'ldirmagan joy - darrov ko'zga tashlanadi */
.bosh{border-bottom:1.5px dashed var(--atirgul);color:var(--atirgul);font-style:normal}

/* ---------------------------------------------------------------- ovoz tugmasi */
.ovoz-tugma{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:14px;z-index:80;width:46px;height:46px;padding:0;
  display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.35);cursor:pointer;
  background:rgba(30,24,24,.38);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .3s,color .3s}
body:not(.kirishda) .ovoz-tugma{background:rgba(255,253,250,.82);color:var(--vino);border-color:var(--chiziq)}
.ovoz-tugma svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ovoz-tugma .yoq{display:none}
.ovoz-tugma.ochiq .yoq{display:block}
.ovoz-tugma.ochiq .ochiq-emas{display:none}
.ovoz-tugma:focus-visible{outline:2px solid var(--oltin);outline-offset:3px}

/* ---------------------------------------------------------------- kirish ekrani */
.kirish{position:fixed;inset:0;z-index:60;background:#1a1515;overflow:hidden;transition:opacity .8s ease,visibility .8s}
.kirish.tugadi{opacity:0;visibility:hidden}
.kirish canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.osmon{position:absolute;inset:0;background:linear-gradient(180deg,#f2c6b6 0%,#f7dccd 38%,#efd9e4 72%,#fdf3ec 100%)}
#tosh{z-index:3;will-change:transform}
.chaqnash{position:absolute;inset:0;z-index:5;background:#fffaf4;opacity:0;pointer-events:none}
.kirish.chaqnadi .chaqnash{animation:chaqnash .55s ease-out}
@keyframes chaqnash{0%{opacity:0}35%{opacity:.92}100%{opacity:0}}

/* 9:16 kinematografik ramka: telefonda butun ekran, kompyuterda markazda */
.ramka{position:absolute;z-index:4;inset:0;opacity:0;visibility:hidden;overflow:hidden;background:#140f0f;transition:opacity .35s}
@media (min-aspect-ratio:9/16){
  .ramka{inset:auto;top:0;left:50%;width:calc(100svh * 9 / 16);height:100svh;transform:translateX(-50%);box-shadow:0 0 0 100vmax #140f0f}
}
.kirish.kadrda .ramka{opacity:1;visibility:visible}
.ramka video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s}
.ramka video.oynayapti{opacity:1}
.kadr{position:absolute;inset:0;margin:0;display:grid;place-content:center;justify-items:center;gap:22px;opacity:0;
  background:radial-gradient(90% 60% at 50% 45%,#3a2a2a,#140f0f 75%)}
.kadr svg{width:min(56vw,240px);height:auto;fill:none;stroke:#e2c48c;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 0 14px rgba(226,196,140,.35))}
.kadr figcaption{font:500 .78rem/1 var(--f-matn);letter-spacing:.32em;text-transform:uppercase;color:rgba(255,240,225,.75)}
.kadr.faol{opacity:1;animation:kenburns .9s cubic-bezier(.2,.6,.3,1) both}
@keyframes kenburns{from{transform:scale(1.18) rotate(-1.5deg);filter:blur(4px)}to{transform:scale(1);filter:blur(0)}}

.bosish{position:absolute;inset:0;z-index:6;display:grid;place-content:center;justify-items:center;gap:26px;padding:0;border:0;
  background:none;color:#f6e9dc;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .25s}
.kirish.boshlandi .bosish{opacity:0;pointer-events:none}
.qol{position:relative;width:86px;height:86px;display:grid;place-items:center}
.qol svg{position:relative;z-index:1;width:58px;height:58px;fill:none;stroke:#f6e9dc;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
  animation:bosmoq 1.8s ease-in-out infinite;transform-origin:50% 80%}
.tolqin{position:absolute;left:50%;top:22%;width:30px;height:30px;margin-left:-19px;border-radius:50%;border:1.5px solid rgba(246,233,220,.7);
  animation:tolqin 1.8s ease-out infinite}
.tolqin.t2{animation-delay:.45s}
@keyframes bosmoq{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(5px) scale(.94)}60%{transform:translateY(0) scale(1)}}
@keyframes tolqin{0%{transform:scale(.4);opacity:0}35%{opacity:.9}100%{transform:scale(2.6);opacity:0}}
.bosish-matn{font:500 .82rem/1 var(--f-matn);letter-spacing:.28em;text-transform:uppercase;animation:miltillash 2.4s ease-in-out infinite}
@keyframes miltillash{0%,100%{opacity:.55}50%{opacity:1}}
.bosish:focus-visible{outline:none}
.bosish:focus-visible .qol{outline:2px solid var(--oltin);outline-offset:8px;border-radius:50%}
.otkazish{position:absolute;z-index:7;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);
  padding:8px 16px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(20,15,15,.35);color:#fff;
  font:500 .75rem/1 var(--f-matn);letter-spacing:.08em;cursor:pointer}

/* ---------------------------------------------------------------- hero */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;padding:96px 24px 80px;text-align:center;overflow:hidden;
  background:linear-gradient(180deg,#f7e6df 0%,#faf1ec 45%,var(--fon) 100%)}
.hero-fon{position:absolute;inset:0;pointer-events:none}
.nur{position:absolute;border-radius:50%;filter:blur(40px);opacity:.55}
.n1{width:60vmax;height:60vmax;left:-25vmax;top:-20vmax;background:radial-gradient(#f2c9c3,transparent 65%)}
.n2{width:50vmax;height:50vmax;right:-22vmax;top:10vmax;background:radial-gradient(#efd9b8,transparent 65%)}
.n3{width:40vmax;height:40vmax;left:20%;bottom:-22vmax;background:radial-gradient(#e9d3e3,transparent 65%)}
.gulbarg{position:absolute;top:-6%;width:12px;height:9px;border-radius:70% 10% 70% 10%;background:linear-gradient(135deg,#e7b9c0,#cf98a3);
  opacity:0;animation:tushish 14s linear infinite}
.g1{left:8%;animation-delay:0s}.g2{left:22%;animation-delay:3.5s;transform:scale(.8)}.g3{left:40%;animation-delay:7s}
.g4{left:58%;animation-delay:1.5s}.g5{left:74%;animation-delay:5s}.g6{left:88%;animation-delay:9s}.g7{left:50%;animation-delay:11s}
@keyframes tushish{0%{opacity:0;transform:translate(0,0) rotate(0)}10%{opacity:.75}90%{opacity:.6}
  100%{opacity:0;transform:translate(60px,110vh) rotate(540deg)}}
body.kirishda .gulbarg{animation-play-state:paused}
.hero-ichi{position:relative;display:grid;justify-items:center}
.kicker{margin:0 0 22px;font:600 .74rem/1 var(--f-matn);letter-spacing:.34em;text-transform:uppercase;color:var(--atirgul)}
.ismlar{margin:0;display:grid;justify-items:center;font:400 clamp(3.4rem,17vw,5.6rem)/1.02 var(--f-ism);color:var(--vino);
  overflow-wrap:anywhere}
.ismlar>span{padding:0 .15em}
.ismlar em{font:italic 500 .42em/1.3 var(--f-sarlavha);color:var(--oltin)}
.ismlar .bosh{font-size:.5em;font-family:var(--f-sarlavha)}
.hero-sana{margin:26px 0 0;font:500 1.28rem/1.3 var(--f-sarlavha);letter-spacing:.06em;color:var(--siyoh)}
.pastga{position:absolute;bottom:-58px;left:50%;width:1px;height:42px;background:linear-gradient(var(--atirgul),transparent);
  animation:pastga 2.2s ease-in-out infinite}
@keyframes pastga{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.4}50%{transform:scaleY(1);opacity:1}}
/* intro tugagach matn muloyim paydo bo'ladi */
.hero .k{opacity:0;transform:translateY(18px);transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
body.ochildi .hero .k{opacity:1;transform:none}
body.ochildi .hero .ismlar{transition-delay:.25s}
body.ochildi .hero .hero-sana{transition-delay:.6s}
body.ochildi .hero .pastga{transition-delay:1s}

.eslatma{max-width:560px;margin:16px auto 0;padding:14px 18px;border-radius:12px;background:#fff3cd;color:#6b5414;font-size:.9rem}

/* ---------------------------------------------------------------- bo'limlar */
.bolim{max-width:560px;margin:0 auto;padding:60px 24px;text-align:center}
.bolim h2{margin:0 0 26px;font:600 .8rem/1 var(--f-matn);letter-spacing:.32em;text-transform:uppercase;color:var(--vino)}
.bolim h2::after{content:"";display:block;width:36px;height:1px;margin:16px auto 0;background:var(--oltin)}
.bezak{display:block;width:120px;height:14px;margin:0 auto 28px;
  background:linear-gradient(var(--oltin),var(--oltin)) left 50%/44px 1px no-repeat,
             linear-gradient(var(--oltin),var(--oltin)) right 50%/44px 1px no-repeat,
             radial-gradient(circle,var(--oltin) 2.5px,transparent 3px) center/14px 14px no-repeat}
.taklif p{margin:0;font:500 1.42rem/1.6 var(--f-sarlavha);color:var(--siyoh)}
.tasvir{padding-top:10px;padding-bottom:10px}
.tasvir img{width:min(78vw,320px);margin:0 auto}
.kalendar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;max-width:340px;margin:0 auto}
.kalendar span{padding:12px 0;border-block:1px solid var(--chiziq);font:600 .76rem/1.6 var(--f-matn);letter-spacing:.18em;
  text-transform:uppercase;color:var(--kul)}
.kalendar b{font:600 4.6rem/1 var(--f-sarlavha);color:var(--vino)}
.vaqt{margin:20px 0 0;font-size:1.05rem}
.vaqt b{color:var(--vino)}
.toyxona{margin:0;font:600 1.7rem/1.25 var(--f-sarlavha);color:var(--siyoh)}
.manzil .kul{margin:8px 0 0}
.tugmalar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px}
.tugma{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border:0;border-radius:999px;
  background:var(--vino);color:#fff;font:600 .82rem/1 var(--f-matn);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
  cursor:pointer;transition:transform .15s,background-color .2s,opacity .2s}
.tugma:hover{background:#6a3043}
.tugma:active{transform:translateY(1px)}
.tugma:focus-visible{outline:2px solid var(--oltin);outline-offset:3px}
.tugma[disabled]{opacity:.6;pointer-events:none}
.tugma.ikkinchi{background:transparent;color:var(--vino);box-shadow:inset 0 0 0 1px var(--chiziq)}

/* taymer: Kun · Soat · Daqiqa · Soniya */
.soat{display:flex;align-items:flex-start;justify-content:center;gap:6px}
.soat div{display:grid;justify-items:center;min-width:64px}
.soat b{font:600 clamp(2.3rem,11vw,3.2rem)/1 var(--f-sarlavha);color:var(--vino);font-variant-numeric:lining-nums tabular-nums}
.soat span{margin-top:8px;font:600 .68rem/1 var(--f-matn);letter-spacing:.16em;text-transform:uppercase;color:var(--kul)}
.soat i{font:600 1.6rem/1.5 var(--f-sarlavha);font-style:normal;color:var(--oltin)}
.soat b.urdi{animation:urish .5s ease-out}
@keyframes urish{0%{transform:scale(1.12);color:var(--atirgul)}100%{transform:scale(1)}}
.taymer-xabar{margin:22px 0 0;font:500 1.3rem/1.4 var(--f-sarlavha);color:var(--vino)}

/* formalar */
.forma{display:grid;gap:14px;max-width:420px;margin:26px auto 0;text-align:left}
.maydon{display:grid;gap:6px}
.maydon>span{font-size:.82rem;font-weight:600;color:var(--kul)}
.forma input,.forma textarea{width:100%;min-height:50px;padding:12px 16px;border:1px solid var(--chiziq);border-radius:12px;background:var(--maydon);
  color:var(--siyoh);font:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}
.forma textarea{resize:vertical;min-height:110px;line-height:1.55}
.forma input:focus,.forma textarea:focus{outline:none;border-color:var(--atirgul);box-shadow:0 0 0 3px rgba(176,125,134,.18)}
.hisob{justify-self:end;font-size:.75rem;color:var(--kul)}
.tanlov{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tanlov label{position:relative}
.tanlov input{position:absolute;opacity:0;pointer-events:none}
.tanlov span{display:flex;align-items:center;justify-content:center;height:100%;min-height:52px;padding:8px 10px;border:1px solid var(--chiziq);
  border-radius:12px;background:var(--maydon);text-align:center;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.tanlov input:checked+span{background:var(--vino);border-color:var(--vino);color:#fff}
.tanlov input:focus-visible+span{outline:2px solid var(--oltin);outline-offset:2px}
.forma .tugma{width:100%;margin-top:4px}
.tuzoq{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.xato,.xato-matn{margin:0;color:#b3412f;font-size:.9rem}
.tasdiq{display:grid;gap:6px;max-width:420px;margin:26px auto 0;padding:26px 20px;border:1px solid var(--chiziq);border-radius:16px;background:var(--qogoz);
  animation:paydo .6s ease}
.tasdiq b{font:400 2.4rem/1.1 var(--f-ism);color:var(--vino)}
.tasdiq-qator{margin:0;color:#3f7a4f;font-weight:500}
@keyframes paydo{from{opacity:0;transform:translateY(10px)}}

.yakun p{margin:0;font:500 1.35rem/1.5 var(--f-sarlavha)}
.yakun .imzo{margin-top:10px;font:400 2.6rem/1.2 var(--f-ism);color:var(--vino)}

/* tabriklar - sahifaning eng pastida */
.tabriklar{padding-bottom:40px}
.royxat{display:grid;gap:12px;margin-top:30px;text-align:left}
.tabrik{padding:18px 20px;border-radius:14px;background:var(--qogoz);border:1px solid var(--chiziq)}
.tabrik.yangi{animation:paydo .6s ease}
.tabrik p{margin:0;white-space:pre-line;overflow-wrap:anywhere}
.tabrik footer{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-size:.82rem;color:var(--kul)}
.tabrik footer b{color:var(--vino);font-weight:600;overflow-wrap:anywhere}
.tabrik time{white-space:nowrap}
.bosh-royxat{margin-top:22px}
.oxiri{padding:26px 16px calc(30px + env(safe-area-inset-bottom,0px));text-align:center;font-size:.75rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--kul);opacity:.7}

/* aylantirganda ketma-ket ochiladi */
.ochil{opacity:0;transform:translateY(26px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.ochil.korindi{opacity:1;transform:none}

@media (min-width:700px){.bolim{padding:76px 24px}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ochil,.hero .k{transition:none;opacity:1;transform:none}
  .gulbarg,.pastga,.qol svg,.tolqin,.bosish-matn{animation:none}
}

/* ---------------------------------------------------------------- admin paroli sahifasi */
.parol-sahifa{min-height:100svh;display:grid;place-items:center;padding:24px}
.parol-quti{width:100%;max-width:420px;padding:32px 26px;border-radius:18px;background:var(--qogoz);border:1px solid var(--chiziq)}
.parol-quti h1{margin:0 0 10px;font:600 2rem/1.2 var(--f-sarlavha);color:var(--vino)}
