:root{
  --ink:#12224E; --ink-2:#3F4E7B; --ink-3:#77839F;
  --blue:#2B3AD8; --blue-dark:#1F2BA8;
  --violet:#A99BF0; --violet-tint:#F1EEFE; --violet-line:#DED7FB;
  --sky:#8FD0F5; --sky-tint:#E9F5FD;
  --paper:#FFFFFF; --paper-2:#FBFBFE;
  --line:#E6E8F3;
  --ok:#1E9E62; --warn:#C2410C;
  --shadow:0 18px 50px -28px rgba(18,34,78,.45);
  --r:14px;
  --wrap:1180px;
  --sans:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif;
  --body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}
html[dir="rtl"]{--sans:'Vazirmatn',system-ui,sans-serif;--body:'Vazirmatn',system-ui,sans-serif;}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper); color:var(--ink-2);
  font-family:var(--body); font-size:16px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--blue);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{font-family:var(--sans);color:var(--ink);line-height:1.12;margin:0;font-weight:600;letter-spacing:-.02em;}
h1{font-size:clamp(2.4rem,6vw,4.1rem);font-weight:600;}
h2{font-size:clamp(1.7rem,3.6vw,2.6rem);}
h3{font-size:1.22rem;font-weight:600;}
p{margin:0 0 1.05em;}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:6px;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.hidden{display:none !important;}

/* ---------- Header ---------- */
header.site{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.bar{display:flex;align-items:center;gap:18px;height:74px;}
.logo{font-family:var(--sans);font-weight:600;font-size:1.32rem;color:var(--ink);letter-spacing:-.025em;white-space:nowrap;}
.logo:hover{text-decoration:none;color:var(--blue);}
nav.main{margin-inline-start:auto;display:flex;align-items:center;gap:30px;}
nav.main a{color:var(--ink-2);font-size:.97rem;font-family:var(--sans);font-weight:400;padding:6px 0;border-bottom:2px solid transparent;}
nav.main a:hover{color:var(--blue);text-decoration:none;}
nav.main a.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:500;}
.langwrap{position:relative;padding-inline-start:26px;margin-inline-start:4px;border-inline-start:1px solid var(--line);}
.langbtn{background:none;border:0;font-family:var(--sans);font-size:.95rem;color:var(--ink-2);cursor:pointer;display:flex;align-items:center;gap:7px;padding:8px 2px;}
.langbtn svg{width:11px;height:11px;}
.langmenu{position:absolute;inset-inline-end:0;top:46px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;min-width:172px;display:none;}
.langmenu.open{display:block;}
.langmenu button{display:flex;width:100%;gap:10px;align-items:center;background:none;border:0;padding:10px 12px;border-radius:8px;cursor:pointer;font:inherit;font-size:.93rem;color:var(--ink-2);text-align:start;}
.langmenu button:hover{background:var(--violet-tint);color:var(--ink);}
.langmenu button[aria-current="true"]{color:var(--blue);font-weight:600;}
.burger{display:none;margin-inline-start:auto;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer;padding:0;}
.burger span{display:block;width:19px;height:1.8px;background:var(--ink);margin:4px auto;border-radius:2px;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans);font-weight:500;font-size:1rem;padding:15px 30px;border-radius:100px;border:1px solid transparent;cursor:pointer;background:var(--blue);color:#fff;transition:background .18s,color .18s,border-color .18s;}
.btn:hover{background:var(--blue-dark);text-decoration:none;color:#fff;}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line);}
.btn.ghost:hover{background:var(--violet-tint);color:var(--ink);border-color:var(--violet-line);}
.btn.small{padding:10px 20px;font-size:.92rem;}
.btn:disabled{opacity:.45;cursor:not-allowed;}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:64px 0 78px;}
.hero .deco{position:absolute;inset-inline-end:-160px;top:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--violet-tint),var(--sky-tint));z-index:0;}
.hero .wrap{position:relative;z-index:1;}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:70px;align-items:center;}
.hero-art{position:relative;}
.hero-art .frame{box-shadow:var(--shadow);border-radius:4px;overflow:hidden;}
.kicker{font-family:var(--sans);font-size:.82rem;letter-spacing:.16em;color:var(--violet);margin-bottom:18px;text-transform:uppercase;}
.rule{width:64px;height:3px;background:var(--blue);border-radius:2px;margin:26px 0;}
.motto-fa{font-family:'Vazirmatn',sans-serif;direction:rtl;color:var(--ink);font-size:1.12rem;line-height:2.05;margin-bottom:18px;}
.motto{font-style:italic;color:var(--ink-2);font-size:1.02rem;line-height:1.85;max-width:44ch;margin-bottom:32px;}
html[dir="rtl"] .motto{font-style:normal;}

/* ---------- Value row ---------- */
.values{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.values .grid{display:grid;grid-template-columns:repeat(3,1fr);}
.values .cell{padding:42px 30px;text-align:center;border-inline-start:1px solid var(--line);}
.values .cell:first-child{border-inline-start:0;}
.values svg{width:28px;height:28px;stroke:var(--blue);fill:none;stroke-width:1.5;margin:0 auto 14px;}
.values h3{font-size:1.06rem;margin-bottom:5px;}
.values p{font-size:.93rem;color:var(--ink-3);margin:0;}

/* ---------- Sections ---------- */
section.block{padding:84px 0;}
.center{text-align:center;}
.lede{max-width:64ch;margin:20px auto 0;color:var(--ink-2);}
.eyebrow{font-family:var(--sans);color:var(--violet);letter-spacing:.14em;font-size:.78rem;text-transform:uppercase;margin-bottom:14px;}

/* ---------- Newsletter ---------- */
.news{background:var(--violet-tint);border-radius:20px;padding:38px 40px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;}
.news h3{margin-bottom:6px;}
.news p{margin:0;color:var(--ink-2);font-size:.95rem;max-width:46ch;}
.newsform{display:flex;gap:10px;flex-wrap:wrap;}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{
  font:inherit;font-size:.96rem;color:var(--ink);background:#fff;border:1px solid var(--violet-line);border-radius:100px;padding:14px 20px;min-width:240px;}
textarea{border-radius:14px;min-height:120px;width:100%;resize:vertical;line-height:1.6;}
input:focus,textarea:focus,select:focus{border-color:var(--blue);outline:none;}
.formnote{font-size:.85rem;color:var(--ink-3);margin-top:10px;}

/* ---------- Footer ---------- */
footer.site{border-top:1px solid var(--line);padding:46px 0 34px;margin-top:20px;}
.foot{display:flex;flex-wrap:wrap;gap:26px;align-items:flex-start;justify-content:space-between;}
.foot-links{display:flex;flex-wrap:wrap;gap:22px;}
.foot-links a{color:var(--ink-3);font-size:.9rem;}
.foot-links a:hover{color:var(--blue);}
.social{display:flex;gap:14px;}
.social a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--ink);border:1px solid var(--line);}
.social a:hover{background:var(--blue);color:#fff;border-color:var(--blue);}
.social svg{width:17px;height:17px;fill:currentColor;}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:28px;font-size:.82rem;color:var(--ink-3);}
.tagline{font-family:var(--sans);color:var(--ink-3);font-size:.9rem;}

/* ---------- Gallery ---------- */
.gal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;padding-top:56px;}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:34px 0 26px;border-bottom:1px solid var(--line);padding-bottom:14px;}
.filters button{background:none;border:0;font-family:var(--sans);font-size:1rem;color:var(--ink-3);padding:8px 4px;margin-inline-end:24px;cursor:pointer;border-bottom:2px solid transparent;}
.filters button.on{color:var(--blue);border-bottom-color:var(--blue);}
.sorter{margin-inline-start:auto;}
.sorter select{border-radius:10px;padding:9px 14px;min-width:auto;font-size:.9rem;border-color:var(--line);}
.grid-works{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 30px;}
.card{cursor:pointer;background:none;border:0;padding:0;text-align:start;font:inherit;}
.card .thumb{position:relative;overflow:hidden;border-radius:6px;background:var(--paper-2);aspect-ratio:1/1;border:1px solid var(--line);}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.card:hover .thumb img{transform:scale(1.035);}
.card h3{font-size:1.04rem;margin-top:16px;font-weight:500;}
.card .meta{font-size:.9rem;color:var(--ink-3);}
.wm{position:absolute;inset-inline-end:9px;bottom:8px;font-family:var(--sans);font-size:.62rem;letter-spacing:.06em;color:rgba(255,255,255,.92);background:rgba(18,34,78,.35);padding:3px 8px;border-radius:100px;pointer-events:none;}
.empty{border:1px dashed var(--violet-line);border-radius:16px;padding:56px 30px;text-align:center;color:var(--ink-3);background:var(--paper-2);}

/* ---------- Work detail ---------- */
.back{display:inline-flex;gap:9px;align-items:center;color:var(--ink-2);font-family:var(--sans);margin:34px 0 26px;}
.work{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:60px;align-items:start;}
.work-img{position:relative;border:1px solid var(--line);border-radius:6px;overflow:hidden;cursor:zoom-in;box-shadow:var(--shadow);}
.specs{width:100%;border-collapse:collapse;margin:26px 0 30px;}
.specs th,.specs td{text-align:start;padding:12px 0;border-bottom:1px solid var(--line);font-size:.95rem;vertical-align:top;}
.specs th{font-weight:400;color:var(--ink-3);width:42%;font-family:var(--sans);}
.specs td{color:var(--ink);}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-inline-end:8px;}
.dot.off{background:var(--ink-3);}
.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin:6px 0 24px;}
.tabs button{background:none;border:0;font-family:var(--sans);font-size:1rem;color:var(--ink-3);padding:10px 0;cursor:pointer;border-bottom:2px solid transparent;}
.tabs button.on{color:var(--blue);border-bottom-color:var(--blue);}
.desc{max-height:290px;overflow:hidden;position:relative;transition:max-height .35s ease;}
.desc.open{max-height:none;}
.desc:not(.open):after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(transparent,#fff);}
.more{background:none;border:0;color:var(--blue);font-family:var(--sans);font-size:.96rem;cursor:pointer;padding:10px 0;}
.prevnext{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:46px;padding-top:22px;}
.prevnext button{background:none;border:0;font-family:var(--sans);color:var(--ink-2);cursor:pointer;font-size:.97rem;}
.prevnext button:disabled{color:var(--line);}
.comment{border-bottom:1px solid var(--line);padding:16px 0;}
.comment b{color:var(--ink);font-family:var(--sans);font-weight:500;}
.comment span{color:var(--ink-3);font-size:.83rem;margin-inline-start:10px;}

/* ---------- Lightbox ---------- */
.lb{position:fixed;inset:0;background:rgba(10,16,38,.93);z-index:200;display:none;place-items:center;padding:28px;}
.lb.open{display:grid;}
.lb img{max-width:96vw;max-height:88vh;object-fit:contain;transition:transform .25s;cursor:zoom-in;}
.lb img.zoomed{transform:scale(2);cursor:zoom-out;}
.lb .close{position:absolute;top:20px;inset-inline-end:24px;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer;line-height:1;}
.lb .hint{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:rgba(255,255,255,.6);font-size:.85rem;}

/* ---------- About / Contact ---------- */
.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:start;padding-top:56px;}
.quote{background:var(--violet-tint);border-radius:16px;padding:30px 34px;margin:34px 0;color:var(--ink);font-size:1.03rem;line-height:1.85;}
.quote .mark{color:var(--violet);font-size:1.7rem;font-family:var(--sans);line-height:1;}
.quote cite{display:block;margin-top:16px;font-style:normal;color:var(--ink-3);font-size:.88rem;}
.fashion{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px;}
.fashion img{border-radius:12px;border:1px solid var(--line);}
.contact-list{display:grid;gap:14px;margin:28px 0;}
.contact-list a{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:16px 20px;color:var(--ink);}
.contact-list a:hover{border-color:var(--blue);background:var(--paper-2);text-decoration:none;}
.contact-list svg{width:19px;height:19px;fill:currentColor;color:var(--blue);flex:none;}
.contact-list small{display:block;color:var(--ink-3);font-size:.83rem;}
.field{margin-bottom:16px;}
.field label{display:block;font-family:var(--sans);font-size:.9rem;color:var(--ink-2);margin-bottom:7px;}
.field input,.field select{width:100%;}
.legal{max-width:76ch;padding-top:56px;}
.legal h2{margin:38px 0 14px;font-size:1.35rem;}
.legal h1{font-size:clamp(2rem,4.4vw,2.9rem);}
.legal ul{padding-inline-start:20px;}
.legal li{margin-bottom:8px;}
.note{background:var(--sky-tint);border-radius:14px;padding:18px 22px;font-size:.92rem;color:var(--ink-2);border:1px solid #CFE7F8;}
.toast{position:fixed;inset-inline-start:50%;transform:translateX(-50%);bottom:28px;background:var(--ink);color:#fff;padding:14px 24px;border-radius:100px;font-size:.93rem;z-index:300;opacity:0;pointer-events:none;transition:opacity .25s,bottom .25s;}
.toast.show{opacity:1;bottom:38px;}

/* ---------- Cookie banner ---------- */
.cookie{position:fixed;inset-inline-start:22px;bottom:22px;max-width:430px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 26px 60px -22px rgba(18,34,78,.4);padding:26px;z-index:150;display:none;}
.cookie.show{display:block;}
.cookie h3{margin-bottom:8px;font-size:1.08rem;}
.cookie p{font-size:.9rem;color:var(--ink-2);}
.cookie .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.cookie .row .btn{flex:1;padding:12px 16px;font-size:.92rem;}
.switch{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--line);font-size:.92rem;}
.switch input{width:18px;height:18px;accent-color:var(--blue);}

/* ---------- Admin ---------- */
.admin{padding-top:46px;}
.adm-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 28px;}
.adm-tabs button{border:1px solid var(--line);background:#fff;border-radius:100px;padding:9px 20px;font-family:var(--sans);cursor:pointer;color:var(--ink-2);}
.adm-tabs button.on{background:var(--blue);color:#fff;border-color:var(--blue);}
.adm-row{display:flex;gap:16px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:12px;flex-wrap:wrap;}
.adm-row img{width:64px;height:64px;object-fit:cover;border-radius:8px;}
.adm-row .grow{flex:1;min-width:190px;}
.adm-row b{color:var(--ink);font-family:var(--sans);}
.adm-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;border:1px solid var(--line);border-radius:18px;padding:26px;margin-bottom:26px;}
.adm-form .full{grid-column:1/-1;}
.adm-form input,.adm-form select,.adm-form textarea{width:100%;border-radius:10px;min-width:0;}
.badge{font-size:.78rem;padding:3px 10px;border-radius:100px;background:var(--violet-tint);color:var(--blue);font-family:var(--sans);}
.badge.warn{background:#FEF2E7;color:var(--warn);}
.small{font-size:.86rem;color:var(--ink-3);}

@media(max-width:940px){
  .hero-grid,.work,.split{grid-template-columns:1fr;gap:38px;}
  .grid-works{grid-template-columns:repeat(2,1fr);}
  .values .grid{grid-template-columns:1fr;}
  .values .cell{border-inline-start:0;border-top:1px solid var(--line);}
  .values .cell:first-child{border-top:0;}
  .news{grid-template-columns:1fr;}
  .adm-form{grid-template-columns:1fr;}
  nav.main{position:fixed;inset-inline-start:0;inset-inline-end:0;top:74px;background:#fff;flex-direction:column;align-items:flex-start;gap:0;padding:12px 24px 22px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:none;}
  nav.main.open{display:flex;}
  nav.main a{width:100%;padding:14px 0;border-bottom:1px solid var(--line);}
  nav.main a.active{border-bottom-color:var(--line);}
  .langwrap{border:0;padding:6px 0 0;margin:0;width:100%;}
  .langmenu{position:static;box-shadow:none;margin-top:6px;width:100%;}
  .burger{display:block;}
}
@media(max-width:620px){
  .grid-works{grid-template-columns:1fr;gap:26px;}
  .hero{padding:34px 0 50px;}
  section.block{padding:56px 0;}
  .news{padding:26px 22px;}
  .cookie{inset-inline:14px;bottom:14px;max-width:none;padding:22px;}
  .fashion{grid-template-columns:1fr;}
  input,textarea,select{min-width:0;width:100%;}
  .newsform{flex-direction:column;}
}
@media(prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important;}}
