:root{
  color-scheme:dark;
  --bg:#08090c;
  --bg-soft:#0f1116;
  --line:rgba(255,255,255,.08);
  --text:#eef0f4;
  --text-dim:#8b93a3;
  --blue:#3d7dff;
  --blue-soft:color-mix(in srgb, var(--blue) 14%, transparent);
  --blue-hover:color-mix(in srgb, var(--blue) 80%, #fff);
  --glass:rgba(255,255,255,.045);
  --glass-brd:rgba(255,255,255,.09);
  --ink:var(--blue);
  --nav-bg:rgba(8,9,12,.72);
  --hero-ov:linear-gradient(180deg, rgba(6,7,10,.35) 0%, rgba(6,7,10,.55) 45%, var(--bg) 96%), linear-gradient(90deg, rgba(6,7,10,.85) 0%, rgba(6,7,10,.25) 55%, rgba(6,7,10,.15) 100%);
  --hint:rgba(255,255,255,.35);
  --input-bg:rgba(0,0,0,.35);
  --placeholder:#5b6272;
  --ok-fg:#9be7c3;--err-fg:#ffb3b3;--err-line:#ff6b6b;
  --glow:color-mix(in srgb, var(--blue) 34%, transparent);
  --w-bg:rgba(28,30,36,.55);--w-brd:rgba(255,255,255,.12);--w-shadow:0 18px 50px rgba(0,0,0,.45);
  --w-fg:#fff;--w-face:#0b0b0d;--w-ring:rgba(255,255,255,.06);--w-tick:rgba(255,255,255,.28);
  --w-dim:rgba(255,255,255,.55);--w-dim2:rgba(255,255,255,.45);--w-time:rgba(255,255,255,.7);
  --serif-display:'Unbounded', sans-serif;
  --sans:'Manrope', -apple-system, 'Segoe UI', sans-serif;
}
/* Kun rejimi: tugma bilan tanlansa yoki tizim yorug' bo'lsa */
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#f4f6fa;
  --bg-soft:#ffffff;
  --line:rgba(12,16,24,.09);
  --text:#0c1018;
  --text-dim:#586173;
  --glass:rgba(255,255,255,.66);
  --glass-brd:rgba(12,16,24,.1);
  --ink:color-mix(in srgb, var(--blue) 78%, #000);
  --nav-bg:rgba(244,246,250,.8);
  --hero-ov:linear-gradient(180deg, rgba(244,246,250,.55) 0%, rgba(244,246,250,.72) 45%, var(--bg) 96%), linear-gradient(90deg, rgba(244,246,250,.95) 0%, rgba(244,246,250,.62) 55%, rgba(244,246,250,.42) 100%);
  --hint:rgba(12,16,24,.35);
  --input-bg:#fff;
  --placeholder:#9aa1ae;
  --ok-fg:#127a4b;--err-fg:#b42323;--err-line:#e04848;
  --glow:color-mix(in srgb, var(--blue) 20%, transparent);
  --w-bg:rgba(255,255,255,.72);--w-brd:rgba(0,0,0,.06);--w-shadow:0 18px 50px rgba(20,30,60,.16);
  --w-fg:#111;--w-face:#fff;--w-ring:rgba(0,0,0,.08);--w-tick:rgba(0,0,0,.25);
  --w-dim:rgba(0,0,0,.45);--w-dim2:rgba(0,0,0,.4);--w-time:rgba(0,0,0,.6);
}
@media (prefers-color-scheme:light){:root:not([data-theme]){
  color-scheme:light;
  --bg:#f4f6fa;
  --bg-soft:#ffffff;
  --line:rgba(12,16,24,.09);
  --text:#0c1018;
  --text-dim:#586173;
  --glass:rgba(255,255,255,.66);
  --glass-brd:rgba(12,16,24,.1);
  --ink:color-mix(in srgb, var(--blue) 78%, #000);
  --nav-bg:rgba(244,246,250,.8);
  --hero-ov:linear-gradient(180deg, rgba(244,246,250,.55) 0%, rgba(244,246,250,.72) 45%, var(--bg) 96%), linear-gradient(90deg, rgba(244,246,250,.95) 0%, rgba(244,246,250,.62) 55%, rgba(244,246,250,.42) 100%);
  --hint:rgba(12,16,24,.35);
  --input-bg:#fff;
  --placeholder:#9aa1ae;
  --ok-fg:#127a4b;--err-fg:#b42323;--err-line:#e04848;
  --glow:color-mix(in srgb, var(--blue) 20%, transparent);
  --w-bg:rgba(255,255,255,.72);--w-brd:rgba(0,0,0,.06);--w-shadow:0 18px 50px rgba(20,30,60,.16);
  --w-fg:#111;--w-face:#fff;--w-ring:rgba(0,0,0,.08);--w-tick:rgba(0,0,0,.25);
  --w-dim:rgba(0,0,0,.45);--w-dim2:rgba(0,0,0,.4);--w-time:rgba(0,0,0,.6);
}}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:72px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;animation:none!important;}}
body{margin:0;transition:background .3s ease, color .3s ease;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
body.lb-open{overflow:hidden;}
a{color:inherit;}
img{max-width:100%;}
button{font:inherit;color:inherit;}
h1,h2,h3{font-family:var(--serif-display);margin:0;font-weight:600;}
::selection{background:var(--blue);color:#040507;}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px;}
.skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--blue);color:#000;padding:.6rem 1rem;border-radius:0 0 8px 0;}
.skip:focus{left:0;}

.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(1rem,5vw,3rem);}
section{padding:clamp(4rem,10vw,7rem) 0;border-top:1px solid var(--line);}
.eyebrow{color:var(--ink);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin:0 0 .75rem;}
.h2{font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.2;margin-bottom:2rem;}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
.no-js .reveal{opacity:1;transform:none;}

/* nav */
header.nav{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:1rem clamp(1rem,5vw,3rem);background:var(--nav-bg);transition:background .3s;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
}
.brand{font-family:var(--serif-display);font-size:1rem;letter-spacing:.04em;text-decoration:none;font-weight:600;}
nav.links{display:flex;gap:2rem;align-items:center;}
nav.links a{font-size:.92rem;color:var(--text-dim);text-decoration:none;transition:color .2s;}
nav.links a:hover,nav.links a.active{color:var(--text);}
nav.links a.nav-cta{color:var(--text);border:1px solid var(--glass-brd);padding:.45rem 1rem;border-radius:999px;background:var(--glass);}
nav.links a.nav-cta:hover{border-color:var(--blue);}
.nav-toggle{display:none;background:none;border:0;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;}
.nav-toggle span{width:22px;height:2px;background:var(--text);transition:transform .25s, opacity .25s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* hero */
.hero{min-height:92vh;min-height:92svh;display:flex;flex-direction:column;justify-content:center;padding-top:4rem;position:relative;overflow:hidden;border-top:none;}
.hero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 20%;filter:saturate(.9) contrast(1.05);animation:heroZoom 18s ease-out both;}
@keyframes heroZoom{from{transform:scale(1.08);}to{transform:scale(1);}}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:var(--hero-ov);
}
.hero::before{content:"";position:absolute;inset:-20% -10% auto -10%;height:60%;z-index:1;background:radial-gradient(closest-side, var(--blue-soft), transparent 70%);filter:blur(10px);pointer-events:none;}
.hero .wrap{position:relative;z-index:2;width:100%;}
.hero h1{font-size:clamp(2.3rem,7.5vw,5.4rem);line-height:1.02;letter-spacing:-.01em;font-weight:800;overflow-wrap:anywhere;}
.hero h1 .outline{color:transparent;-webkit-text-stroke:1.5px var(--text);}
.hero .role{margin-top:1.1rem;color:var(--text-dim);font-size:clamp(1rem,2.2vw,1.25rem);}
.hero .role b{color:var(--ink);font-weight:600;}
.hero .role i{font-style:normal;margin:0 .45rem;opacity:.6;}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.4rem;}
.hero-counts{display:flex;gap:2.5rem;margin-top:3rem;}
.hero-counts div{display:flex;flex-direction:column;}
.hero-counts strong{font-family:var(--serif-display);font-size:1.8rem;line-height:1;}
.hero-counts span{color:var(--text-dim);font-size:.85rem;margin-top:.35rem;}
.scroll-hint{position:absolute;left:50%;bottom:1.6rem;z-index:2;transform:translateX(-50%);width:24px;height:38px;border:1.5px solid var(--hint);border-radius:14px;}
.scroll-hint span{position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--text);animation:wheel 1.8s ease-in-out infinite;}
@keyframes wheel{0%{opacity:0;transform:translateY(0);}30%{opacity:1;}100%{opacity:0;transform:translateY(12px);}}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.6rem;border-radius:999px;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .25s ease, background .25s ease, border-color .25s ease;border:1px solid transparent;}
.btn-primary{background:var(--blue);color:#040507;}
.btn-primary:hover{transform:translateY(-2px);background:var(--blue-hover);}
.btn-ghost{border-color:var(--glass-brd);background:var(--glass);backdrop-filter:blur(8px);}
.btn-ghost:hover{transform:translateY(-2px);border-color:var(--blue);}

/* about */
.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2rem,6vw,4rem);align-items:start;}
.about-grid .h2{margin-bottom:1.1rem;}
.about-bio{max-width:36rem;font-size:1.05rem;color:var(--text-dim);}
.about-bio p{margin:0 0 1rem;}
.about-bio strong{color:var(--text);}
.stat-card{background:var(--glass);border:1px solid var(--glass-brd);border-radius:18px;padding:1.4rem;backdrop-filter:blur(10px);}
.stat-row{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-top:1px solid var(--line);}
.stat-row:first-child{border-top:none;}
.stat-row span:first-child{color:var(--text-dim);}
.stat-row span:last-child{text-align:right;font-weight:600;}
@media (max-width:800px){.about-grid{grid-template-columns:1fr;}}

/* services */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;}
.service-card{background:var(--glass);border:1px solid var(--glass-brd);border-radius:20px;padding:2rem 1.6rem;backdrop-filter:blur(10px);transition:transform .3s ease, border-color .3s ease;}
.service-card:hover{transform:translateY(-6px);border-color:var(--blue);}
.service-num{font-family:var(--serif-display);color:var(--ink);font-size:.85rem;}
.service-card h3{font-size:1.2rem;margin:.9rem 0 .6rem;}
.service-card p{color:var(--text-dim);margin:0;font-size:.95rem;}

/* portfolio */
.work-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem;}
.filters{display:flex;gap:.4rem;padding:.3rem;border:1px solid var(--glass-brd);border-radius:999px;background:var(--glass);flex-wrap:wrap;}
.filter{border:0;background:none;padding:.55rem 1.1rem;border-radius:999px;cursor:pointer;color:var(--text-dim);font-size:.9rem;font-weight:600;transition:background .2s,color .2s;}
.filter sup{font-size:.7em;opacity:.7;margin-left:.15rem;}
.filter:hover{color:var(--text);}
.filter.active{background:var(--blue);color:#040507;}

.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.work-card{
  position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;padding:0;text-align:left;
  border:1px solid var(--glass-brd);cursor:pointer;background:#0b0d12;display:block;width:100%;color:#fff;
}
.work-card.hide{display:none;}
.work-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.work-card:hover .work-cover{transform:scale(1.06);}
/* YouTube Shorts uchun hqdefault rasmidagi qora chiziqlarni kesish */
.work-card.yt-short .work-cover{inset:auto;left:50%;top:50%;width:237.6%;height:auto;max-width:none;transform:translate(-50%,-50%);}
.work-card.yt-short:hover .work-cover{transform:translate(-50%,-50%) scale(1.06);}
.work-info{position:absolute;left:0;right:0;bottom:0;padding:3rem 1.25rem 1.2rem;background:linear-gradient(0deg, rgba(0,0,0,.85), transparent);display:block;}
.work-cat{font-size:.75rem;color:color-mix(in srgb, var(--blue) 75%, #fff);display:block;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;}
.work-title{font-family:var(--serif-display);font-size:1rem;display:block;line-height:1.3;}
.play-dot,.zoom-dot{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;
  background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;transition:transform .3s ease, background .3s ease;
}
.play-dot::after{content:"";border-left:14px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px;}
.work-card:hover .play-dot{transform:translate(-50%,-50%) scale(1.1);background:var(--blue);}
.zoom-dot{opacity:0;transform:translate(-50%,-50%) scale(.85);}
.zoom-dot::before,.zoom-dot::after{content:"";position:absolute;background:#fff;border-radius:2px;}
.zoom-dot::before{width:18px;height:2px;}
.zoom-dot::after{width:2px;height:18px;}
.work-card:hover .zoom-dot{opacity:1;transform:translate(-50%,-50%) scale(1);}
.empty{padding:3rem;text-align:center;color:var(--text-dim);border:1px dashed var(--glass-brd);border-radius:18px;}
.more-link{margin:2rem 0 0;text-align:center;}
.more-link a{color:var(--ink);text-decoration:none;font-weight:600;}
@media (max-width:900px){.work-grid{grid-template-columns:repeat(2,1fr);gap:1rem;}}
@media (max-width:520px){.work-grid{grid-template-columns:repeat(2,1fr);gap:.6rem;}.work-card{border-radius:12px;}.work-info{padding:2rem .7rem .7rem;}.work-title{font-size:.82rem;}.work-cat{font-size:.65rem;}.play-dot{width:44px;height:44px;}}

/* lightbox */
.lightbox{--text:#eef0f4;--text-dim:#8b93a3;--glass:rgba(255,255,255,.06);--glass-brd:rgba(255,255,255,.14);color:var(--text);position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(4,5,8,.94);backdrop-filter:blur(6px);padding:4rem 4.5rem;}
.lightbox[hidden]{display:none;}
.lb-stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.6);background:#000;}
.lb-video{width:min(100%, calc((100vh - 8rem) * 16 / 9));aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.6);}
.lb-video.short{width:min(100%, calc((100vh - 8rem) * 9 / 16), 420px);aspect-ratio:9/16;}
.lb-video iframe{width:100%;height:100%;border:0;display:block;}
.lb-btn{position:absolute;width:46px;height:46px;border-radius:50%;background:var(--glass);border:1px solid var(--glass-brd);color:var(--text);font-size:1.6rem;line-height:1;cursor:pointer;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;transition:border-color .2s, background .2s;}
.lb-btn:hover{border-color:var(--blue);background:rgba(255,255,255,.08);}
.lb-close{top:1rem;right:1rem;}
.lb-prev{left:1rem;top:50%;transform:translateY(-50%);}
.lb-next{right:1rem;top:50%;transform:translateY(-50%);}
.lb-caption{position:absolute;left:0;right:0;bottom:1rem;text-align:center;color:var(--text-dim);font-size:.9rem;padding:0 4rem;}
.lb-caption b{color:var(--text);font-weight:600;}
@media (max-width:700px){
  .lightbox{padding:3.8rem .75rem 4.5rem;}
  .lb-prev,.lb-next{top:auto;bottom:.8rem;transform:none;}
  .lb-prev{left:.8rem;}.lb-next{right:.8rem;}
  .lb-video{width:100%;}
  .lb-video.short{width:min(100%, calc((100svh - 9rem) * 9 / 16));}
}

/* skills */
.skills-wrap{display:flex;flex-wrap:wrap;gap:.9rem;}
.skill-pill{padding:.8rem 1.3rem;border-radius:999px;background:var(--glass);border:1px solid var(--glass-brd);font-size:.95rem;backdrop-filter:blur(8px);transition:border-color .2s;}
.skill-pill:hover{border-color:var(--blue);}

/* contact */
.contact-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;}
.contact-inner h2{font-size:clamp(1.7rem,5vw,3rem);max-width:26rem;line-height:1.15;}
.contact-links{display:flex;gap:1rem;flex-wrap:wrap;}
.contact-links a{padding:.85rem 1.4rem;border:1px solid var(--glass-brd);border-radius:999px;text-decoration:none;font-size:.92rem;background:var(--glass);backdrop-filter:blur(8px);transition:border-color .25s ease, transform .25s ease;}
.contact-links a:hover{border-color:var(--blue);transform:translateY(-2px);}
.contact-links a.primary{background:var(--blue);color:#040507;border-color:var(--blue);font-weight:600;}

footer{padding:2rem clamp(1rem,5vw,3rem);color:var(--text-dim);font-size:.85rem;text-align:center;border-top:1px solid var(--line);}

@media (max-width:760px){
  .nav-toggle{display:flex;}
  nav.links{position:absolute;top:100%;left:0;right:0;background:var(--bg-soft);flex-direction:column;align-items:stretch;padding:.5rem clamp(1rem,5vw,3rem) 1rem;border-bottom:1px solid var(--line);display:none;gap:0;}
  nav.links.open{display:flex;}
  nav.links a{padding:.8rem 0;border-top:1px solid var(--line);}
  nav.links a:first-child{border-top:none;}
  nav.links a.nav-cta{border:0;border-top:1px solid var(--line);border-radius:0;padding:.8rem 0;background:none;color:var(--ink);}
  .hero-counts{gap:1.8rem;}
}
@media (max-width:520px){.filters{width:100%;justify-content:space-between;}.filter{padding:.5rem .7rem;font-size:.82rem;}}

/* aloqa formasi */
.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,6vw,5rem);align-items:start;}
.contact-side h2{font-size:clamp(1.7rem,4.5vw,2.8rem);line-height:1.15;margin-bottom:2rem;text-wrap:balance;}
.contact-side .contact-links{gap:.7rem;}
.contact-form{background:var(--glass);border:1px solid var(--glass-brd);border-radius:22px;padding:clamp(1.25rem,3.5vw,2.2rem);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:1.1rem;min-width:0;}
.contact-form h3{font-size:1.25rem;}
.form-sub{margin:-.6rem 0 .2rem;color:var(--text-dim);font-size:.95rem;}
.field{display:flex;flex-direction:column;gap:.45rem;}
.field label{font-size:.85rem;font-weight:600;color:var(--text-dim);}
.field input,.field textarea{
  width:100%;padding:.9rem 1rem;border-radius:12px;border:1px solid var(--glass-brd);
  background:var(--input-bg);color:var(--text);font:inherit;font-size:1rem;transition:border-color .2s, box-shadow .2s;
}
.field textarea{resize:vertical;min-height:7.5rem;line-height:1.5;}
.field input::placeholder,.field textarea::placeholder{color:var(--placeholder);}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}
.field.invalid input,.field.invalid textarea{border-color:var(--err-line);}
.field-err{color:var(--err-fg);font-size:.8rem;min-height:0;}
.field-err:empty{display:none;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-btn{align-self:flex-start;border:0;cursor:pointer;}
.form-btn[disabled]{opacity:.6;cursor:wait;transform:none;}
.form-status{padding:.85rem 1rem;border-radius:12px;font-size:.92rem;font-weight:500;border:1px solid;}
.form-status.ok{border-color:rgba(51,194,127,.4);background:rgba(51,194,127,.1);color:var(--ok-fg);}
.form-status.err{border-color:rgba(255,107,107,.4);background:rgba(255,107,107,.08);color:var(--err-fg);}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;}.form-btn{align-self:stretch;justify-content:center;}}

/* ===== iPhone uslubidagi vidjetlar (bosh oyna) ===== */
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(2rem,5vw,4rem);align-items:end;}
.hero-text{min-width:0;}
.hero-widgets{display:flex;gap:clamp(.75rem,1.6vw,1.1rem);padding-bottom:.4rem;}
.widget{
  --ws:clamp(140px,13vw,170px);
  width:var(--ws);height:var(--ws);border-radius:calc(var(--ws) * .225);
  background:var(--w-bg);border:1px solid var(--w-brd);
  backdrop-filter:blur(26px) saturate(1.6);-webkit-backdrop-filter:blur(26px) saturate(1.6);
  box-shadow:var(--w-shadow), inset 0 1px 0 rgba(255,255,255,.08);
  font-family:-apple-system,'SF Pro Display','Manrope',sans-serif;color:var(--w-fg);position:relative;overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), background .3s;
}
.widget:hover{transform:translateY(-4px) scale(1.02);}

/* soat */
.w-clock{display:flex;align-items:center;justify-content:center;}
.face{position:relative;width:86%;aspect-ratio:1;border-radius:50%;background:var(--w-face);box-shadow:inset 0 0 0 1px var(--w-ring);}
.face .num{position:absolute;inset:0;transform:rotate(calc(var(--i) * 30deg));text-align:center;pointer-events:none;}
.face .num b{display:inline-block;margin-top:7%;font-size:calc(var(--ws) * .085);font-weight:600;transform:rotate(calc(var(--i) * -30deg));line-height:1;}
.face .tick{position:absolute;left:50%;top:2.5%;width:1px;height:3.5%;margin-left:-.5px;background:var(--w-tick);transform-origin:50% calc(var(--ws) * .86 * .475);transform:rotate(calc(var(--t) * 6deg));}
.face .city{position:absolute;left:0;right:0;top:30%;text-align:center;font-size:calc(var(--ws) * .062);font-weight:700;letter-spacing:.04em;color:var(--w-dim);}
.face .hand{position:absolute;left:50%;bottom:50%;transform-origin:50% 100%;transform:translateX(-50%) rotate(var(--deg));border-radius:99px;}
.face .hand.h{width:5px;height:27%;background:var(--w-fg);}
.face .hand.m{width:4px;height:39%;background:var(--w-fg);}
.face .hand.s{width:1.5px;height:44%;background:#ff9f0a;}
.face .hand.s::after{content:"";position:absolute;left:50%;top:100%;width:1.5px;height:calc(var(--ws) * .07);transform:translateX(-50%);background:#ff9f0a;}
.face .pin{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#ff9f0a;box-shadow:0 0 0 2px var(--w-face);}
.face .pin::after{content:"";position:absolute;inset:2.5px;border-radius:50%;background:var(--w-face);}

/* kalendar */
.w-cal{padding:calc(var(--ws) * .09) calc(var(--ws) * .08) calc(var(--ws) * .07);display:flex;flex-direction:column;gap:calc(var(--ws) * .035);}
.cal-head{display:flex;justify-content:space-between;align-items:baseline;}
.cal-month{color:#ff453a;font-weight:700;font-size:calc(var(--ws) * .075);letter-spacing:.02em;}
.cal-time{font-weight:600;font-size:calc(var(--ws) * .075);color:var(--w-time);font-variant-numeric:tabular-nums;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;text-align:center;font-size:calc(var(--ws) * .062);font-weight:600;font-variant-numeric:tabular-nums;flex:1;min-height:0;}
.cal-grid span{line-height:1;display:flex;align-items:center;justify-content:center;min-height:0;}
.cal-grid .dn{color:var(--w-dim2);font-size:calc(var(--ws) * .052);font-weight:700;}
.cal-grid .we{color:var(--w-dim);}
.cal-grid .today{background:#ff453a;color:#fff;border-radius:50%;width:calc(var(--ws) * .105);height:calc(var(--ws) * .105);justify-self:center;align-self:center;}

@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;align-items:start;}
  .hero-widgets{padding-bottom:3rem;}
  .widget{--ws:min(42vw,170px);}
}
@media (prefers-reduced-motion:reduce){.widget:hover{transform:none;}}

/* ===== Kun/tun tugmasi ===== */
.nav-actions{display:flex;align-items:center;gap:.6rem;margin-left:1.4rem;}
.theme-btn{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--glass-brd);background:var(--glass);color:var(--text);
  display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;transition:border-color .2s, transform .2s;
}
.theme-btn:hover{border-color:var(--blue);transform:rotate(-12deg);}
.theme-btn svg{position:absolute;width:19px;height:19px;transition:transform .45s cubic-bezier(.2,.8,.2,1), opacity .3s;}
.theme-btn .i-sun{transform:translateY(130%) rotate(-90deg);opacity:0;}
:root[data-theme="light"] .theme-btn .i-sun{transform:none;opacity:1;}
:root[data-theme="light"] .theme-btn .i-moon{transform:translateY(-130%) rotate(90deg);opacity:0;}
@media (max-width:760px){.nav-actions{margin-left:auto;}}

/* ===== Sichqoncha ortidagi glow ===== */
.cursor-glow{
  position:fixed;left:0;top:0;z-index:1;width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;
  background:radial-gradient(circle, var(--glow) 0%, transparent 62%);pointer-events:none;opacity:0;
  transition:opacity .5s ease;will-change:transform;
}
.cursor-glow.on{opacity:1;}
main > section:not(.hero), footer{position:relative;z-index:2;}
@media (hover:none), (pointer:coarse){.cursor-glow{display:none;}}
