@font-face{font-family:Vazirmatn;src:url(Vazirmatn.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--red:#0878eb;--red-d:#0755c8;--brick:#0758b7;--ink:#1c1c21;--mute:#6f6f78;--line:rgba(20,20,30,.1)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow:hidden}
body{font-family:Vazirmatn,system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;color:#fff;-webkit-font-smoothing:antialiased;overflow:hidden;
  background:radial-gradient(1000px 600px at 50% 40%,#073c61 0%,#071b32 55%,#030c1d 100%)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
html[lang=fa] .en,html[lang=en] .fa{display:none}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ---------- viewer chrome ---------- */
.stage{height:100dvh;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:max(10px,env(safe-area-inset-top)) 12px max(10px,env(safe-area-inset-bottom))}
.top{width:100%;max-width:1300px;display:flex;align-items:center;gap:10px}
.top .title{flex:1;text-align:center;line-height:1.35}
.top .title b{display:block;font-size:15px}
.top .title small{font-size:11.5px;opacity:.6}
.tb-btn{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);transition:background .2s}
.tb-btn:hover{background:rgba(255,255,255,.18)}
.tb-btn.txt{font-weight:800;font-size:13px}
.bar{display:flex;align-items:center;gap:8px;padding:6px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}
.bar{direction:ltr}
.bar .arrow{background:var(--red);border-color:var(--red)}
.bar .arrow:hover{background:var(--red-d)}
.pg{min-width:74px;text-align:center;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}
.hint{font-size:11.5px;opacity:.55;transition:opacity .6s;height:16px}
.hint.gone{opacity:0}

/* ---------- the book ---------- */
.book-wrap{width:min(94vw,1300px,calc((100dvh - 150px) * 1.414));transition:transform .6s cubic-bezier(.2,.8,.2,1);display:flex;align-items:center;justify-content:center;flex:1;min-height:0}
/* a closed book sits on one half of the spread — slide it to the centre (mirrored for left-to-right books) */
.book-wrap.closed-front{transform:translateX(25%)}
.book-wrap.closed-back{transform:translateX(-25%)}
html[dir=ltr] .book-wrap.closed-front{transform:translateX(-25%)}
html[dir=ltr] .book-wrap.closed-back{transform:translateX(25%)}
#book{width:100%}
@media (max-width:700px),(max-aspect-ratio:1/1){.book-wrap{width:min(94vw,calc((100dvh - 150px) * .707))}}
.stf__parent{filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}

.page{background:#fff;color:var(--ink);container-type:inline-size;overflow:hidden}
.page .pc{position:relative;height:100%;padding:12cqw 7cqw 9cqw;display:flex;flex-direction:column;gap:2.4cqw;font-size:2.75cqw;line-height:1.75;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ph{position:absolute;z-index:3;top:4.5cqw;inset-inline:7cqw;display:flex;align-items:center;gap:1.6cqw;font-size:1.9cqw;color:var(--mute);letter-spacing:.3cqw;padding-bottom:2cqw;border-bottom:.25cqw solid var(--line)}
.ph img{width:4.4cqw;height:auto}
.ph>span{direction:ltr;font-weight:700}
.ph b{margin-inline-start:auto;color:var(--red);letter-spacing:0;font-size:2.3cqw}
.pf{position:absolute;z-index:3;bottom:3.6cqw;inset-inline:7cqw;display:flex;justify-content:space-between;align-items:center;font-size:1.9cqw;color:var(--mute)}
.pf>span{direction:ltr}
.pf b{width:6cqw;height:6cqw;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:2.2cqw}

h2{font-size:5.6cqw;line-height:1.3;font-weight:900;letter-spacing:-.1cqw}
h2::after{content:"";display:block;width:10cqw;height:.7cqw;border-radius:1cqw;background:var(--red);margin-top:1.6cqw}
h3{font-size:3.3cqw;font-weight:800;color:var(--red-d)}
.lead{font-size:3cqw;color:#3d3d45;font-weight:500}
.note{font-size:2.3cqw;color:var(--mute);border-inline-start:.6cqw solid var(--red);padding-inline-start:2cqw}
.hero{flex:none;height:30cqw;border-radius:2.4cqw;background:#ddd center/cover no-repeat;position:relative;box-shadow:0 2cqw 4cqw -2cqw rgba(0,0,0,.35)}
.hero.sm{height:22cqw}
.hero.top{background-position:center 22%}
.hero.tall{flex:1;min-height:18cqw;height:auto}
.badge{position:absolute;bottom:2cqw;inset-inline-start:2cqw;background:var(--brick);color:#fff;box-shadow:0 1cqw 2cqw -1cqw rgba(0,0,0,.5);font-size:2.1cqw;font-weight:800;padding:.8cqw 2.2cqw;border-radius:99px}
.badge.red{background:#fff;color:var(--brick)}

/* cover — same language as the company's Instagram posts:
   dark stone, brick-red panel with an offset white outline, red "ALIGUDARZ" tab, white logo, underlined URL with chevrons */
.cover .pc,.back .pc{padding:0;gap:0;color:#fff;background:#061631 url(img/granite.jpg) center/cover}
.cover .pc::before,.back .pc::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 70% 30%,transparent 30%,rgba(0,0,0,.55) 100%);pointer-events:none}
.ig-tag{position:absolute;top:7cqw;left:0;z-index:3;background:var(--brick);color:#fff;font-size:3.1cqw;font-weight:600;letter-spacing:.35cqw;direction:ltr;
  padding:1.5cqw 6cqw 1.5cqw 5cqw;border-radius:0 99px 99px 0;box-shadow:0 1.4cqw 3cqw -1cqw rgba(0,0,0,.5);font-family:Vazirmatn,system-ui,sans-serif}
.cv-photo{position:absolute;top:0;left:0;right:0;height:60%;background:#000 center/cover;
  -webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}
.cv-year{position:absolute;top:7.6cqw;right:7cqw;z-index:3;font-size:2.8cqw;font-weight:800;padding:.6cqw 3cqw;border:.3cqw solid rgba(255,255,255,.75);border-radius:99px;backdrop-filter:blur(6px);background:rgba(0,0,0,.25)}
.cv-panel{position:absolute;top:46%;left:9cqw;right:0;z-index:2;background:linear-gradient(135deg,rgba(0,112,208,.97),rgba(3,54,133,.97));
  padding:6cqw 8cqw 6.5cqw 7cqw;border-radius:2.4cqw 0 0 2.4cqw;box-shadow:0 4cqw 8cqw -3cqw rgba(0,0,0,.7);text-align:right}
.cv-panel::after{content:"";position:absolute;top:3cqw;bottom:-3cqw;left:-3cqw;right:4cqw;border:.35cqw solid rgba(255,255,255,.85);border-radius:2.4cqw;pointer-events:none}
.cv-kicker{font-size:2.9cqw;font-weight:600;opacity:.85}
.cover h1{font-size:10.2cqw;line-height:1.15;font-weight:900;margin:.8cqw 0 .4cqw;text-shadow:0 .6cqw 2cqw rgba(0,0,0,.25)}
.cv-en{font-size:6.2cqw;font-weight:900;letter-spacing:.15cqw;direction:ltr;text-align:right;line-height:1.1}
.cv-sub{margin-top:2.4cqw;font-size:2.6cqw;opacity:.85;padding-top:2cqw;border-top:.25cqw solid rgba(255,255,255,.3)}
.cv-foot{position:absolute;left:7cqw;right:7cqw;bottom:7cqw;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:4cqw;direction:ltr}
.cv-foot img{width:30cqw;height:auto}
.cv-url{display:flex;flex-direction:column;align-items:flex-end;gap:1.2cqw;direction:ltr}
.cv-url span,.cv-url a{font-size:2.5cqw;letter-spacing:.1cqw;padding-bottom:.6cqw;border-bottom:.25cqw solid #fff;color:#fff}
.chev{width:12cqw;height:4cqw;fill:none;stroke:#fff;stroke-width:3.4}

/* ===== professional catalog layouts ===== */
/* header sitting on a photo / dark page */
.ph.light{color:rgba(255,255,255,.88);border-bottom-color:rgba(255,255,255,.28)}
.ph.light b{color:#fff}
.dark .pf{color:rgba(255,255,255,.6)}

/* feature page: full-bleed photo, outlined section number, brick title panel with offset frame */
.fx .pc{padding:0;gap:0}
.fx-hero{flex:none;height:46cqw;position:relative;background:#222 center/cover no-repeat}
.fx-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 32%,rgba(0,0,0,0) 70%,rgba(0,0,0,.35) 100%)}
.fx-no{position:absolute;left:6cqw;bottom:11cqw;font:900 17cqw/1 Vazirmatn,system-ui,sans-serif;color:transparent;-webkit-text-stroke:.32cqw rgba(255,255,255,.92);direction:ltr;letter-spacing:-.5cqw}
.fx-title{position:relative;z-index:2;margin:-12cqw 0 0 11cqw;color:#fff;background:linear-gradient(135deg,#077bdb,#06428e);
  padding:3.4cqw 7cqw 3.6cqw 6cqw;border-radius:2.4cqw 0 0 2.4cqw;box-shadow:0 3cqw 6cqw -3cqw rgba(0,0,0,.6)}
.fx-title::after{content:"";position:absolute;top:2.4cqw;bottom:-2.4cqw;left:-2.4cqw;right:4cqw;border:.32cqw solid rgba(0,108,190,.55);border-radius:2.4cqw;pointer-events:none;z-index:-1}
.fx-title small{font-size:2.4cqw;opacity:.85;font-weight:600}
.fx-title h2{font-size:6cqw;color:#fff}
.fx-title h2::after{display:none}
.fx-body{flex:1;min-height:0;padding:4.6cqw 7cqw 12cqw;display:flex;flex-direction:column;gap:2.2cqw}

/* banded page: dark-stone title band across the top */
.banded .pc{padding-top:0}
.band{position:relative;margin:0 -7cqw 1cqw;padding:15cqw 7cqw 5cqw;color:#fff;background:#061631 url(img/granite.jpg) center/cover;display:flex;flex-direction:column;gap:1.4cqw}
.band::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 85% 0,rgba(0,108,190,.35),transparent 60%)}
.band>*{position:relative}
.band .ig-tag{position:absolute;top:auto;bottom:-2.6cqw;left:0}
.band h2{color:#fff}
.band h2::after{background:#0fd4d0}
.band p{font-size:2.6cqw;opacity:.85}

/* ring infographics */
.rings{display:grid;grid-template-columns:repeat(4,1fr);gap:2cqw;margin:.6cqw 0}
.rings.three{grid-template-columns:repeat(3,1fr);padding:0 4cqw}
.ring{display:flex;flex-direction:column;align-items:center;gap:1.1cqw;text-align:center}
.ring-c{width:12.5cqw;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;
  background:radial-gradient(closest-side,#fff 79%,transparent 80%),conic-gradient(from 210deg,#0fd4d0,var(--brick) 55%,#06327a 85%,#0fd4d0);
  box-shadow:0 1.4cqw 3cqw -1.4cqw rgba(0,108,190,.65)}
.ring-c::after{content:"";position:absolute;top:.8cqw;right:2.2cqw;width:1.6cqw;height:1.6cqw;border-radius:50%;background:#fff;box-shadow:0 0 0 .45cqw var(--brick)}
.ring-c b{font-size:3.1cqw;font-weight:900;color:var(--brick);line-height:1}
.ring>span{font-size:2cqw;color:var(--mute);line-height:1.35}
.quote{margin-top:auto;margin-bottom:1cqw;position:relative;color:#fff;background:linear-gradient(135deg,#077bdb,#06428e);font-size:3.2cqw;font-weight:900;text-align:center;
  padding:3cqw 5cqw;border-radius:2.4cqw}
.quote::after{content:"";position:absolute;inset:1.4cqw;border:.25cqw solid rgba(255,255,255,.55);border-radius:1.6cqw}

/* dark stone pages */
.dark .pc{color:#fff;padding:24cqw 7cqw 12cqw;background:#061631 url(img/granite.jpg) center/cover}
.dark .pc::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 70% at 80% 10%,rgba(0,108,190,.28),transparent 60%);pointer-events:none}
.dark .ig-tag{top:13cqw}
.dk-head{position:relative;z-index:1;display:flex;flex-direction:column;gap:1cqw;margin-bottom:2cqw}
.dk-head small{font-size:2.4cqw;opacity:.7;font-weight:600}
.dk-head h2{color:#fff}
.dk-head h2::after{background:#0fd4d0}
.dk-head p{font-size:2.6cqw;opacity:.8}

/* product index tiles (on dark) */
.grid6{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:2.6cqw;flex:1}
.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:2.4cqw 2.8cqw;min-height:22cqw;border-radius:2.2cqw;overflow:hidden;cursor:pointer;
  background:#333 center/cover;box-shadow:0 2cqw 4cqw -2cqw rgba(0,0,0,.8);transition:transform .25s}
.tile::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.15) 60%,rgba(0,0,0,.05) 100%)}
.tile:hover{transform:translateY(-.6cqw)}
.tile>*{position:relative}
.tile i{position:absolute;top:1.6cqw;left:2.4cqw;font:900 7cqw/1 Vazirmatn,system-ui,sans-serif;font-style:normal;color:transparent;-webkit-text-stroke:.25cqw rgba(255,255,255,.9);direction:ltr}
.tile b{font-size:2.9cqw;line-height:1.35;color:#fff}
.tile small{align-self:flex-start;margin-top:.8cqw;font-size:2cqw;font-weight:700;background:var(--brick);color:#fff;padding:.4cqw 2cqw;border-radius:99px}

/* duo page: two magazine rows, photo flush to the page edge */
.duo .pc{padding:13cqw 0 11cqw;gap:3cqw}
.duo-row{flex:1;min-height:0;display:grid;grid-template-columns:46% 1fr}
.duo-row.rev .duo-img{order:2}
/* photo is flush with the page edge; only its inner corners are rounded (logical corners follow the reading direction) */
.duo-img{position:relative;background:#222 center/cover;border-start-end-radius:2.4cqw;border-end-end-radius:2.4cqw}
.duo-row.rev .duo-img{border-radius:0;border-start-start-radius:2.4cqw;border-end-start-radius:2.4cqw}
.duo-img .ig-tag{top:4cqw;font-size:2.4cqw;padding:1.1cqw 4.4cqw 1.1cqw 3.6cqw}
.duo-txt{padding:2cqw 6cqw;display:flex;flex-direction:column;justify-content:center;gap:1.4cqw}
.sec-no{font:900 15cqw/.9 Vazirmatn,system-ui,sans-serif;color:transparent;-webkit-text-stroke:.3cqw var(--brick);direction:ltr;align-self:flex-start}
.duo-txt small{font-size:2.3cqw;color:var(--brick);font-weight:800}
.duo-txt h3{font-size:5cqw;color:var(--ink);font-weight:900;line-height:1.25}
.duo-txt p{font-size:2.6cqw;color:#45454d}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:1cqw;margin-top:.6cqw}
.chips li{font-size:2cqw;font-weight:800;direction:ltr;color:var(--brick);border:.25cqw solid var(--brick);border-radius:99px;padding:.3cqw 2cqw}

/* quality page: circular photos with offset ring */
.orbit{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:space-evenly;gap:2cqw;padding-bottom:3cqw}
.orb{display:grid;grid-template-columns:22cqw 1fr;gap:5cqw;align-items:center}
.orb.rev{grid-template-columns:1fr 22cqw}
.orb.rev i{order:2}
.orb i{position:relative;width:22cqw;aspect-ratio:1;border-radius:50%;background:#333 center/cover;box-shadow:0 0 0 .8cqw var(--brick),0 2cqw 5cqw -1cqw rgba(0,0,0,.8)}
.orb i::after{content:"";position:absolute;inset:-2.6cqw;border-radius:50%;border:.3cqw solid rgba(255,255,255,.55);transform:translate(1.6cqw,1.6cqw)}
.orb i.holo{background-size:cover;background-color:#fff}
.orb h3{font-size:3.7cqw;color:#fff;margin-bottom:.8cqw}
.orb p{font-size:2.55cqw;color:rgba(255,255,255,.8);line-height:1.7}

/* history */
.timeline{list-style:none;display:flex;flex-direction:column;gap:1.8cqw;position:relative;padding-inline-start:16cqw}
.timeline::before{content:"";position:absolute;inset-inline-start:12.4cqw;top:1cqw;bottom:1cqw;width:.4cqw;background:linear-gradient(var(--red),rgba(0,122,230,.15))}
.timeline li{position:relative;font-size:2.6cqw;line-height:1.6}
.timeline li b{position:absolute;inset-inline-start:-16cqw;width:10.5cqw;text-align:center;font-size:2.8cqw;font-weight:900;color:#fff;background:var(--red);border-radius:1.4cqw;padding:.4cqw 0}
.timeline li::after{content:"";position:absolute;inset-inline-start:-4.4cqw;top:1.4cqw;width:2cqw;height:2cqw;border-radius:50%;background:#fff;border:.5cqw solid var(--red)}
.timeline strong{display:block;font-size:2.9cqw}

.ig-box{flex:none;margin-top:auto;margin-bottom:2cqw;position:relative;color:#fff;border-radius:2.4cqw;padding:9cqw 7cqw 5cqw;overflow:hidden;
  background:linear-gradient(120deg,rgba(0,108,190,.92) 0%,rgba(0,108,190,.92) 42%,rgba(20,19,19,.6) 42.2%),#061631 url(img/granite.jpg) center/cover;box-shadow:0 2cqw 5cqw -2cqw rgba(0,0,0,.5)}
.ig-box::after{content:"";position:absolute;inset:2.4cqw;border:.3cqw solid rgba(255,255,255,.55);border-radius:1.8cqw;pointer-events:none}
.ig-box p{font-size:5cqw;font-weight:900;line-height:1.3}
.ig-box small{font-size:2.5cqw;opacity:.85}
.ig-tag.sm{top:3.6cqw;font-size:2.2cqw;padding:1cqw 4cqw 1cqw 3.4cqw}

/* features */
.feats{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1.6cqw}
.feats li{background:#f6f6f8;border-radius:2cqw;padding:1.3cqw 2.2cqw;font-size:2.3cqw;line-height:1.45;color:#4a4a52}
.feats b{display:block;font-size:4cqw;color:var(--red);font-weight:900;line-height:1.3}

/* tables */
.tbl{border-radius:2cqw;overflow:hidden;border:.25cqw solid var(--line)}
.tbl table,.chart table{width:100%;border-collapse:collapse;font-size:2.4cqw;text-align:center}
.tbl th{background:var(--brick);color:#fff;font-weight:700;padding:1.2cqw .6cqw;font-size:2.2cqw;line-height:1.35}
.tbl th small{display:block;opacity:.6;font-weight:500;font-size:1.8cqw;direction:ltr}
.tbl td{direction:ltr;line-height:1.3;padding:1cqw .6cqw;border-top:.2cqw solid var(--line);font-variant-numeric:tabular-nums}
.tbl td:first-child{font-weight:800;direction:ltr}
.tbl tr:nth-child(even) td{background:#fafafb}
.tbl tr.hl td{background:rgba(0,122,230,.08);color:var(--red-d);font-weight:800}
h3.tt{font-size:2.9cqw;color:var(--ink)}

/* split rows */
.split{display:grid;grid-template-columns:30cqw 1fr;gap:3.4cqw;align-items:center}
.split.rev{grid-template-columns:1fr 30cqw}
.split.rev .ph-img{order:2}
.ph-img{aspect-ratio:1;border-radius:2.4cqw;background:#eee center/cover;box-shadow:0 2cqw 4cqw -2.4cqw rgba(0,0,0,.4)}
.ph-img.contain{background-size:contain;background-color:#fff;box-shadow:none}
.split p{font-size:2.6cqw;color:#3d3d45}

/* size chart */
.chart{display:grid;grid-template-columns:1fr 1fr;gap:2.4cqw;align-items:start}
.chart table{font-size:1.9cqw;border:.2cqw solid var(--line);border-radius:1.6cqw;overflow:hidden}
.chart th{background:var(--brick);color:#fff;padding:.9cqw .4cqw;font-size:1.9cqw}
.chart td{padding:.55cqw .4cqw;border-top:.15cqw solid var(--line);line-height:1.35;direction:ltr}
.chart td:last-child{font-size:1.6cqw;color:#55555d}
.chart td i{color:var(--red);font-style:normal;font-weight:700}
.chart tr:nth-child(even) td{background:#fafafb}

/* back cover */
.back .pc{display:flex;flex-direction:column;align-items:center;padding:15cqw 0 7cqw}
.bk-logo{width:40cqw;position:relative;z-index:2}
.bk-panel{position:relative;z-index:2;align-self:stretch;margin:6cqw 0 0 9cqw;background:linear-gradient(135deg,rgba(0,112,208,.96),rgba(3,54,133,.96));
  padding:5cqw 8cqw 4.5cqw 6cqw;border-radius:2.4cqw 0 0 2.4cqw;box-shadow:0 4cqw 8cqw -3cqw rgba(0,0,0,.7)}
.bk-panel::after{content:"";position:absolute;top:3cqw;bottom:-3cqw;left:-3cqw;right:4cqw;border:.35cqw solid rgba(255,255,255,.8);border-radius:2.4cqw;pointer-events:none}
.back h2{font-size:6cqw;color:#fff}
.back h2::after{background:#fff}
.bk-sub{font-size:2.5cqw;opacity:.85;margin-top:1.4cqw}
.bk-list{list-style:none;display:flex;flex-direction:column;margin-top:2cqw}
.bk-list li{display:flex;align-items:baseline;gap:3cqw;font-size:3cqw;padding:1.3cqw 0;border-bottom:.2cqw solid rgba(255,255,255,.18)}
.bk-list li:last-child{border-bottom:0}
.bk-list li>span{flex:none;width:13cqw;opacity:.7;font-size:2.3cqw}
.bk-list a{font-weight:800;direction:ltr;unicode-bidi:isolate;color:#fff}
.bk-list em{font-style:normal;font-size:2.4cqw;line-height:1.6}
.bk-qr{position:relative;z-index:2;margin-top:auto;padding-top:6cqw;display:flex;flex-direction:column;align-items:center;gap:1cqw}
.bk-qr #qr{width:20cqw;height:20cqw;padding:1.4cqw;background:#fff;border-radius:2.4cqw;box-shadow:0 1.4cqw 4cqw -1cqw rgba(0,0,0,.6)}
.bk-qr #qr svg{width:100%;height:100%;display:block}
.bk-qr small{font-size:2.1cqw;opacity:.75}
.back .cv-url{position:relative;z-index:2;align-self:flex-end;margin:3cqw 7cqw 0}

/* web app: install button, suggestion bar, iPhone instructions */
.top .tb-btn#install{background:var(--red);border-color:var(--red)}
.a2hs{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:40;width:min(440px,calc(100% - 24px));
  display:flex;align-items:center;gap:12px;padding:10px 10px 10px 14px;border-radius:18px;background:rgba(28,27,27,.92);border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 40px -12px rgba(0,0,0,.7);animation:a2In .5s cubic-bezier(.2,.8,.2,1)}
.a2hs img{width:44px;height:44px;border-radius:11px;flex:none}
.a2hs div{flex:1;min-width:0;line-height:1.4}
.a2hs b{display:block;font-size:14px}
.a2hs small{font-size:11.5px;opacity:.7}
.a2hs .go{background:var(--red);color:#fff;font-weight:800;font-size:13px;padding:9px 16px;border-radius:12px}
.a2hs .x{opacity:.5;font-size:14px;padding:6px}
@keyframes a2In{from{opacity:0;transform:translate(-50%,20px)}}
.sheet-box.ios{text-align:center;max-width:380px}
.ios-ic{width:64px;height:64px;border-radius:16px;margin:0 auto 10px;display:block;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
.sheet-box.ios ol{text-align:start;margin:12px 0 16px;padding-inline-start:20px;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.6}
.sheet-box.ios ol svg{width:18px;height:18px;vertical-align:-3px;color:#0a84ff}
.sheet-box.ios .ok{width:100%;height:46px;border-radius:13px;background:var(--red);color:#fff;font-weight:800}
/* installed app: room for the status bar */
html.standalone .stage{padding-top:max(14px,env(safe-area-inset-top))}

/* thumbnails sheet */
.sheet{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;z-index:50}
.sheet-box{width:100%;max-width:560px;max-height:85dvh;overflow:auto;background:#fff;color:var(--ink);border-radius:22px;padding:20px}
.sheet-box h3{color:var(--ink);font-size:16px;margin-bottom:12px}
.thumbs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.th{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#f5f5f7;text-align:start;font-size:13.5px;font-weight:600}
.th b{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#fff;color:var(--red);flex:none}
.th.on{background:var(--red);color:#fff}
.th.on b{color:var(--red)}
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:#fff;color:var(--ink);padding:10px 16px;border-radius:12px;font-size:13px;z-index:60}
@media (max-width:480px){.top .title b{font-size:14px}.tb-btn{width:38px;height:38px}.bar{gap:5px}.pg{min-width:60px}}
@media (prefers-reduced-motion:reduce){.book-wrap{transition:none}}

/* ===== English (left-to-right) mirror of the asymmetric pieces ===== */
html[dir=ltr] .cv-panel{left:0;right:9cqw;border-radius:0 2.4cqw 2.4cqw 0;text-align:left;padding:6cqw 7cqw 6.5cqw 8cqw}
html[dir=ltr] .cv-panel::after{left:4cqw;right:-3cqw}
html[dir=ltr] .cv-en{text-align:left;font-size:4.2cqw;letter-spacing:.6cqw;opacity:.9}
html[dir=ltr] .cover h1{font-size:9.4cqw;letter-spacing:-.2cqw}
html[dir=ltr] .fx-title{margin:-12cqw 11cqw 0 0;border-radius:0 2.4cqw 2.4cqw 0;padding:3.4cqw 6cqw 3.6cqw 7cqw}
html[dir=ltr] .fx-title::after{left:4cqw;right:-2.4cqw}
html[dir=ltr] .fx-no{left:auto;right:6cqw}
html[dir=ltr] .bk-panel{margin:6cqw 9cqw 0 0;border-radius:0 2.4cqw 2.4cqw 0;padding:5cqw 6cqw 4.5cqw 8cqw}
html[dir=ltr] .bk-panel::after{left:4cqw;right:-3cqw}
html[dir=ltr] .ig-box{background:linear-gradient(240deg,rgba(0,108,190,.92) 0%,rgba(0,108,190,.92) 42%,rgba(20,19,19,.6) 42.2%),#061631 url(img/granite.jpg) center/cover}
html[dir=ltr] .ig-box p{font-size:4.4cqw}
html[dir=ltr] .ig-box .ig-tag{left:auto;right:0;border-radius:99px 0 0 99px;padding:1cqw 3.4cqw 1cqw 4cqw}
html[dir=ltr] .ig-box{padding:9cqw 7cqw 5.5cqw}
html[dir=ltr] .timeline{gap:1.1cqw}
/* history page: keep timeline + slogan box clear of the footer */
.timeline li{font-size:2.45cqw;line-height:1.5}
.ig-box{padding:8cqw 6.5cqw 4.5cqw}
.ig-box p{font-size:4.6cqw}
html[dir=ltr] .ig-box{padding:8.5cqw 6.5cqw 4.5cqw}
html[dir=ltr] .ig-box p{font-size:4.1cqw}

/* ===== phone page-turner (MiniBook) ===== */
#book.mb{position:relative;width:100%;aspect-ratio:560/792;perspective:3200px}
.mb .page{position:absolute;inset:0;display:none;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  transform-origin:right center;transition:transform .72s cubic-bezier(.4,.1,.25,1);box-shadow:0 18px 40px -12px rgba(0,0,0,.6)}
html[dir=ltr] .mb .page{transform-origin:left center}
.mb .page.cur,.mb .page.under,.mb .page.turn{display:block}
.mb .page.under{z-index:1}
.mb .page.cur{z-index:2}
.mb .page.turn{z-index:3}
/* light falls off as the page lifts toward the spine */
.mb .page::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;z-index:9;
  background:linear-gradient(to left,rgba(0,0,0,.05),rgba(0,0,0,.45))}
html[dir=ltr] .mb .page::after{background:linear-gradient(to right,rgba(0,0,0,.05),rgba(0,0,0,.45))}
.mb.fwd .page.turn::after{animation:mbShade .72s forwards}
.mb.back .page.turn::after{animation:mbShade .72s reverse forwards}
.mb.fwd .page.under::after,.mb.back .page.under::after{animation:mbUnder .72s forwards;background:rgba(0,0,0,.35)}
.mb.back .page.under::after{animation-direction:reverse}
@keyframes mbShade{from{opacity:0}to{opacity:1}}
@keyframes mbUnder{from{opacity:1}to{opacity:0}}

/* ======================================================================
   Motion — entrances play when a page comes into view (.page.in).
   Only transform/opacity are animated; without .motion (no JS / reduced
   motion) every page is simply shown as designed.
   ====================================================================== */
:root{--dx:1;--ease:cubic-bezier(.2,.8,.2,1)}
html[dir=ltr]{--dx:-1}
@property --a{syntax:'<angle>';inherits:false;initial-value:360deg}

@keyframes mvUp{from{opacity:0;transform:translateY(4cqw)}}
@keyframes mvSide{from{opacity:0;transform:translateX(calc(var(--dx) * 18cqw))}}
@keyframes mvSideIn{from{opacity:0;transform:translateX(calc(var(--dx) * -6cqw))}}
@keyframes mvTagL{from{transform:translateX(-105%)}}
@keyframes mvTagR{from{transform:translateX(105%)}}
@keyframes mvFade{from{opacity:0}}
@keyframes mvPop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.06)}100%{opacity:1;transform:none}}
@keyframes mvNum{from{opacity:0;transform:translateY(5cqw) scale(.92);letter-spacing:2cqw}}
@keyframes mvKen{from{transform:scale(1.12)}}
@keyframes mvGrowY{from{transform:scaleY(0)}}
@keyframes mvGrowX{from{transform:scaleX(0)}}
@keyframes mvRing{from{--a:0deg}}
@keyframes mvOrbit{from{transform:translate(1.6cqw,1.6cqw) rotate(-40deg);opacity:0}}
@keyframes mvChev{0%,100%{transform:translateX(0)}50%{transform:translateX(calc(var(--dx) * -1.2cqw))}}
@keyframes mvShine{from{transform:translateX(-120%) skewX(-20deg)}to{transform:translateX(320%) skewX(-20deg)}}

/* photos: slow settle (Ken Burns) */
.motion .page.in .fx-hero,.motion .page.in .cv-photo{transform-origin:center bottom;animation:mvKen 5s var(--ease) both}
.motion .page.in .duo-img{animation:mvFade .9s ease .1s both}
/* red title panels glide in from their page edge; frame follows */
.motion .page.in .fx-title{animation:mvSide .9s var(--ease) .15s both}
.motion .page.in .fx-title::after{animation:mvFade .6s ease .75s both}
.motion .page.in .fx-no,.motion .page.in .sec-no{animation:mvNum 1s var(--ease) .35s both}
.motion .page.in .fx-body>*,.motion .page.in .dk-head,.motion .page.in .band>*:not(.ig-tag){animation:mvUp .7s var(--ease) both;animation-delay:.45s}
.motion .page.in .fx-body>*:nth-child(2){animation-delay:.55s}
.motion .page.in .fx-body>*:nth-child(3){animation-delay:.65s}
.motion .page.in .fx-body>*:nth-child(4){animation-delay:.75s}
.motion .page.in .ig-tag{animation:mvTagL .7s var(--ease) .2s both}
.motion .page.in .ig-box .ig-tag{animation-delay:.9s}
html[dir=ltr].motion .page.in .ig-box .ig-tag{animation-name:mvTagR}
.motion .page.in h2::after{transform-origin:right;animation:mvGrowX .7s var(--ease) .5s both}
html[dir=ltr].motion .page.in h2::after{transform-origin:left}

/* rings: sweep the red arc, pop the badge; numbers count up (JS) */
.ring-c{background:radial-gradient(closest-side,#fff 79%,transparent 80%),conic-gradient(from 210deg,transparent var(--a,360deg),#f1f1f4 0),conic-gradient(from 210deg,#0fd4d0,var(--brick) 55%,#06327a 85%,#0fd4d0)}
.motion .page.in .rings>.ring{animation:mvPop .6s var(--ease) both;animation-delay:calc(.55s + var(--i,0) * .1s)}
.motion .page.in .ring-c{animation:mvRing 1.3s var(--ease) both;animation-delay:calc(.7s + var(--i,0) * .1s)}
.motion .page.in .ring-c::after{animation:mvFade .3s ease both;animation-delay:calc(1.6s + var(--i,0) * .1s)}

/* tables & lists: rows cascade */
.motion .page.in .tbl{animation:mvUp .6s var(--ease) .6s both}
.motion .page.in .tbl tbody tr,.motion .page.in .chart tbody tr{animation:mvSideIn .5s var(--ease) both;animation-delay:calc(.75s + var(--i,0) * .05s)}
.motion .page.in .chart tbody tr{animation-delay:calc(.45s + var(--i,0) * .025s)}
.motion .page.in .chips li,.motion .page.in .bk-list li{animation:mvUp .5s var(--ease) both;animation-delay:calc(.7s + var(--i,0) * .08s)}

/* about: stats + quote */
.motion .page.in .quote{animation:mvUp .7s var(--ease) 1.1s both}

/* history: spine grows, milestones follow */
.motion .page.in .timeline::before{transform-origin:top;animation:mvGrowY 1.2s var(--ease) .3s both}
.motion .page.in .timeline li{animation:mvSideIn .6s var(--ease) both;animation-delay:calc(.45s + var(--i,0) * .14s)}
.motion .page.in .timeline li::after{animation:mvPop .45s var(--ease) both;animation-delay:calc(.55s + var(--i,0) * .14s)}
.motion .page.in .ig-box{animation:mvUp .8s var(--ease) 1.1s both}

/* product index: tiles rise in sequence, light sweeps over each */
.motion .page.in .grid6 .tile{animation:mvUp .6s var(--ease) both;animation-delay:calc(.35s + var(--i,0) * .09s)}
.tile::after{content:"";position:absolute;top:0;bottom:0;left:0;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:translateX(-120%) skewX(-20deg);pointer-events:none}
.motion .page.in .tile::after{animation:mvShine 1.1s ease-out both;animation-delay:calc(.8s + var(--i,0) * .09s)}
.tile{transition:transform .35s var(--ease),box-shadow .35s}
.tile:hover{transform:translateY(-.8cqw) scale(1.02);box-shadow:0 3cqw 5cqw -2cqw rgba(0,0,0,.9)}

/* wet/dry: text blocks */
.motion .page.in .duo-txt>*:not(.sec-no){animation:mvUp .6s var(--ease) both;animation-delay:.5s}
.motion .page.in .duo-row.rev .duo-txt>*:not(.sec-no){animation-delay:.8s}

/* quality: round photos roll in, outline orbits into place */
.motion .page.in .orb{animation:mvUp .7s var(--ease) both;animation-delay:calc(.4s + var(--i,0) * .18s)}
.motion .page.in .orb i::after{animation:mvOrbit 1s var(--ease) both;animation-delay:calc(.7s + var(--i,0) * .18s)}

/* covers */
.motion .page.in .cv-panel{animation:mvSide 1s var(--ease) .25s both}
.motion .page.in .cv-panel::after{animation:mvFade .7s ease 1s both}
.motion .page.in .cv-panel>*{animation:mvUp .7s var(--ease) both;animation-delay:.6s}
.motion .page.in .cover h1{animation-delay:.7s}
.motion .page.in .cv-panel>*:nth-child(3){animation-delay:.8s}
.motion .page.in .cv-panel>*:nth-child(4){animation-delay:.9s}
.motion .page.in .cv-year,.motion .page.in .cv-foot,.motion .page.in .bk-logo{animation:mvFade 1s ease .9s both}
.motion .page.in .bk-panel{animation:mvSide .9s var(--ease) .3s both}
.motion .page.in .bk-qr{animation:mvPop .6s var(--ease) 1.1s both}
.motion .page.in .chev{animation:mvChev 1.8s ease-in-out 1.5s infinite}
@media (prefers-reduced-motion:reduce){.motion *{animation:none!important}}

/* Persian: logo on the right, address + arrows (pointing left) on the left */
html[dir=rtl] .cv-foot{direction:rtl}
html[dir=rtl] .cv-url{align-items:flex-start}

/* ===== ambient photo drift while reading: slow, small, transform-only ===== */
.has-move{overflow:hidden}
.ph-move{position:absolute!important;inset:0;z-index:0!important;background-repeat:no-repeat;border-radius:inherit;will-change:transform;pointer-events:none}
.fx-hero::before{z-index:1}
.fx-hero>.fx-no{z-index:2}
.tile::before{z-index:1}
.tile>*:not(.ph-move){z-index:2}
.tile::after{z-index:2}
.duo-img>.ig-tag{z-index:2}
@keyframes mvDrift{
  0%{transform:scale(1.02) translate(0,0)}
  50%{transform:scale(1.06) translate(calc(var(--sx,1) * 1.2%),-.8%)}
  100%{transform:scale(1.04) translate(calc(var(--sx,1) * -1%),.6%)}}
.motion .page.in .ph-move{animation:mvDrift var(--d,20s) ease-in-out 1.2s infinite alternate}
.motion .page.in .tile .ph-move{animation-duration:calc(var(--d,20s) * 1.3)}
/* Persian back cover: address on the right, arrows pointing right */
html[dir=rtl] .back .cv-url{align-self:flex-start;align-items:flex-end}
@keyframes mvChevR{0%,100%{transform:translateX(0)}50%{transform:translateX(1.2cqw)}}
html[dir=rtl].motion .back.in .chev{animation-name:mvChevR}
/* English back cover: mirror of the Persian one — address on the left, arrows pointing left */
html[dir=ltr] .back .cv-url{align-self:flex-start;align-items:flex-start}
@keyframes mvChevL{0%,100%{transform:translateX(0)}50%{transform:translateX(-1.2cqw)}}
html[dir=ltr].motion .back.in .chev{animation-name:mvChevL}

/* Microsite content, original catalog visual system retained. */
.wordmark{position:relative;display:flex;align-items:center;gap:2cqw;z-index:2;direction:ltr}.wordmark img{width:15cqw!important;height:10cqw;object-fit:contain;background:#fff;border-radius:1cqw;padding:1cqw}.wordmark strong{font-size:4cqw;line-height:1.3;letter-spacing:.2cqw}.wordmark strong span{display:block;font-size:1.3cqw;letter-spacing:.15cqw}.back>.pc>.wordmark{margin:0 auto 2cqw}.cover-web{background:radial-gradient(ellipse at 50% 20%,#6f2528,#030c1d 75%)}.cover-browser{position:absolute;inset:15% 8% 0;border:.3cqw solid #ffffff44;border-radius:2cqw;background:linear-gradient(135deg,#2c262d,#101018);transform:rotate(-8deg);overflow:hidden;box-shadow:0 4cqw 10cqw #0009}.browser-dots{font-size:2cqw;color:#0878eb;padding:1.6cqw;border-bottom:.2cqw solid #ffffff22;direction:ltr}.browser-dots span{float:right;color:#aaa}.cover-browser>img{position:absolute;right:0;bottom:0;width:62%;height:85%;object-fit:contain;opacity:.85}.cover-browser>b{position:absolute;left:6%;top:23%;font:900 9cqw/1.1 system-ui;color:#fff;letter-spacing:-.5cqw;direction:ltr;text-shadow:0 1cqw 3cqw #0008}.digital-art{background-size:contain;background-repeat:no-repeat;background-color:#17131a}.service-list{display:flex;flex-direction:column;justify-content:space-around;flex:1;padding-bottom:3cqw;gap:2cqw}.service-list>div{display:flex;gap:3cqw;border-bottom:.2cqw solid #ffffff25;padding-bottom:2cqw}.service-list>div>b{font-size:7cqw;line-height:1.2;color:transparent;-webkit-text-stroke:.2cqw #29ceef}.service-list h3{font-size:3.7cqw;color:#fff}.service-list p{color:#ddd;font-size:2.5cqw}.portfolio-index{flex:1}.portfolio-index .tile{background-color:#242127;background-position:top;background-size:cover;min-height:22cqw}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:3cqw 2.6cqw;flex:1;min-height:0;margin-top:1cqw;margin-bottom:2cqw}.project-card{display:flex;flex-direction:column;min-width:0;align-self:start}.project-image{height:25cqw;overflow:hidden;position:relative;background:linear-gradient(135deg,#302633,#1a1a20);border-radius:1.5cqw;box-shadow:0 1cqw 2cqw #0002}.project-image img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 2s}.project-card:hover img{transform:scale(1.06)}.project-image>span{position:absolute;bottom:1cqw;right:1cqw;background:var(--brick);padding:.3cqw 1.4cqw;color:#fff;font-size:1.8cqw;border-radius:99px}.project-image>b{position:absolute;left:1cqw;bottom:1cqw;display:grid;place-items:center;width:4cqw;height:4cqw;background:white;color:var(--brick);border-radius:50%}.project-card h3{font-size:3.2cqw;margin-top:1cqw;line-height:1.4}.project-card p{font-size:2.15cqw;line-height:1.5;color:#555}.project-card>small{font:500 1.9cqw/1.6 system-ui;color:#888;text-align:start;margin-top:.4cqw}.project-grid.six{gap:1.8cqw 2.4cqw}.six .project-image{height:17cqw}.six .project-card h3{font-size:2.7cqw;margin-top:.6cqw}.six .project-card p{font-size:1.9cqw}.portfolio .band{padding-bottom:4cqw}.portfolio .band h2{font-size:5cqw}.plans{flex:1;display:flex;flex-direction:column;gap:2cqw;margin-top:2cqw}.plan{position:relative;border:.25cqw solid #ddd;border-radius:2cqw;padding:2.4cqw 4cqw;background:#fafafa}.plan>b{float:left;font-size:7cqw;color:#c6e4f5;line-height:1}.plan h3{font-size:4cqw}.plan ul{padding-inline-start:3cqw;font-size:2.4cqw;color:#555}.plan a{display:block;font-weight:800;font-size:2.5cqw;color:var(--brick);margin-top:1cqw}.sheet-close{float:left;color:#555;background:#eee;width:30px;height:30px;border-radius:50%}.back .bk-list a{font-size:2.9cqw}.back .bk-panel{margin-top:5cqw}.motion .page.in .project-card,.motion .page.in .service-list>div,.motion .page.in .plan{animation:mvUp .7s var(--ease) both;animation-delay:calc(.3s + var(--i,0)*.09s)}.motion .page.in .cover-browser{animation:mvFade 1.4s both}.pf{pointer-events:none}.page a:focus-visible,.page button:focus-visible{outline:.6cqw solid #0878eb;outline-offset:.6cqw}@media print{html,body{height:auto;overflow:visible}.top,.bar,.hint,.sheet,.a2hs{display:none}.stage,.book-wrap,#book{display:block!important;height:auto!important;transform:none!important;width:100%!important}.page{display:block!important;position:relative!important;width:210mm!important;height:297mm!important;break-after:page;transform:none!important}.page .pc{height:100%}.stf__wrapper,.stf__block{display:contents!important}}

/* Keep all three plan summaries and the contact note clear of the folio. */
.plans{flex:0;gap:1.5cqw;margin-top:1cqw}.plan{padding:1.5cqw 3cqw}.plan h3{font-size:3.6cqw}.plan ul{font-size:2.3cqw;line-height:1.55}.plan a{margin-top:.5cqw;font-size:2.3cqw}.plans+.note{font-size:2.1cqw;line-height:1.5}


/* Autumn edition — logo palette and chapter layouts. */
:root{--red:#0878eb;--red-d:#0755c8;--brick:#0758b7;--ink:#102940;--line:rgba(6,64,105,.12)}body{background:radial-gradient(ellipse at 50% 35%,#084360 0%,#071b32 48%,#030c1d 100%)}.cover .pc,.back .pc,.band,.dark .pc{background-image:radial-gradient(ellipse at 80% 10%,#075f8555,transparent 55%),linear-gradient(150deg,#092748,#041126)}.ig-box{background:linear-gradient(120deg,#086ed3 0%,#064799 42%,#061631 42.2%)}.fx-title{background:linear-gradient(125deg,#087cdd,#053f90)}.cv-panel,.bk-panel{background:linear-gradient(125deg,#087bdbf5,#053a8ff5)!important}.new-cover-art{height:58%;background:radial-gradient(ellipse at 40% 30%,#085e83,#06152e 80%);mask-image:linear-gradient(#000 80%,transparent);-webkit-mask-image:linear-gradient(#000 80%,transparent)}.logo-plaque{position:absolute;width:55cqw;height:55cqw;top:13cqw;left:22.5cqw;z-index:2;background:white;border-radius:5cqw;box-shadow:0 0 0 .5cqw #ffffff30,0 5cqw 12cqw #0007;overflow:hidden;transform:rotate(-4deg)}.logo-plaque img{width:100%;height:100%;object-fit:contain}.cover-orbit{position:absolute;border:.3cqw solid #15d1db55;border-radius:50%;width:90cqw;height:90cqw;left:5cqw;top:2cqw;transform:rotate(-22deg) scaleY(.6)}.cover-orbit.o2{transform:rotate(37deg) scaleY(.6)}.cover .cv-panel{top:51%}.cover .cv-en{font-size:5.2cqw;letter-spacing:0;direction:inherit}.cover-festival{font-size:3.8cqw;font-weight:900;color:#64f4e2}.cover-festival small{display:block;font-size:2.2cqw;color:#d9f8ff;font-weight:500;margin-top:.4cqw}.cv-foot{bottom:6cqw}.revised-index{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2cqw;flex:1;margin:2cqw 0 1cqw}.revised-index .tile{min-height:0;border-radius:2cqw;background-position:top;background-size:cover}.revised-index .tile b{font-size:2.8cqw!important;line-height:1.5}.revised-index .tile small{font-size:2cqw!important}.project-image{background:#eaf6fc}.project-image img{background:#fff;object-position:top}.project-card h3{color:#0754ad}.three-cards .project-card:first-child{grid-column:1/-1}.three-cards .project-card:first-child .project-image{height:31cqw}.three-cards .project-card:first-child h3{font-size:3.8cqw}.two-cards{grid-template-columns:1fr;gap:3cqw}.two-cards .project-image{height:32cqw}.two-cards .project-card h3{font-size:3.8cqw}.two-cards .project-card p{font-size:2.5cqw}.portfolio .band h2{font-size:5.2cqw}.festival-page .pc{padding-top:20cqw;gap:3cqw}.festival-intro h2{font-size:8cqw;color:#fff;margin:2cqw 0}.festival-intro>small{font-size:2.5cqw;color:#62e9e0}.festival-intro>p{font-size:3cqw;color:#d2e7f3;margin-top:3cqw}.festival-deadline{border:.25cqw solid #14d4d0aa;background:#10c8c51a;border-radius:2cqw;padding:3cqw 4cqw;color:#76fff1;font-size:4cqw;font-weight:900}.festival-deadline small{display:block;font-size:2.3cqw;color:#d4ecf7;font-weight:500}.festival-options{display:flex;flex-direction:column;gap:2cqw;flex:1}.festival-options button{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:start;padding:3cqw 4cqw;background:#ffffff0b;border:.25cqw solid #ffffff25;border-radius:2cqw}.festival-options button>span{font-size:4cqw;font-weight:800}.festival-options strong{font-size:7cqw;color:#58eddf}.festival-options strong small{font-size:2.2cqw;display:inline-block;font-weight:500;color:#d6ecfb}.festival-options em{font-style:normal;font-size:2.4cqw;color:#cce8f7}.festival-note{font-size:2.4cqw;color:#c8dbe6;padding-bottom:3cqw}.plan-detail .band{padding-top:13cqw;padding-bottom:3cqw;gap:.8cqw;margin-bottom:0}.plan-detail .band h2{font-size:6.7cqw}.plan-detail .band p{font-size:2.4cqw}.plan-eyebrow{font-size:2.4cqw;color:#75f3e3;font-weight:700}.plan-price{display:flex;align-items:baseline;gap:2cqw;padding:1.5cqw 3cqw;border-bottom:.3cqw solid #d9eaf5;background:#f0f8ff;border-radius:2cqw}.plan-price>span{font-size:2.4cqw;color:#54758b;margin-inline-end:auto}.plan-price strong{font-size:9cqw;line-height:1;color:#0668cf}.plan-price>b{font-size:2.6cqw;color:#225270}.features-heading{display:flex;align-items:center;justify-content:space-between}.features-heading h3{font-size:3.6cqw}.features-heading>span{font-size:2cqw;color:#68869a}.feature-list{list-style:none;display:grid;grid-template-columns:1fr;gap:1.3cqw;margin:0;min-height:0}.feature-list li{display:flex;align-items:baseline;gap:1.8cqw;padding:1cqw 1.5cqw;border-radius:1cqw;background:#f1f7fc;font-size:3cqw;line-height:1.5;break-inside:avoid}.check{display:inline-grid;place-items:center;color:#008f9a;font-size:2.9cqw;font-weight:900;flex:none}.feature-list.compact{grid-template-columns:1fr 1fr;grid-auto-flow:column;grid-template-rows:repeat(22,auto);gap:.65cqw 1.6cqw}.feature-list.compact li{padding:.45cqw .65cqw;font-size:2.16cqw;gap:.6cqw;line-height:1.5}.compact .check{font-size:2.1cqw}.dense-plan .pc{gap:1.2cqw}.dense-plan .band{padding-bottom:2.3cqw}.dense-plan .plan-price{padding:.8cqw 2cqw}.dense-plan .plan-price strong{font-size:7cqw}.dense-plan .features-heading h3{font-size:3cqw}.included-block{margin-top:auto;padding:2cqw 3cqw;border:.25cqw solid #b7e7e9;background:#ecfcfc;border-radius:1.5cqw}.included-block b{display:block;font-size:2.7cqw;color:#007981}.included-block small{font-size:2.2cqw;color:#527681}.plan-bottom{display:flex;justify-content:space-between;align-items:center;gap:2cqw;margin-top:auto;padding:1.4cqw 0;border-top:.2cqw solid #dbe8f1}.plan-bottom>span{font-size:2cqw;color:#56788c}.plan-bottom>a{display:block;padding:1cqw 2cqw;border-radius:1cqw;background:#086bd5;color:#fff;font-weight:800;font-size:2.3cqw}.revised-contact .pc{padding-top:13cqw;gap:0}.contact-logo{width:30cqw;height:30cqw;object-fit:contain;position:relative;z-index:2;background:white;border-radius:3cqw;box-shadow:0 3cqw 5cqw #0004}.revised-contact .bk-panel{margin-top:4cqw;padding:4cqw 7cqw}.revised-contact .bk-panel h2{font-size:5.3cqw}.revised-contact .bk-list li{padding:1.3cqw 0;align-items:center}.revised-contact .bk-list li>span{width:24cqw;font-size:2.5cqw;opacity:.9}.revised-contact .bk-list li>span small{display:block;opacity:.6;font-size:1.9cqw}.revised-contact .bk-list a{font-size:3.6cqw;letter-spacing:.1cqw}.revised-contact .bk-list a[href^="mailto"]{font-size:2.6cqw}.contact-end{position:relative;z-index:2;width:100%;display:flex;align-items:end;justify-content:space-between;margin-top:auto;padding:4cqw 7cqw 5cqw}.contact-end .bk-qr{padding:0;margin:0}.contact-end .bk-qr #qr{width:18cqw;height:18cqw}.contact-end .cv-url{margin:0!important}.mobile-page-controls{display:none}.a2hs{bottom:85px}.motion .page.in .logo-plaque{animation:mvPop .9s var(--ease) .2s both}.motion .page.in .festival-options>button{animation:mvUp .7s var(--ease) both;animation-delay:calc(.2s + var(--i,0)*.1s)}.motion .page.in .feature-list li{animation:mvUp .45s var(--ease) both;animation-delay:calc(.15s + min(var(--i,0),12)*.025s)}
@media(max-width:600px){.mobile-page-controls{display:flex;direction:rtl;width:min(94vw,calc((100dvh - 188px)*.707));justify-content:space-between;gap:12px;margin:0 0 8px}.mobile-page-controls button{display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#0a82ed,#0454b8);border:1px solid #49c6f488;border-radius:13px;min-width:105px;height:42px;font-weight:700;font-size:13px;box-shadow:0 4px 18px #0004}.mobile-page-controls button:disabled{opacity:.35}.book-wrap{width:min(94vw,calc((100dvh - 202px)*.707))}.bar .arrow{display:none}.bar .tb-btn{width:36px;height:36px}.bar{padding:5px}.top .title b{font-size:12px}.top .title small{font-size:10px}.hint{font-size:10px}.a2hs{bottom:132px}.cv-year{top:7.6cqw}.feature-list.compact li{font-size:2.18cqw}}@media print{.mobile-page-controls{display:none!important}}
/* Final spacing pass for the compact catalog page. */
.two-cards .project-image{height:26cqw}.two-cards{gap:2cqw}.festival-page .pc{padding-top:19cqw;gap:2cqw}.festival-intro h2{font-size:6.8cqw;margin:1.2cqw 0}.festival-intro>p{font-size:2.6cqw;margin-top:1.5cqw}.festival-deadline{padding:2cqw 3cqw;font-size:3.5cqw}.festival-options{flex:0;gap:1.6cqw}.festival-options button{padding:2cqw 3cqw}.festival-options strong{font-size:6cqw}.festival-options button>span{font-size:3.6cqw}.festival-note{font-size:2.3cqw;padding-bottom:0;margin-top:auto}.dense-plan .band{padding-top:12cqw;padding-bottom:2cqw}.dense-plan .band h2{font-size:5.8cqw}.plan-detail h2::after{display:none}.feature-list.compact{gap:.25cqw 1.6cqw;flex:none}.feature-list.compact li{font-size:2.08cqw!important;padding:.15cqw .5cqw;line-height:1.35;white-space:nowrap;gap:.5cqw}.feature-list.compact .check{font-size:2.05cqw}.dense-plan .pc{gap:1cqw}.plan-bottom{padding:.5cqw 0}.plan-bottom>a{padding:.7cqw 1.5cqw;font-size:2.2cqw}.plan-bottom>span{font-size:1.9cqw}.plan-detail .pc{padding-bottom:11cqw}.revised-contact .contact-logo{width:24cqw;height:24cqw}.revised-contact .bk-panel{margin-top:3cqw;padding:3cqw 7cqw}.contact-end{padding:2cqw 7cqw 3cqw}.revised-contact .bk-list li{padding:1cqw 0}.revised-contact .bk-list a{font-size:3.4cqw}.contact-end .bk-qr #qr{width:17cqw;height:17cqw}.contact-end .cv-url a{font-size:2.5cqw}
.plan-detail:not(.dense-plan) .feature-list{gap:.8cqw;flex:none}.plan-detail:not(.dense-plan) .feature-list li{font-size:2.6cqw;line-height:1.45;padding:.65cqw 1.5cqw}.features-heading .read-features{font-size:2.1cqw;color:#075bbb;background:#e4f3ff;border:1px solid #badff4;border-radius:1cqw;padding:.4cqw 1.2cqw;margin-inline-start:auto;margin-inline-end:2cqw}.readable-box{position:relative;max-width:640px;padding:24px;line-height:1.8}.readable-box h3{font-size:22px;color:#0755ad;margin-bottom:6px}.readable-box .readable-price{font-size:16px;color:#007f86;font-weight:700;padding-bottom:14px;border-bottom:1px solid #d8eaf2}.readable-box ul{list-style:none;display:grid;gap:8px;margin:16px 0;padding:0}.readable-box li{background:#f0f7fc;color:#153850;font-size:15px;line-height:1.85;padding:8px 12px;border-radius:9px}.readable-box .readable-close{position:sticky;top:0;float:left;background:#075ac0;color:white;width:34px;height:34px;border-radius:50%;font-size:18px}.readable-box small{color:#5b7a90;font-size:13px}
.plan-detail:not(.dense-plan) .feature-list{gap:.35cqw}.plan-detail:not(.dense-plan) .feature-list li{font-size:2.5cqw;line-height:1.35;padding:.3cqw 1.4cqw}.included-block{padding:1cqw 2cqw}.included-block b{font-size:2.4cqw;line-height:1.4}.included-block small{font-size:2cqw;line-height:1.4;display:block;margin-top:.5cqw}.features-heading{flex-wrap:nowrap;gap:1cqw}.features-heading h3{order:0;white-space:nowrap}.features-heading .read-features{order:1;margin-inline-start:auto;margin-inline-end:0}.features-heading>span{order:2;white-space:nowrap}.readable-box li{display:flex;gap:8px;align-items:baseline}.readable-box .check{font-size:15px;flex:none}
.plan-detail:not(.dense-plan) .feature-list li{padding:.1cqw 1.4cqw}
.plan-price{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2cqw;position:relative;padding:.8cqw 2cqw!important}.price-before{display:flex;flex-direction:column;gap:.3cqw;color:#718698}.price-before>span{font-size:1.9cqw;line-height:1.2}.price-before del{font-size:2.65cqw;line-height:1.4;text-decoration-thickness:.2cqw;white-space:nowrap}.price-now{text-align:end}.discount-badge{display:block;font-size:1.85cqw;line-height:1.3;color:#007f87;font-weight:800;margin-bottom:.4cqw}.price-now>div{display:flex;align-items:baseline;gap:1cqw}.plan-price .price-now strong{font-size:5.8cqw;line-height:1;color:#0668cf}.price-now b{font-size:2cqw;font-weight:700;color:#225270}.festival-price-pair{text-align:end;grid-column:2;grid-row:1 / span 2}.festival-price-pair del{display:block;color:#9cb7ca;font-size:2.2cqw;line-height:1.3}.festival-options .festival-price-pair strong{display:block;font-size:4.4cqw;line-height:1.2;color:#58eddf;white-space:nowrap}.festival-price-pair .festival-discount{display:block;color:#a5ffec;font-size:1.9cqw;line-height:1.3}.festival-options button{padding:1.8cqw 3cqw}.festival-options button>em{grid-column:1}
/* Equal plan title bands and complete slider previews. */
.plan-detail .band,.dense-plan .band{height:33cqw;min-height:33cqw;max-height:33cqw;flex:none;padding:12cqw 7cqw 2cqw;gap:.8cqw;margin-bottom:0}.plan-detail .band h2,.dense-plan .band h2{font-size:5.8cqw;line-height:1.25}.plan-detail .band p{font-size:2.25cqw;line-height:1.45;margin:0}.project-card[href="https://kimiapluss.ir/"] .project-image img,.project-card[href="https://centersara.ir/"] .project-image img,.project-card[href="https://deliran.ir/"] .project-image img,.project-card[href="https://dolphiranpet.ir/"] .project-image img,.project-card[href="https://new.dolphiranpet.ir/"] .project-image img{object-fit:contain;object-position:top center}.project-card[href="https://kimiapluss.ir/"] .project-image,.project-card[href="https://centersara.ir/"] .project-image,.project-card[href="https://deliran.ir/"] .project-image,.project-card[href="https://dolphiranpet.ir/"] .project-image,.project-card[href="https://new.dolphiranpet.ir/"] .project-image{background:#eff7fb}.project-card:hover .project-image img{transform:none}.revised-contact .bk-list a[href^="tel"]{line-height:1.3}.bk-list .sales-label{display:block;direction:rtl;font-size:1.85cqw;line-height:1.3;font-weight:500;color:#c3f3ff;letter-spacing:0;margin-top:.3cqw}.bk-list .sales-label .en{direction:ltr}
.fx-hero.cycle-hero{background-size:contain;background-repeat:no-repeat;background-position:center!important;background-color:#fff}.cycle-hero::before{background:linear-gradient(to bottom,rgba(2,25,52,.75),transparent 24%)}
.dense-plan .feature-list.compact{row-gap:.1cqw}.dense-plan .feature-list.compact li{padding-top:.1cqw;padding-bottom:.1cqw}
/* Show all four development stages above the title panel. */
.fx-hero.cycle-hero{height:44cqw;background-size:100% auto;background-position:center 9cqw!important}.cycle-hero+.fx-title{margin-top:0;padding-top:2.5cqw;padding-bottom:2.5cqw}.cycle-hero~.fx-body{padding-top:3.4cqw;gap:1.8cqw}
/* Fit the Kimia preview to its frame and raise the development-cycle artwork. */
.project-card[href="https://kimiapluss.ir/"] .project-image img{object-fit:fill;object-position:center}.fx-hero.cycle-hero,.cycle-hero .ph-move{background-position:center 5cqw!important}
/* Keep the image proportions while filling the Kimia preview frame. */
.project-card[href="https://kimiapluss.ir/"] .project-image img{object-fit:cover;object-position:center 55%}

/* Index count badges stay on one line in both languages. */
.revised-index .tile>span:not(.ph-move){min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.revised-index .tile small{display:inline-flex;flex:none;max-width:100%;white-space:nowrap;line-height:1.6;padding:.4cqw 1.4cqw}
.revised-index .tile small span{white-space:nowrap}
