@font-face{font-family:"Vazirmatn";src:url("../fonts/vazirmatn-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Vazirmatn";src:url("../fonts/vazirmatn-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Vazirmatn";src:url("../fonts/vazirmatn-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Markazi Text";src:url("../fonts/markazi-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Markazi Text";src:url("../fonts/markazi-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Cormorant";src:url("../fonts/cormorant-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant";src:url("../fonts/cormorant-600.woff2") format("woff2");font-weight:600;font-display:swap}

:root{
  --bg:#F7F3EE; --surface:#EFE7DD; --ink:#1A2340; --muted:#5A6075;
  --line:#DCCFBF; --accent:#8A5F45; --accent-ink:#FFFFFF; --sage:#4F6F63;
  --navy:#1A2340; --navy-deep:#111833; --gold:#C9A084; --on-navy:#F2ECE4;
  --display:"Markazi Text","Vazirmatn",Tahoma,serif;
  --latin:"Cormorant","Times New Roman",serif;
  --body:"Vazirmatn",Tahoma,"Segoe UI",sans-serif;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#111833; --surface:#1A2340; --ink:#F2ECE4; --muted:#A8AEC2;
    --line:#2D3760; --accent:#D6B096; --accent-ink:#111833; --sage:#8DB2A2;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#111833; --surface:#1A2340; --ink:#F2ECE4; --muted:#A8AEC2;
  --line:#2D3760; --accent:#D6B096; --accent-ink:#111833; --sage:#8DB2A2;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.9}
img,svg{max-width:100%}
a{color:var(--accent);text-underline-offset:.25em}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
.prose{max-width:38rem}

/* header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:21;background:var(--bg)}
.site-head .wrap{display:flex;align-items:center;gap:1.5rem;min-height:64px}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.05rem;color:var(--ink);text-decoration:none;white-space:nowrap}
.brand img{height:48px;width:auto}
.brand .lg-d{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand .lg-l{display:none}:root:not([data-theme="light"]) .brand .lg-d{display:block}}
:root[data-theme="dark"] .brand .lg-l{display:none}:root[data-theme="dark"] .brand .lg-d{display:block}
.nav{display:flex;gap:1.25rem;margin-inline-start:auto;font-size:.95rem}
.nav a{color:var(--muted);text-decoration:none}
.nav a:hover{color:var(--ink)}
@media (max-width:820px){.nav{display:none}.site-head .btn{margin-inline-start:auto}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:999px;font:500 .98rem/1.2 var(--body);text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{filter:brightness(1.08)}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--surface)}
.btn-sm{padding:.5rem 1rem;font-size:.9rem}

/* hero */
.hero{background:var(--navy);color:var(--on-navy);padding:clamp(2.5rem,6vw,5rem) 0 0;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,5vw,4rem);align-items:end}
.hero .copy{padding-bottom:clamp(2.5rem,6vw,5rem);align-self:center}
.hero .sig{font-family:var(--latin);font-style:italic;font-weight:500;font-size:1.25rem;color:var(--gold);margin:0 0 .75rem;direction:ltr;text-align:right}
.hero h1{font-family:var(--display);font-weight:700;font-size:clamp(2.1rem,5.4vw,3.7rem);line-height:1.3;margin:0 0 1rem}
.hero .role{font-size:clamp(1.02rem,2.1vw,1.22rem);color:#C9CDDA;margin:0 0 1.75rem;max-width:31rem}
.hero .actions{display:flex;flex-wrap:wrap;gap:.75rem}
.hero .btn-primary{background:var(--gold);color:var(--navy-deep)}
.hero .btn-ghost{border-color:#5B6589;color:var(--on-navy)}
.hero .btn-ghost:hover{background:rgba(255,255,255,.06)}
.hero .note{margin-top:1.25rem;font-size:.9rem;color:#9EA5BC}
.portrait{position:relative;margin:0;justify-self:center;width:min(440px,100%)}
.portrait img{display:block;width:100%;height:auto;border-radius:220px 220px 0 0;}
.portrait::before{content:"";position:absolute;inset:-14px -14px 0 -14px;border:1px solid var(--gold);border-bottom:0;border-radius:234px 234px 0 0;opacity:.7;pointer-events:none}
@media (max-width:820px){.hero .wrap{grid-template-columns:1fr}.hero .copy{padding-bottom:0}.portrait{width:min(320px,82%);order:2;margin-top:1rem}}

/* sections */
section{padding:clamp(2.5rem,6vw,4.5rem) 0}
.sec-title{font-family:var(--display);font-weight:500;font-size:clamp(1.6rem,3.5vw,2.3rem);line-height:1.35;margin:0 0 1rem}
.lead{color:var(--muted);margin:0 0 2rem;max-width:38rem}
.band{background:var(--surface);border-block:1px solid var(--line)}

/* booking routes */
.routes{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1rem}
.route{border:1px solid var(--line);border-radius:18px;padding:1.5rem;background:var(--bg);display:flex;flex-direction:column;gap:.5rem}
.route.main{background:var(--navy);color:var(--on-navy);border-color:var(--gold)}
.route.main .btn{background:var(--gold);color:var(--navy-deep)}
.route h3{margin:0;font-size:1.15rem}
.route p{margin:0 0 .75rem;font-size:.95rem;opacity:.9}
.route .btn{margin-top:auto;align-self:flex-start}
@media (max-width:820px){.routes{grid-template-columns:1fr}}

/* about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4rem)}
.facts{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.facts li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);font-size:.97rem}
.facts span:first-child{color:var(--muted)}
@media (max-width:820px){.about{grid-template-columns:1fr}}

/* services */
.services{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.services li{display:grid;grid-template-columns:minmax(10rem,16rem) 1fr;gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}
.services h3{margin:0;font-size:1.1rem}
.services p{margin:0;color:var(--muted)}
@media (max-width:640px){.services li{grid-template-columns:1fr;gap:.25rem}}

/* concern tool */
.tool{border:1px solid var(--line);border-radius:22px;padding:clamp(1.25rem,3vw,2rem);background:var(--bg)}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.5rem;padding:0;border:0}
.chips legend{font-weight:500;margin-bottom:.75rem}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{display:inline-block;padding:.5rem 1rem;border:1px solid var(--line);border-radius:999px;font-size:.95rem;background:var(--surface)}
.chip input:checked+span{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.result{border-top:1px dashed var(--line);padding-top:1.25rem;min-height:4rem}
.result ul{margin:.5rem 0 1rem;padding-inline-start:1.25rem}
.result .muted{color:var(--muted);font-size:.92rem}

/* book */
.book{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:center}
.cover{width:min(240px,60vw);aspect-ratio:2/3;border-radius:4px 14px 14px 4px;background:var(--navy);color:var(--gold);border:1px solid var(--gold);display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem 1.25rem;box-shadow:12px 14px 0 var(--line)}
.cover strong{font-family:var(--display);font-size:1.9rem;line-height:1.3;font-weight:700}
.cover small{opacity:.75}
.cover svg{stroke:var(--gold);opacity:.6}
.cover small{color:var(--on-navy)}
@media (max-width:700px){.book{grid-template-columns:1fr}.cover{margin-inline:auto}}

/* posts */
.posts{list-style:none;margin:0;padding:0}
.posts li{padding:1.25rem 0;border-bottom:1px solid var(--line)}
.posts a{color:var(--ink);text-decoration:none;font-weight:700;font-size:1.15rem}
.posts a:hover{color:var(--accent)}
.posts p{margin:.35rem 0 0;color:var(--muted)}
.posts time{font-size:.88rem;color:var(--muted)}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:1rem 0}
.faq summary{cursor:pointer;font-weight:500;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:.75rem 0 0;color:var(--muted);max-width:42rem}

/* insta */
.insta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}
.insta .handle{font-family:var(--latin);font-style:italic;font-size:clamp(1.6rem,4vw,2.4rem);direction:ltr;unicode-bidi:isolate}

/* footer */
.site-foot{border-top:1px solid var(--line);padding:2.5rem 0 3rem;font-size:.93rem;color:var(--muted)}
.site-foot .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.site-foot h2{font-size:1rem;color:var(--ink);margin:0 0 .5rem}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot a{color:var(--muted)}
@media (max-width:700px){.site-foot .wrap{grid-template-columns:1fr}}
.todo{background:color-mix(in srgb,var(--accent) 14%,transparent);border-radius:4px;padding:0 .3em}

/* article */
.article{padding:clamp(2rem,5vw,4rem) 0}
.article h1{font-family:var(--display);font-size:clamp(1.8rem,4.5vw,2.8rem);line-height:1.35;margin:.5rem 0 1rem}
.article .meta{color:var(--muted);font-size:.92rem}
.article h2{font-size:1.35rem;margin:2.25rem 0 .5rem}
.article .cta{margin:2.5rem 0;padding:1.5rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.crumbs{font-size:.88rem;color:var(--muted)}
.crumbs a{color:var(--muted)}

.foot-logo{height:70px;width:auto;margin-bottom:.75rem}
.map-link{display:inline-flex;margin-top:.5rem}
.sec-title{font-weight:700;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.3}

/* mobile menu */
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px;font-size:.9rem}
.mnav summary::-webkit-details-marker{display:none}
.mnav nav{position:absolute;inset-inline-start:0;top:calc(100% + .5rem);background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:.5rem;display:flex;flex-direction:column;min-width:13rem;box-shadow:0 10px 30px rgba(17,24,51,.15);z-index:30}
.mnav nav a{padding:.55rem .75rem;color:var(--ink);text-decoration:none;border-radius:8px}
.mnav nav a:hover{background:var(--surface)}
@media (max-width:820px){.mnav{display:block;margin-inline-start:auto}.site-head .btn{margin-inline-start:0}}

/* sticky mobile action bar */
.mbar{display:none}
@media (max-width:820px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .mbar{display:grid;grid-template-columns:1fr 1.4fr 1fr;position:fixed;inset:auto 0 0;z-index:25;background:var(--navy);padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom,0px));gap:.5rem;border-top:1px solid var(--gold)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;border-radius:999px;color:var(--on-navy);text-decoration:none;font-size:.92rem;font-weight:500}
  .mbar a.go{background:var(--gold);color:var(--navy-deep)}
  .mbar svg{width:18px;height:18px}
}

/* services list links */
.services h3 a{color:var(--ink);text-decoration:none}
.services h3 a:hover{color:var(--accent)}
.services .more{display:inline-block;margin-top:.35rem;font-size:.92rem}

/* page hero (inner pages) */
.phero{background:var(--navy);color:var(--on-navy);padding:clamp(2rem,5vw,3.5rem) 0}
.phero h1{font-family:var(--display);font-size:clamp(1.8rem,4.5vw,2.8rem);line-height:1.35;margin:.25rem 0 .75rem}
.phero p{color:#C9CDDA;max-width:38rem;margin:0}
.phero .crumbs,.phero .crumbs a{color:#9EA5BC}
.phero .actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.phero .btn-primary{background:var(--gold);color:var(--navy-deep)}
.phero .btn-ghost{border-color:#5B6589;color:var(--on-navy)}
.page{padding:clamp(2rem,5vw,3.5rem) 0}
.page h2{font-size:1.35rem;margin:2.25rem 0 .5rem}
.page h2:first-child{margin-top:0}
.page .cta{margin:2.5rem 0 0;padding:1.5rem;border:1px solid var(--gold);border-radius:18px;background:var(--surface)}
.side-grid{display:grid;grid-template-columns:1fr 18rem;gap:clamp(1.5rem,5vw,3.5rem)}
.side-grid aside{align-self:start;position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);border:1px solid var(--line);border-radius:18px;padding:1.25rem;background:var(--surface);font-size:.95rem}
.side-grid aside h2{font-size:1rem;margin:0 0 .5rem}
.side-grid aside ul{margin:0;padding:0;list-style:none}
.side-grid aside li{padding:.35rem 0;border-bottom:1px solid var(--line)}
.side-grid aside li:last-child{border:0}
@media (max-width:860px){.side-grid{grid-template-columns:1fr}.side-grid aside{position:static}}
.note-box{border-inline-start:3px solid var(--gold);padding:.25rem 1rem;color:var(--muted);margin:1.5rem 0}

/* trust / reviews */
.trust{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;align-items:baseline}
.trust .num{font-family:var(--latin);font-size:clamp(2.6rem,6vw,3.6rem);color:var(--accent);line-height:1;direction:ltr}
.quotes{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;margin-top:1.5rem}
.quotes blockquote{margin:0;padding:1.25rem;border:1px solid var(--line);border-radius:18px;background:var(--bg)}
.quotes cite{display:block;margin-top:.75rem;font-style:normal;color:var(--muted);font-size:.9rem}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem}
.gallery img{width:100%;height:auto;border-radius:14px;display:block}
.notify{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.en{direction:ltr;text-align:left;font-family:var(--latin),Georgia,serif}
.en body,.en p,.en li{font-size:1.15rem}

/* ===== v3: midnight & gold ===== */
:root{--tex: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='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --metal:linear-gradient(135deg,#E3C7AE 0%,#C9A084 45%,#A8805F 100%)}
.hero,.phero,.mbar{background-image:var(--tex);background-color:var(--navy)}
.hero{position:relative;border-bottom:1px solid var(--gold)}
.hero h1,.phero h1{font-weight:700;font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.2}
.phero h1{font-size:clamp(2rem,5vw,3.1rem)}
.hero .btn-primary,.phero .btn-primary,.route.main .btn,.mbar a.go{background:var(--metal);color:var(--navy-deep);position:relative;overflow:hidden}
.hero .btn-primary::after,.phero .btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(120%);transition:transform .7s}
.hero .btn-primary:hover::after,.phero .btn-primary:hover::after{transform:translateX(-120%)}
.rating{display:flex;align-items:center;gap:.6rem;margin-top:1.25rem;color:#C9CDDA;font-size:.92rem}
.rating a{color:var(--gold)}
.rating .stars{color:var(--gold);letter-spacing:2px;direction:ltr}
.nextslot{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.35rem .9rem;border:1px solid rgba(201,160,132,.5);border-radius:999px;color:var(--on-navy);font-size:.9rem}
.nextslot[hidden]{display:none}
.nextslot::before{content:"";width:8px;height:8px;border-radius:50%;background:#7FD1A1}

/* header states */
.site-head{transition:box-shadow .3s}
.site-head .wrap{transition:min-height .3s}
.site-head.scrolled{box-shadow:0 6px 24px rgba(17,24,51,.08)}
.site-head.scrolled .wrap{min-height:54px}
.site-head.scrolled .brand img{height:38px}
.brand img{transition:height .3s}
.nav a.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--gold)}
.theme-btn{background:none;border:1px solid var(--line);border-radius:999px;width:38px;height:38px;display:inline-grid;place-items:center;color:var(--ink);cursor:pointer;flex:none}
.theme-btn svg{width:18px;height:18px}
@media (max-width:820px){.theme-btn{width:36px;height:36px}}

/* links */
.prose a:not(.btn),.faq a,.facts a,.services p a{text-decoration:none;background:linear-gradient(var(--gold),var(--gold)) 0 100%/100% 1px no-repeat;transition:background-size .3s}
.prose a:not(.btn):hover,.services p a:hover{background-size:100% 2px}

/* reveal */
.rv{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* service icons */
.services li{grid-template-columns:3rem minmax(9rem,15rem) 1fr}
.svc-ic{width:2.6rem;height:2.6rem;color:var(--accent)}
@media (max-width:640px){.services li{grid-template-columns:2.6rem 1fr}.services li p{grid-column:1/-1}}

/* face map */
.facemap{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:clamp(1.25rem,4vw,3rem);align-items:start}
.facemap svg{width:100%;height:auto}
.fz{cursor:pointer;fill:transparent;stroke:transparent;transition:fill .2s}
.fz:hover,.fz:focus-visible{fill:color-mix(in srgb,var(--gold) 22%,transparent);outline:none}
.fz[aria-pressed="true"]{fill:color-mix(in srgb,var(--gold) 45%,transparent)}
.fz-line{fill:none;stroke:var(--ink);stroke-width:1.5}
.fz-guide{fill:none;stroke:var(--line);stroke-width:1}
.facemap .chips{margin:.75rem 0 1rem}
.zone-tag{font-size:12px;fill:var(--muted);font-family:var(--body);pointer-events:none}
@media (max-width:760px){.facemap{grid-template-columns:1fr}.facemap svg{max-width:280px;margin-inline:auto;display:block}}

/* chooser dialog */
dialog.chooser{border:1px solid var(--gold);border-radius:22px;padding:0;max-width:min(30rem,92vw);background:var(--bg);color:var(--ink)}
dialog.chooser::backdrop{background:rgba(17,24,51,.55)}
.chooser .in{padding:1.5rem}
.chooser h2{margin:0 0 .25rem;font-family:var(--display);font-size:1.7rem}
.chooser p{margin:0 0 1rem;color:var(--muted)}
.chooser .opt{display:block;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);margin-top:.75rem}
.chooser .opt:hover{border-color:var(--gold);background:var(--surface)}
.chooser .opt strong{display:block}
.chooser .opt span{color:var(--muted);font-size:.92rem}
.chooser .x{float:left;background:none;border:0;font-size:1.6rem;line-height:1;color:var(--muted);cursor:pointer;padding:.25rem .5rem}

/* mobile bar v3 */
@media (max-width:820px){
  .mbar{grid-template-columns:1fr 1fr 1.4fr 1fr;transition:transform .3s}
  .mbar.hide{transform:translateY(110%)}
}

/* article toc / related */
.toc{border:1px solid var(--line);border-radius:14px;padding:1rem 1.25rem;background:var(--surface);margin:1.5rem 0}
.toc strong{display:block;margin-bottom:.25rem}
.toc ol{margin:0;padding-inline-start:1.25rem}
.article .prose p,.page .prose p{font-size:1.08rem;line-height:2}
.related{margin-top:2rem}
.related h2{font-size:1.1rem}

/* faq page */
.faq-search{width:100%;max-width:30rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:999px;font:inherit;background:var(--bg);color:var(--ink);margin-bottom:1.5rem;font-size:16px}
.faq-group h2{font-size:1.2rem;margin:2rem 0 .25rem;color:var(--accent)}
.faq-empty{color:var(--muted)}

/* glossary */
.terms dt{font-weight:700;font-size:1.1rem;margin-top:1.5rem}
.terms dd{margin:.35rem 0 0;color:var(--muted)}
.az{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.az a{padding:.25rem .65rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);font-size:.9rem}

/* quiz */
.quiz{max-width:36rem}
.q-card{border:1px solid var(--line);border-radius:20px;padding:1.5rem;background:var(--surface)}
.q-prog{height:4px;background:var(--line);border-radius:4px;margin-bottom:1.25rem;overflow:hidden}
.q-prog i{display:block;height:100%;background:var(--metal);transition:width .4s}
.q-text{font-size:1.2rem;font-weight:500;margin:0 0 1.25rem}
.q-btns{display:flex;gap:.75rem}
.q-btns button{flex:1;padding:.85rem;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:500 1rem var(--body);cursor:pointer}
.q-btns button:hover{border-color:var(--gold)}
.q-exp{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--line)}
.q-exp .ok{color:#2E7D55;font-weight:700}.q-exp .no{color:#B3413B;font-weight:700}
.q-score{font-family:var(--latin);font-size:3.4rem;color:var(--accent);direction:ltr;margin:0}

/* care */
.care-steps{counter-reset:c;list-style:none;padding:0;margin:0}
.care-steps li{counter-increment:c;position:relative;padding:.9rem 3rem .9rem 0;border-bottom:1px solid var(--line)}
.care-steps li::before{content:counter(c,persian);position:absolute;right:0;top:.85rem;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold);font-size:.95rem}
.warn{border:1px solid #B3413B;border-radius:14px;padding:1rem 1.25rem;margin:1.5rem 0}
.warn strong{color:#B3413B}
.qr{width:120px;height:120px;border-radius:8px;background:#fff;padding:6px}
@media print{.site-head,.mbar,.site-foot,.phero .actions{display:none}.phero{background:none;color:#000}}

/* 404 */
.nf{min-height:60vh;display:grid;place-items:center;text-align:center}
.nf .num{font-family:var(--latin);font-size:clamp(5rem,16vw,9rem);color:var(--gold);line-height:1;margin:0}
.chip-b{padding:.5rem 1rem;border:1px solid var(--line);border-radius:999px;font:inherit;font-size:.95rem;background:var(--surface);color:var(--ink);cursor:pointer;margin:0 0 .5rem .5rem}
.chip-b[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
@media (max-width:820px){
  .site-head .wrap{gap:.6rem}
  .site-head .btn.btn-primary{display:none}
  .brand{font-size:.98rem}
  .brand img{height:40px}
}

/* ===== v4: CC live ===== */
.price{display:inline-block;margin-top:.5rem;font-size:.92rem;color:var(--accent);font-weight:500}
.phero .price{color:var(--gold)}
.price[hidden],[data-gallery][hidden],[data-reviews][hidden]{display:none}
.ba-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.25rem}
.ba{margin:0}
.ba-frame{position:relative;aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.ba-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-before{clip-path:inset(0 0 0 var(--x))}
.ba-line{position:absolute;top:0;bottom:0;left:var(--x);width:2px;background:var(--gold);transform:translateX(-1px)}
.ba-tag{position:absolute;bottom:.6rem;padding:.15rem .6rem;border-radius:999px;background:rgba(17,24,51,.7);color:#fff;font-size:.8rem}
.ba-tag.b{right:.6rem}.ba-tag.a{left:.6rem}
.ba input[type=range]{width:100%;margin:.6rem 0 .25rem;accent-color:var(--gold)}
.ba figcaption{color:var(--muted);font-size:.92rem}
.consent-note{color:var(--muted);font-size:.88rem;margin-top:1rem}

form.otp{display:grid;gap:.75rem;max-width:26rem;margin-top:1rem}
form.otp label{display:grid;gap:.3rem;font-size:.95rem}
form.otp input[type=tel],form.otp input[type=text]{padding:.7rem .9rem;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit;font-size:16px}
form.otp .chk{display:flex;gap:.5rem;align-items:flex-start;font-size:.9rem;color:var(--muted)}
form.otp button{justify-self:start}
.f-msg{margin:0;font-size:.92rem;color:var(--muted);min-height:1.2em}
.f-msg.bad{color:#B3413B}
.f-ok{color:var(--ink);font-weight:500}
.club{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:center}
@media (max-width:760px){.club{grid-template-columns:1fr}}

.chat-fab{position:fixed;left:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:24;display:flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:999px;border:1px solid var(--gold);background:var(--navy);color:var(--on-navy);font:500 .92rem var(--body);cursor:pointer;box-shadow:0 8px 24px rgba(17,24,51,.25)}
.chat-fab svg{width:20px;height:20px;color:var(--gold)}
.chat-fab[hidden]{display:none}
.chat-pan{position:fixed;left:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:26;width:min(22rem,calc(100vw - 2rem));height:min(32rem,70vh);display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--gold);border-radius:20px;overflow:hidden;box-shadow:0 18px 50px rgba(17,24,51,.3)}
.chat-pan[hidden]{display:none}
.chat-pan header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--navy);color:var(--on-navy);font-size:.95rem}
.chat-pan .x{background:none;border:0;color:var(--on-navy);font-size:1.5rem;cursor:pointer;line-height:1}
.chat-log{flex:1;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem}
.chat-log .m{max-width:85%;padding:.6rem .85rem;border-radius:14px;font-size:.93rem;line-height:1.8}
.chat-log .b{background:var(--surface);align-self:flex-start}
.chat-log .u{background:var(--navy);color:var(--on-navy);align-self:flex-end}
.chat-pan form{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--line)}
.chat-pan input{flex:1;min-width:0;padding:.6rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);font:inherit;font-size:16px}
@media (max-width:820px){
  .chat-fab{bottom:calc(76px + env(safe-area-inset-bottom,0px));padding:.6rem}
  .chat-fab span{display:none}
  .chat-pan{bottom:calc(72px + env(safe-area-inset-bottom,0px));height:min(30rem,62vh)}
}
@media print{.chat-fab,.chat-pan{display:none}}
.hours{list-style:none;margin:.25rem 0 0;padding:0}
.hours li{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.site-foot .hours{margin-bottom:1rem}
.h-special{color:var(--accent);font-weight:500;margin:.25rem 0}
.h-note{font-size:.88rem;color:var(--muted)}
.today-h{color:#C9CDDA;font-size:.9rem;margin:.5rem 0 0}
.nextslot-l{font-weight:500;color:var(--accent)}

/* ===== portfolio ===== */
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.25rem;margin:1rem 0 1.5rem}
.pf{margin:0}
.pf[hidden]{display:none}
.pf a,.pf video{display:block;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.pf img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:var(--navy);transition:transform .5s}
.pf a:hover img{transform:scale(1.03)}
.pf video{width:100%;aspect-ratio:1;object-fit:cover;background:#000}
.pf figcaption{margin-top:.5rem;font-size:.95rem;line-height:1.7}
.pf figcaption small{display:block;color:var(--muted);font-size:.82rem}
.tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:.5rem;scrollbar-width:thin}
.tab{flex:none;padding:.5rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);font:inherit;font-size:.92rem;cursor:pointer;white-space:nowrap}
.tab span{color:var(--muted);font-size:.8rem}
.tab.on{background:var(--navy);color:var(--on-navy);border-color:var(--navy)}
.tab.on span{color:var(--gold)}
dialog.lb{border:0;padding:0;background:transparent;max-width:min(64rem,96vw);max-height:94vh;overflow:visible}
dialog.lb::backdrop{background:rgba(10,14,30,.88)}
.lb img{display:block;max-width:100%;max-height:80vh;margin:0 auto;border-radius:12px}
.lb p{color:#E6E8F0;text-align:center;margin:.75rem 0 0}
.lb p small{display:block;color:#A8AEC2}
.lb .x{position:absolute;top:-2.6rem;left:0;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}
.lb .nv{position:absolute;top:40%;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);background:rgba(17,24,51,.7);color:var(--gold);font-size:1.6rem;cursor:pointer}
.lb .pv{right:-.5rem}.lb .nx{left:-.5rem}
@media (min-width:900px){.lb .pv{right:-3.5rem}.lb .nx{left:-3.5rem}}
/* bidi */
bdi,.sig,.handle,.num,.q-score,.rating .stars{unicode-bidi:isolate}
:is(.prose,.facts,.site-foot,.faq,.warn,.phero .btn) a[href^="tel:"],.phero a.btn[href^="tel:"]{unicode-bidi:isolate}
form.otp input[type=tel],form.otp input[name=otp]{direction:ltr;text-align:right}
.chat-log .m{unicode-bidi:plaintext}

/* ===== node v2 ===== */
.banner{background:var(--metal);color:var(--navy-deep);text-align:center;padding:.5rem 1rem;font-size:.92rem;font-weight:500}
.banner a{color:inherit}
.banner.pv{background:#B3413B;color:#fff}
.pager{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}
.pager a{padding:.5rem 1rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink)}
.vid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.25rem;margin:1rem 0}
.vid{margin:0}
.vid-f{position:relative;aspect-ratio:9/16;max-height:32rem;border-radius:16px;overflow:hidden;background:#000;border:1px solid var(--line)}
.vid-f iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid figcaption{margin-top:.5rem;font-size:.95rem}
.cover-img{width:100%;height:auto;border-radius:16px;margin:1rem 0}
.prose img{max-width:100%;height:auto;border-radius:12px}
.prose blockquote{margin:1.5rem 0;padding:.25rem 1rem;border-inline-start:3px solid var(--gold);color:var(--muted)}
