:root{--night:#070b18;--surface:#0f1628;--violet:#140c2a;--saffron:#e8a020;--ember:#f5c842;--teal:#00c9a7;--text:#eef2ff;--text2:#aab4ce;--ink:#11182a;--paper:#f5f6f8;--line:rgba(0,201,167,.15);--xs:8px;--sm:16px;--md:24px;--lg:40px;--xl:64px;--xxl:96px;--xxxl:144px;--container:1240px;--rbtn:4px;--rcard:2px}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--night);color:var(--text);font-family:Vazirmatn,system-ui,sans-serif;font-size:16px;line-height:1.85;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;max-width:100%;height:auto}button,input,select,textarea{font:inherit}.container{width:min(100% - 64px,var(--container));margin-inline:auto}.skip{position:fixed;inset-block-start:8px;inset-inline-start:8px;z-index:1000;background:var(--saffron);color:var(--night);padding:8px 16px;transform:translateY(-150%)}.skip:focus{transform:none}.header{position:sticky;inset-block-start:0;z-index:100;background:color-mix(in srgb,var(--night) 90%,transparent);backdrop-filter:blur(16px);border-block-end:1px solid rgba(255,255,255,.07)}.nav{min-height:80px;display:flex;align-items:center;gap:32px}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:800;direction:ltr}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--saffron);color:var(--saffron);font-weight:900}.desktop-nav{display:flex;align-items:center;gap:28px;margin-inline:auto;font-size:14px;color:var(--text2)}.desktop-nav a{padding-block:12px;white-space:nowrap}.desktop-nav a:hover{color:var(--text)}.nav-cta,.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:10px 20px;border:1px solid transparent;border-radius:var(--rbtn);font-weight:700;cursor:pointer;white-space:nowrap}.nav-cta{border-color:rgba(232,160,32,.5);color:var(--saffron)}.primary{background:var(--saffron);color:var(--night)}.primary:hover{background:var(--ember)}.ghost,.outline{border-color:rgba(238,242,255,.25);background:transparent;color:inherit}.btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.menu-btn{display:none;width:48px;height:48px;background:none;border:1px solid rgba(255,255,255,.18);color:var(--text);padding:12px}.menu-btn svg,.icon-box svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}.mobile-nav[hidden]{display:none!important}.mobile-nav{padding:16px 20px 28px;display:grid;gap:4px;background:var(--night)}.mobile-nav a{padding:12px 8px;border-block-end:1px solid rgba(255,255,255,.07)}:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.eyebrow{display:block;color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.12em;margin-block-end:24px}.hero{min-height:65vh;display:flex;align-items:center;padding-block:96px;background:radial-gradient(ellipse 60% 55% at 50% 50%,rgba(232,160,32,.07),transparent 70%)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:96px}.hero h1,.page-hero h1{font-size:clamp(2.75rem,6vw,5.25rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 32px;font-weight:900}.hero h1 em{font-style:normal;color:var(--saffron)}.hero-copy p,.page-hero p{max-width:620px;color:var(--text2);font-size:18px;margin:0 0 40px}.actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.seal{position:relative;aspect-ratio:1;width:min(100%,440px);max-width:440px;margin-inline:auto;display:grid;place-items:center}.seal-ring{position:absolute;border:1px solid rgba(232,160,32,.22);border-radius:50%}.r1{inset:0}.r2{inset:10%}.r3{inset:21%;border-color:rgba(0,201,167,.28)}.r4{inset:32%}.seal:before{content:"";position:absolute;width:1px;height:100%;background:linear-gradient(transparent,var(--saffron),transparent);transform:rotate(36deg)}.seal-core{width:27%;aspect-ratio:1;border-radius:50%;background:var(--saffron);color:var(--night);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 56px rgba(232,160,32,.22)}.seal-core b{font-size:28px;line-height:1}.seal-core small{font-size:9px;margin-block-start:8px}.band{padding-block:var(--xxxl)}.distribution{background:var(--surface)}.rights{background:var(--violet)}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:96px}.reverse>*:first-child{order:2}.band-copy h2,.section-head h2,.final-cta h2{font-size:clamp(2rem,4.3vw,3.4rem);line-height:1.2;margin:0 0 24px;max-width:720px}.band-copy p{color:var(--text2);max-width:580px;margin:0 0 32px}.text-link{display:inline-flex;gap:12px;align-items:center;color:var(--teal);font-weight:700;padding-block:8px}.platform-panel{border:1px solid var(--line);box-shadow:0 0 0 1px rgba(0,201,167,.05),0 12px 40px rgba(0,0,0,.35);padding:32px}.panel-head{display:flex;justify-content:space-between;gap:16px;padding-block-end:24px;border-block-end:1px solid var(--line)}.live{color:var(--teal)}.live:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal);margin-inline-end:8px}.platforms{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-block-start:1px}.platforms span{background:var(--surface);padding:24px}.rights-index{border-inline-start:1px solid rgba(232,160,32,.28);padding-inline-start:40px}.rights-index strong{font-size:clamp(4.5rem,10vw,8rem);line-height:1;color:var(--saffron)}.rights-index>span{display:block;color:var(--text2);margin-block:16px 32px}.rights-index ul{list-style:none;padding:0;margin:0;display:grid;gap:16px}.rights-index li{padding-block-end:12px;border-block-end:1px solid rgba(255,255,255,.08)}.trust-band{background:var(--saffron);color:var(--night);padding-block:80px}.stats{display:grid;grid-template-columns:repeat(3,1fr) 1.25fr;gap:40px;align-items:center}.stats>div{display:flex;flex-direction:column;gap:12px}.stats strong{font-size:clamp(3rem,6vw,4.5rem);line-height:1;font-weight:900}.stats span{font-weight:700}.trust-copy{border-inline-start:1px solid rgba(7,11,24,.3);padding-inline-start:40px}.trust-copy p{margin:8px 0 0}.portfolio-band{background:var(--night)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-block-end:64px}.work-grid,.case-grid,.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.work,.case{margin:0;border:1px solid var(--line);height:100%;display:flex;flex-direction:column}.work img,.case img{aspect-ratio:4/3;object-fit:cover}.work div,.case div{padding:24px;flex:1}.work span,.case span{font-size:12px;color:var(--teal)}.work h3,.case h2{font-size:22px;margin:8px 0 0}.final-cta{padding-block:120px;text-align:center;background:var(--surface)}.final-cta .container{display:flex;flex-direction:column;align-items:center}.final-cta p{color:var(--text2);margin:0 0 32px}.phone{font-weight:700;padding:12px}.page-hero{padding-block:112px 96px;background:radial-gradient(circle at 80% 30%,rgba(232,160,32,.08),transparent 34%),var(--night)}.page-hero.teal{background:radial-gradient(circle at 80% 30%,rgba(0,201,167,.12),transparent 35%),var(--surface)}.page-hero.violet{background:radial-gradient(circle at 75% 25%,rgba(232,160,32,.1),transparent 35%),var(--violet)}.page-hero h1{font-size:clamp(2.4rem,5vw,4.2rem);max-width:850px}.light-section{padding-block:112px;background:var(--paper);color:var(--ink)}.service-card,.price-card{padding:32px;border:1px solid #dfe2e8;background:#fff;height:100%;display:flex;flex-direction:column}.service-card h2,.price-card h2{font-size:25px;margin:24px 0 12px}.service-card p{color:#586177;margin:0 0 28px}.service-card a{margin-block-start:auto;color:#137d70;font-weight:700}.icon-box{display:grid;place-items:center;width:52px;height:52px;border:1px solid #bcded8;color:#137d70}.content-section,.platform-strip{padding-block:112px;background:var(--night)}.process{max-width:920px}.process article{display:grid;grid-template-columns:100px 1fr;gap:32px;padding-block:40px;border-block-end:1px solid rgba(255,255,255,.1)}.process b{font-size:64px;color:var(--saffron);line-height:1}.process h2{font-size:28px;margin:0 0 8px}.process p{color:var(--text2);margin:0}.platform-strip{background:var(--surface)}.platform-strip h2{margin:0 0 32px}.chips{display:flex;flex-wrap:wrap;gap:12px}.chips span{padding:12px 18px;border:1px solid var(--line);color:var(--text2)}.two-col,.about-grid,.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:start}.two-col h2,.about-grid h2{font-size:36px;margin:0 0 24px}.check-list{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:12px}.check-list li:before{content:"✓";color:#087567;margin-inline-end:12px}.note-card{background:var(--violet);color:var(--text);padding:40px}.note-card>span{color:var(--teal);font-size:13px}.note-card blockquote{font-size:24px;line-height:1.8;margin:24px 0 32px}.price-card ul{padding-inline-start:20px;display:grid;gap:12px;margin-block-end:32px;color:#586177}.price-card .btn{margin-block-start:auto}.price-card.featured{border-block-start:4px solid var(--saffron)}.article-list{display:grid}.article-list article{display:grid;grid-template-columns:140px 1fr auto;gap:32px;align-items:center;padding-block:32px;border-block-end:1px solid #dfe2e8}.article-list h2{margin:0 0 8px;font-size:25px}.article-list p{margin:0;color:#586177}.article-list time{color:#737c90;direction:ltr}.faqs{max-width:900px}.faqs details{border-block-end:1px solid #d8dce4;padding-block:24px}.faqs summary{display:flex;justify-content:space-between;gap:24px;font-size:20px;font-weight:700;cursor:pointer}.faqs p{color:#586177;max-width:720px}.about-grid img{aspect-ratio:4/3;object-fit:cover}.about-grid p{color:#586177}.about-grid dl{margin-block-start:32px}.about-grid dl div{padding-block:16px;border-block-end:1px solid #dfe2e8}.about-grid dt{font-size:13px;color:#737c90}.about-grid dd{margin:4px 0 0}.contact-form,.admin-card,.settings-grid{display:grid;gap:20px}.contact-form label,.admin-card label,.settings-grid label{display:grid;gap:8px;font-weight:600}.contact-form input,.contact-form select,.contact-form textarea,.admin-card input,.settings-grid input{width:100%;padding:12px 14px;border:1px solid #cdd2dc;background:#fff;color:var(--ink);border-radius:2px}.contact-form textarea{resize:vertical}.contact-form .btn{justify-self:start}.contact-info{background:var(--night);color:var(--text);padding:40px}.contact-info h2{margin:0 0 24px}.contact-info a{display:flex;flex-direction:column;padding-block:20px;border-block-end:1px solid rgba(255,255,255,.1)}.contact-info a span{color:var(--teal);font-size:12px}.contact-info p{color:var(--text2);margin:24px 0 0}.alert{padding:14px 16px;border:1px solid}.success{background:#e8f8f3;color:#075e50;border-color:#91d5c5}.error{background:#fff0f0;color:#8e2424;border-color:#e8adad}.footer{padding-block:80px 24px;background:#050812;border-block-start:1px solid rgba(255,255,255,.08);color:var(--text2)}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:56px}.footer-grid>div{display:flex;flex-direction:column;gap:12px}.footer-grid p{max-width:320px;margin:12px 0 0}.footer h2{font-size:14px;color:var(--text);margin:0 0 8px}.footer-base{display:flex;justify-content:space-between;gap:24px;padding-block-start:32px;margin-block-start:56px;border-block-start:1px solid rgba(255,255,255,.08);font-size:13px}.admin-section{min-height:70vh;padding-block:80px;background:var(--paper);color:var(--ink)}.admin-card{max-width:480px;margin:auto;background:#fff;padding:40px;border:1px solid #dfe2e8}.admin-card h1{margin:0}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-block-end:40px}.admin-head h1{margin:0}.settings-grid{grid-template-columns:1fr 1fr;background:#fff;padding:40px;border:1px solid #dfe2e8}.settings-grid .btn{justify-self:start}
@media(max-width:980px){.desktop-nav{display:none}.menu-btn{display:grid;place-items:center;margin-inline-start:auto}.nav-cta{display:none}.hero-grid,.split{grid-template-columns:1fr;gap:64px}.hero-copy{max-width:720px}.seal{width:min(70vw,380px)}.reverse>*:first-child{order:0}.stats{grid-template-columns:repeat(2,1fr)}.trust-copy{border:0;padding:0}.work-grid,.case-grid,.card-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.container{width:min(100% - 40px,var(--container))}.nav{min-height:68px;gap:16px}.brand{font-size:14px}.brand-mark{width:34px;height:34px}.hero{min-height:auto;padding-block:64px}.hero-grid{gap:48px}.hero h1,.page-hero h1{font-size:clamp(2rem,10.1vw,3.15rem);margin-block-end:24px}.hero-copy p,.page-hero p{font-size:16px;margin-block-end:32px}.actions{align-items:stretch}.actions .btn{width:100%}.seal{width:min(78vw,320px)}.band{padding-block:72px}.split{gap:48px}.band-copy h2,.section-head h2,.final-cta h2{font-size:2rem}.platform-panel{padding:20px}.platforms span{padding:18px 12px;font-size:13px}.rights-index{padding-inline-start:24px}.stats{grid-template-columns:1fr 1fr;gap:32px 24px}.stats strong{font-size:3rem}.trust-band{padding-block:56px}.section-head{align-items:start;flex-direction:column;margin-block-end:40px}.work-grid,.case-grid,.card-grid{grid-template-columns:1fr}.portfolio-band,.light-section,.content-section,.platform-strip{padding-block:72px}.final-cta{padding-block:72px}.page-hero{padding-block:72px}.process article{grid-template-columns:56px 1fr;gap:20px;padding-block:28px}.process b{font-size:44px}.process h2{font-size:23px}.two-col,.about-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.note-card,.contact-info{padding:28px}.article-list article{grid-template-columns:1fr auto;gap:8px 20px}.article-list article time{grid-column:1/-1}.article-list h2{font-size:21px}.footer{padding-block-start:64px}.footer-grid{grid-template-columns:1fr;gap:40px}.footer-base{flex-direction:column}.settings-grid{grid-template-columns:1fr;padding:24px}.admin-card{padding:24px}.admin-head{align-items:flex-start}.contact-form .btn{width:100%}.mobile-nav{max-height:calc(100vh - 68px);overflow:auto}}
@media(max-width:420px){.platforms{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.trust-copy{padding-block-start:24px;border-block-start:1px solid rgba(7,11,24,.25)}.hero h1{font-size:2.15rem}.seal{width:260px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.article-row{display:grid;grid-template-columns:140px 1fr auto;gap:32px;align-items:center;padding:32px 16px;border-block-end:1px solid #dfe2e8;transition:background .25s ease}.article-row:hover{background:#fff}.back-link{display:inline-flex;color:var(--teal);font-weight:700;margin-block-end:32px}.narrow,.prose{max-width:820px}.prose{font-size:18px}.prose .lead{font-size:22px;color:#313b52}.prose h2{font-size:28px;margin:48px 0 12px}.prose p{color:#4e5870}.prose aside{margin-block-start:48px;padding:24px;border-inline-start:3px solid var(--saffron);background:#fff}.prose a{color:#087567;font-weight:700}.case-detail{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.case-detail img{aspect-ratio:4/3;object-fit:cover}.case-detail h2{font-size:36px;margin:12px 0 20px}.case-detail p{color:#586177}.case-detail dl{margin:32px 0;display:grid}.case-detail dl div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding-block:14px;border-block-end:1px solid #dfe2e8}.case-detail dt,.case-kicker{color:#137d70;font-size:13px;font-weight:700}.case-detail dd{margin:0}.case b{display:inline-block;margin-block-start:20px;color:#087567}
@media(max-width:768px){.article-row{grid-template-columns:1fr auto;gap:8px 20px;padding:24px 8px}.article-row time{grid-column:1/-1}.case-detail{grid-template-columns:1fr;gap:40px}.case-detail h2{font-size:28px}.prose{font-size:16px}.prose .lead{font-size:19px}}

/* CR 6a4ea4: uploaded logo in brand-mark */
.brand-mark--img{border:none!important;width:auto;height:38px;padding:0}
.brand-mark--img img{width:auto;height:38px;display:block}

/* CR 6a4ea4: platform logos next to names + title tidy (#1/#3) */
.platforms span{display:flex;align-items:center;gap:10px}
.platforms .plat-ic{width:22px;height:22px;flex:0 0 auto}
.band-copy h2,.section-head h2,.about-grid h2,.platforms span{text-align:start}
.band-copy h2,.section-head h2,.about-grid h2{font-weight:800}

/* CR816: grouped contact with icons */
.footer-grid .fh-c{display:flex;align-items:center;gap:8px;margin:0 0 9px;color:inherit;text-decoration:none;line-height:1.5}
.footer-grid .fh-c:hover{opacity:.85}
.footer-grid .fh-ic{width:18px;height:18px;flex:0 0 auto;opacity:.9}
.footer-grid .fh-wa .fh-ic{width:22px;height:22px;opacity:1}
.footer-grid .fh-c>span{min-width:0;word-break:break-word}

/* CR#923 distribution panel note */
.panel-head{flex-wrap:wrap}
.panel-note{color:var(--text2);font-size:14px;line-height:1.9;margin:16px 0 0}

.process-en{display:block;color:var(--text2);opacity:.72;font-size:14px;letter-spacing:.01em;margin:-2px 0 10px}

/* CR#927: platform chips with brand marks */
.platform-strip h2{max-width:900px;line-height:1.55}
.plat-sub{font-size:.62em;font-weight:400;color:var(--text2)}
.chips span{display:inline-flex;align-items:center;gap:10px}
.chips .plat-ic{width:22px;height:22px;flex:0 0 auto}

/* CR#930 (2026-09-05): real logo in footer brand-mark + align brand with its column (RTL start) */
.footer-grid .brand{align-self:flex-start}
.footer-grid .brand-mark--img,.footer-grid .brand-mark--img img{height:44px}

/* === CR970-971-975-fhpro-typo-v1 === */
@font-face{font-family:Vazirmatn;src:url(/assets/fonts/Vazirmatn-Regular.woff2)format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(/assets/fonts/Vazirmatn-Medium.woff2)format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(/assets/fonts/Vazirmatn-SemiBold.woff2)format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(/assets/fonts/Vazirmatn-Bold.woff2)format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(/assets/fonts/Vazirmatn-ExtraBold.woff2)format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(/assets/fonts/Vazirmatn-ExtraBold.woff2)format("woff2");font-weight:900;font-display:swap}
body{font-family:Vazirmatn,system-ui,sans-serif;font-size:17px;line-height:1.8}
/* harmonised type scale: lift the too-small, calm the too-large */
.eyebrow{font-size:15px;letter-spacing:.08em;margin-block-end:20px}
.hero-copy p,.page-hero p{font-size:20px;line-height:1.85}
.hero h1{font-size:clamp(2.2rem,4.4vw,3.8rem);letter-spacing:-.035em}
.page-hero h1{font-size:clamp(1.95rem,3.7vw,3.15rem);letter-spacing:-.03em}
.band-copy h2,.section-head h2,.final-cta h2{font-size:clamp(1.95rem,3.6vw,2.9rem)}
.desktop-nav{font-size:15px}
.work span,.case span,.contact-info a span,.note-card>span,.about-grid dt{font-size:13px}
.work h3,.case h2{font-size:23px}
.footer h2{font-size:15px}
.footer-base{font-size:14px}
.final-cta p,.band-copy p{font-size:18px}
/* CR#970 — consultation CTA sits centred on its own */
.final-cta .actions{justify-content:center;width:100%}
@media(max-width:768px){
  body{font-size:16px}
  .hero-copy p,.page-hero p{font-size:18px}
  .eyebrow{font-size:14px}
  .band-copy h2,.section-head h2,.final-cta h2{font-size:1.95rem}
  .final-cta p,.band-copy p{font-size:17px}
}
/* === /CR970-971-975-fhpro-typo-v1 === */
/* === CR977-980-982-fhpro-admin-v1 === */
.admin-section{font-size:16px}
.admin-section h1{font-size:clamp(1.7rem,3vw,2.3rem);margin:0}
.admin-section h2{font-size:1.4rem;margin:0 0 20px}
.admin-section h3{font-size:1.15rem;margin:28px 0 12px}
.admin-sub{margin-block:48px 20px;padding-block-end:12px;border-block-end:2px solid #e6dcc3}
.admin-hint{font-size:14px;color:#6b7280;margin:.3rem 0}
.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-block-end:32px;border-block-end:1px solid #dfe2e8}
.admin-tabs a{padding:12px 20px;font-weight:700;font-size:15px;color:#586177;border-block-end:3px solid transparent;margin-block-end:-1px}
.admin-tabs a:hover{color:var(--ink)}
.admin-tabs a.is-active{color:#137d70;border-block-end-color:#137d70}
.admin-form{display:grid;gap:20px;background:#fff;padding:32px;border:1px solid #dfe2e8;max-width:820px}
.admin-form label{display:grid;gap:8px;font-weight:600;font-size:15px}
.admin-form input,.admin-form textarea,.admin-form select{width:100%;padding:12px 14px;border:1px solid #cdd2dc;background:#fff;color:var(--ink);border-radius:2px;font-size:15px}
.admin-form textarea{resize:vertical;line-height:1.9}
.admin-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-block-start:8px}
.btn-sm{min-height:38px;padding:6px 14px;font-size:14px}
.btn.danger{background:#b4232a;color:#fff;border-color:#b4232a}
.btn.danger:hover{background:#8e1b21}
.admin-table-wrap{overflow-x:auto;background:#fff;border:1px solid #dfe2e8}
.admin-table{width:100%;border-collapse:collapse;font-size:15px;direction:rtl}
.admin-table th{background:#f6f3ec;text-align:right;padding:14px 12px;border-block-end:2px solid #e6dcc3;font-size:14px;white-space:nowrap}
.admin-table td{padding:14px 12px;border-block-end:1px solid #eee;vertical-align:middle}
.admin-table tr.is-clickable{cursor:pointer}
.admin-table tr.is-clickable:hover{background:#fbf9f4}
.admin-table .rowlink{font-weight:700;color:#137d70}
.admin-table .rowlink:hover{text-decoration:underline}
.admin-mini{width:64px;height:44px;object-fit:cover;border:1px solid #e5e7eb}
.admin-rowbtns{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.admin-rowbtns form{margin:0}
.admin-thumb{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.admin-thumb img{width:140px;height:96px;object-fit:cover;border:1px solid #e5e7eb}
.admin-detail{background:#fff;border:1px solid #dfe2e8;padding:32px;margin-block-start:20px;max-width:820px}
.admin-detail h2{margin:0 0 24px;font-size:1.6rem}
.admin-dl{display:grid;gap:0;margin:0 0 8px}
.admin-dl div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding-block:14px;border-block-end:1px solid #eef0f4}
.admin-dl dt{color:#6b7280;font-size:14px;margin:0}
.admin-dl dd{margin:0;font-weight:600}
.admin-dl dd a{color:#137d70}
.admin-msgbody{background:#f9fafb;border:1px solid #eef0f4;padding:20px;line-height:2;white-space:normal;min-height:80px}
.admin-section .back-link{display:inline-block;margin-block-end:20px;color:#137d70;font-weight:700}
@media(max-width:768px){
  .admin-form{padding:20px}
  .admin-detail{padding:20px}
  .admin-dl div{grid-template-columns:1fr;gap:4px;padding-block:12px}
  .admin-tabs a{padding:10px 14px;font-size:14px}
  /* #B80: admin tables become cards on mobile so the action column is reachable */
  .admin-table-wrap{overflow:visible;border:0;background:transparent}
  .admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%;min-width:0}
  .admin-table thead{display:none}
  .admin-table tr{background:#fff;border:1px solid #dfe2e8;margin-block-end:14px;padding:14px}
  .admin-table td{border:0;padding:7px 0;display:flex;gap:12px;justify-content:space-between;align-items:center;min-width:0}
  .admin-table td:before{content:attr(data-label);color:#6b7280;font-size:13px;flex:0 0 auto}
  .admin-table td[data-label=""]:before{content:none}
  .admin-table td>*{min-width:0;overflow-wrap:anywhere}
}
/* === /CR977-980-982-fhpro-admin-v1 === */
.article-thumb{width:120px;height:80px;object-fit:cover}
.article-hero-img{width:100%;max-height:420px;object-fit:cover;margin-block-end:32px}

/* === CR981-fhpro-pricecards-v1 — all three tariff cards identical to the middle one === */
.price-card{border-block-start:4px solid var(--saffron)}
.price-card .btn.outline{background:var(--saffron);color:var(--night);border-color:var(--saffron)}
.price-card .btn.outline:hover{background:var(--ember);border-color:var(--ember)}
/* === /CR981-fhpro-pricecards-v1 === */
/* === CR983-fhpro-seal-logo-v1 — customer logo inside the saffron seal === */
.seal-core{overflow:hidden;padding:14%}
.seal-core img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
/* === /CR983-fhpro-seal-logo-v1 === */
/* === CR983b: .seal-core is a flex column, which collapsed the logo to 0 width.
       Use an explicit grid box so the image always fills the saffron circle. === */
.seal-core{display:grid!important;place-items:center;padding:0;overflow:hidden}
.seal-core img{width:74%;height:74%;object-fit:contain;display:block;margin:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3))}
/* === /CR983b-fhpro-seal-sizing-v1 === */
/* === CR988-989-fhpro-rights-services-v1 === */
.rights-head{font-size:clamp(1.7rem,3.2vw,2.4rem);margin:0 0 40px}
.rights-services{list-style:none;margin:0;padding:0;display:grid;gap:28px;counter-reset:none}
.rights-service{display:grid;grid-template-columns:56px 1fr;gap:20px;align-items:start;background:#fff;border:1px solid #dfe2e8;border-inline-start:4px solid var(--saffron);padding:28px 28px 24px}
.rights-num{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--saffron);color:var(--night);font-weight:800;font-size:1.05rem;line-height:1}
.rights-body{min-width:0}
.rights-body h3{margin:0 0 6px;font-size:1.3rem;line-height:1.4}
.rights-en{margin:0 0 14px;font-size:.95rem;font-weight:700;color:#137d70;letter-spacing:.01em}
.rights-desc{margin:0;color:#586177;line-height:2.05;font-size:1rem}
.rights-note{margin-block-start:48px}
@media(max-width:768px){
  .rights-service{grid-template-columns:1fr;gap:12px;padding:22px 20px}
  .rights-num{width:38px;height:38px;font-size:.95rem}
  .rights-body h3{font-size:1.15rem}
  .rights-desc{font-size:.97rem;line-height:1.95}
}
/* === /CR988-989-fhpro-rights-services-v1 === */
/* cr1044-wa-float */
.fh-wa-float{position:fixed;bottom:1.25rem;z-index:1200;display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:inherit}
.fh-wa-float--left{left:1.25rem;flex-direction:row}
.fh-wa-float--right{right:1.25rem;flex-direction:row-reverse}
.fh-wa-float__icon{width:56px;height:56px;flex:0 0 56px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.35);transition:transform .18s ease}
.fh-wa-float__icon svg{width:32px;height:32px;display:block}
.fh-wa-float:hover .fh-wa-float__icon,.fh-wa-float:focus-visible .fh-wa-float__icon{transform:scale(1.06)}
.fh-wa-float__text{display:none;min-width:0;max-width:min(15rem,calc(100vw - 8rem));background:#fff;color:#111;border-radius:12px;padding:.5rem .8rem;box-shadow:0 8px 22px rgba(0,0,0,.28);line-height:1.35}
.fh-wa-float__text strong{display:block;font-size:.86rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fh-wa-float__text span{display:block;font-size:.74rem;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:768px){.fh-wa-float__text{display:block}}
@media(prefers-reduced-motion:reduce){.fh-wa-float__icon{transition:none}}

/* CR#1136 — language switch (shown in both languages) */
.lang-switch{display:inline-flex;align-items:center;gap:.35rem;padding:6px 14px;
  border:1px solid rgba(232,160,32,.5);border-radius:999px;color:var(--saffron);
  font-size:13px;line-height:1.6;text-decoration:none;white-space:nowrap}
.lang-switch:hover{background:rgba(232,160,32,.12)}
.lang-switch .lang-switch-code{font-weight:700;letter-spacing:.04em;display:none}
.lang-switch .lang-switch-label{display:inline}
@media(max-width:1439px){.lang-switch .lang-switch-code{display:inline}
  .lang-switch .lang-switch-label{display:none}}
.lang-switch--mobile{justify-content:center;margin:.75rem 0 0}

/* ── cr1234: the language switcher is one button with a dropdown ────────────
   Named after the language currently being read, so nobody meets a caption in
   a script they cannot read. Built on <details>, so it opens without any
   JavaScript; the old .lang-switch rules above are left in place because the
   private/preview header still renders without a switcher at all. */
.lang-menu{position:relative;display:inline-block}
.lang-menu-btn{display:inline-flex;align-items:center;gap:.4rem;padding:6px 14px;
  border:1px solid rgba(232,160,32,.5);border-radius:999px;color:var(--saffron);
  font-size:13px;line-height:1.6;white-space:nowrap;cursor:pointer;list-style:none}
.lang-menu-btn::-webkit-details-marker{display:none}
.lang-menu-btn:hover{background:rgba(232,160,32,.12)}
.lang-menu-btn:focus-visible{outline:2px solid var(--saffron);outline-offset:2px}
.lang-menu-caret{width:14px;height:14px;flex:0 0 auto;transition:transform .18s ease}
.lang-menu[open] .lang-menu-caret{transform:rotate(180deg)}
.lang-menu-list{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:60;
  min-width:190px;display:flex;flex-direction:column;padding:6px;
  background:#14161a;border:1px solid rgba(232,160,32,.35);border-radius:12px;
  box-shadow:0 18px 40px rgba(0,0,0,.45)}
.lang-menu-item{display:flex;align-items:center;gap:.55rem;padding:8px 12px;border-radius:8px;
  color:#e9e6e1;font-size:13.5px;line-height:1.7;text-decoration:none;white-space:nowrap}
.lang-menu-item:hover{background:rgba(232,160,32,.14);color:var(--saffron)}
.lang-menu-item.is-on{color:var(--saffron);background:rgba(232,160,32,.10);cursor:default}
.lang-menu-code{font-weight:700;letter-spacing:.04em;font-size:11.5px;opacity:.75;min-width:22px}
/* mobile list: the dropdown is part of the flow, not floating over the nav */
.lang-menu--mobile{display:block;margin:.75rem 0 0}
.lang-menu--mobile .lang-menu-btn{justify-content:center;width:100%}
.lang-menu--mobile .lang-menu-list{position:static;min-width:0;margin-top:6px;
  box-shadow:none;background:rgba(255,255,255,.03)}
@media (prefers-reduced-motion:reduce){.lang-menu-caret{transition:none}}
/* cr1234b: below the mobile-nav breakpoint the header keeps only the brand and
   the burger -- .desktop-nav and .nav-cta already hide there. The switcher in
   the header would otherwise sit next to the burger with its full caption; the
   mobile nav carries its own copy, so the header one steps aside too. */
@media(max-width:980px){.lang-menu:not(.lang-menu--mobile){display:none}}

/* ── ivos_cr1241 (Kopfleiste, alle drei Sprachen gleich) ───────────────────
   Der Kunde wollte das Logo weiter nach rechts und «تماس و مشاوره» weiter nach
   links -- beide sassen am Rand des 1240px-Containers, waehrend rechts und links
   davon Leerraum blieb. Nur die Kopfleiste bekommt deshalb einen breiteren
   Container; alle uebrigen .container-Bloecke behalten ihre 1240px.
   Die Menuepunkte werden groesser und heller. Die Groesse ist eine clamp()-Formel,
   deren UNTERE Grenze exakt der bisherige Wert (15px) ist -- schmale Fenster
   koennen dadurch nicht enger werden als heute, breite bekommen 18px. Dasselbe
   gilt fuer die Luecke: Minimum 16px statt fest 28px, also mehr Platz, nicht
   weniger. Der Block haengt an der Kopfleiste, nicht an einer Sprache, und gilt
   daher fuer فارسی, English und Azərbaycanca gleichermassen. */
.header .container.nav{width:min(100% - 40px,1660px)}
.desktop-nav{font-size:clamp(15px,1.15vw,18px);gap:clamp(16px,1.6vw,30px);color:#ccd4e8}
.desktop-nav a{font-weight:600}
.desktop-nav a:hover{color:#fff}

/* ── ivos_cr1237 — Uebersetzungs-Tab im Panel (/admin/en, /admin/az) ───────
   Der Kunde nannte die Seite «خیلی زشت». Gemessen bei 1440px Fensterbreite:
   die Tabelle war 444px breit, das Eingabefeld 220px -- links und rechts je
   rund 500px leere Flaeche. Ursache war KEINE Tabellenregel, sondern dass die
   Gruppen-Karte an `.admin-card` hing, derselben Klasse wie die Login-Karte
   (`max-width:480px;margin:auto`). Die Gruppe hat jetzt eine eigene Klasse und
   nimmt die volle Breite; dazu Kopfzeile mit Fortschritt je Gruppe, ruhigere
   Zeilen, groessere Eingabefelder, gelbe Markierung fuer noch leere Felder und
   eine mitlaufende Speicherleiste, damit man bei 302 Zeilen nicht ans Ende
   scrollen muss. Alles unter `.fh-i18n` -- kein anderer Panel-Tab ist betroffen. */
.fh-i18n .fh-i18n-intro{background:#fff;border:1px solid #dfe2e8;padding:20px 24px;margin-block-end:16px}
.fh-i18n .fh-i18n-intro .admin-hint{margin:0 0 .5rem}
.fh-i18n-meter{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0;font-size:14px;font-weight:700;color:#0f6d5f}
.fh-i18n-meter i{display:block;width:200px;height:8px;border-radius:99px;background:#e6e9ee;overflow:hidden}
.fh-i18n-meter i>b{display:block;height:100%;background:#137d70}
.fh-i18n-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;background:#fff;border:1px solid #dfe2e8;
  padding:16px 20px;margin-block-end:24px}
.fh-i18n-bar .admin-hint{margin:0;flex:1 1 280px}
.fh-i18n-group{background:#fff;border:1px solid #dfe2e8;margin-block-end:14px}
.fh-i18n-group>summary{display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer;
  font-weight:800;font-size:16px;color:var(--ink);list-style:none}
.fh-i18n-group>summary::-webkit-details-marker{display:none}
.fh-i18n-group>summary:before{content:"\25BE";font-size:13px;color:#137d70}
.fh-i18n-group:not([open])>summary:before{content:"\25C2"}
.fh-i18n-group>summary:hover{background:#fbf9f4}
.fh-i18n-count{margin-inline-start:auto;font-weight:700;font-size:13px;color:#586177;background:#f2f4f7;
  border-radius:99px;padding:3px 12px}
.fh-i18n-count.is-done{color:#0f6d5f;background:#e4f5f0}
.fh-i18n-body{padding:0 20px 20px;border:0;background:transparent}
.fh-i18n .admin-table{table-layout:fixed}
.fh-i18n .admin-table th:first-child,.fh-i18n .admin-table td:first-child{width:42%}
.fh-i18n .admin-table td{vertical-align:top;padding:14px 16px}
.fh-i18n .admin-table tbody tr:nth-child(even){background:#fafbfc}
.fh-i18n .fh-src{display:block;color:#3f4757;font-size:15px;line-height:1.9}
.fh-i18n textarea{width:100%;min-height:66px;padding:11px 13px;border:1px solid #cdd2dc;border-radius:6px;
  background:#fff;color:var(--ink);font-size:15px;line-height:1.8;resize:vertical}
.fh-i18n textarea:focus{outline:none;border-color:#137d70;box-shadow:0 0 0 3px rgba(19,125,112,.14)}
.fh-i18n textarea.is-empty{background:#fffaf0;border-color:#e6c98a}
.fh-i18n-save{position:sticky;inset-block-end:0;z-index:5;display:flex;align-items:center;flex-wrap:wrap;gap:14px;
  padding:14px 0;margin-block-start:8px;border-block-start:1px solid #dfe2e8;background:rgba(245,246,248,.94)}
.fh-i18n-save .admin-hint{margin:0}
@media(max-width:768px){
  .fh-i18n .admin-table th:first-child,.fh-i18n .admin-table td:first-child{width:auto}
  .fh-i18n .fh-i18n-intro{padding:16px}
  .fh-i18n-meter i{width:120px}
  .fh-i18n-body{padding:0 12px 14px}
}/* ivos_cr1237b: `.btn.outline` traegt eine Randfarbe fuer den DUNKLEN Seiten-
   hintergrund (rgba(238,242,255,.25)); auf der weissen Panel-Flaeche war der
   Knopf «بازخوانی متن‌های سایت» dadurch unsichtbar -- er sah aus wie fetter
   Text. Nur in diesem Tab korrigiert. */
.fh-i18n .btn.outline{border-color:#c3cad6;color:#2b3446;background:#fff}
.fh-i18n .btn.outline:hover{border-color:#137d70;color:#0f6d5f;background:#f4faf8}

/* ── ivos_cr1249 — der Sprachknopf war zu klein und zu unauffaellig ────────
   Vorher: 13px, normales Gewicht, 6x14px Polsterung, durchsichtiger Grund,
   1px Rand. Jetzt 15px in Vazirmatn ExtraBold -- Gewicht 800 liegt als eigene
   Schriftdatei (Vazirmatn-ExtraBold.woff2) vor, wird also echt gesetzt und
   nicht kuenstlich fett gerechnet -- dazu gefuellter Grund und doppelt so
   starker Rand. Gilt fuer alle drei Sprachen, in der Kopfleiste wie im
   Burger-Menue. Der Knopf wird dadurch breiter; die LTR-Umschaltschwelle aus
   cr1241 wird nach der Messung entsprechend nachgezogen. */
.lang-menu-btn{padding:10px 18px;font-size:15px;font-weight:800;border-width:2px;
  background:rgba(232,160,32,.14);color:#f2c25a}
.lang-menu-btn:hover{background:rgba(232,160,32,.26);color:#ffd97a}
.lang-menu-caret{width:16px;height:16px;stroke-width:2.4}
.lang-menu-item{font-size:14.5px;font-weight:700;padding:10px 14px}
.lang-menu-code{font-size:12.5px;opacity:.85}

/* cr1235: the untranslated count travels with the tab bar, so a half
   translated language is visible from every panel page, not only inside
   the language tab itself. */
.admin-tabs a .fh-i18n-badge{display:inline-block;margin-inline-start:6px;min-width:20px;padding:1px 6px;
  border-radius:99px;background:#b4451f;color:#fff;font-size:12px;font-weight:700;line-height:1.5;text-align:center}
.fh-i18n-alert{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-block-end:16px}
.fh-i18n-alert a{font-weight:700;text-decoration:underline}
.fh-i18n-alert .admin-hint{margin:0;flex:1 1 240px}
.fh-i18n-stale>summary{color:#7a5230}
.fh-i18n-stale-list{margin:0 0 14px;padding-inline-start:20px;max-height:260px;overflow:auto}
.fh-i18n-stale-list li{margin-block-end:6px;font-size:14px;color:#586177}

/* ── ivos_cr1258 (09.09.2026) — Kopfleiste im schmalen Fensterband ──────────
   Mit dem neunten Navigationspunkt ("پرسش‌های متداول") passt die PERSISCHE
   Leiste zwischen 981px und 1226px nicht mehr ins Fenster: der Kontakt-Knopf
   und (ganz unten im Band) der Sprachumschalter rutschen links aus dem Bild.
   Gemessen, nicht geschaetzt: bei 981px lag der Knopf bei left=-197px.
   Zwei Dinge, die man dabei wissen muss:
   • Das Band war schon VOR diesem Punkt defekt (981..1077px) — cr1241 hatte
     es nur verkleinert, nicht geschlossen. Persisch bricht als einziges,
     weil die Beschriftungen dort am laengsten sind (en/az waren immer sauber).
   • `overflow-x:hidden` auf <body> macht den Ueberlauf UNSICHTBAR: sowohl
     scrollWidth-clientWidth des Fensters als auch der Kopfleiste melden 0.
     Nur getBoundingClientRect() JE ELEMENT zeigt es.
   Deshalb hier fluide Werte statt einer festen Stufe — sie greifen genau so
   weit, wie das Fenster schmaler wird. Geprueft ueber jede einzelne Breite
   von 981px bis 1500px in fa, en und az: kein Element verlaesst das Bild. */
@media(min-width:981px) and (max-width:1320px){
  .header .container.nav{gap:clamp(12px,1.4vw,18px)}
  .desktop-nav{font-size:clamp(13px,1.32vw,15.5px);gap:clamp(9px,1.05vw,13px)}
  .desktop-nav a{padding-block:10px}
  .nav-cta{padding:10px clamp(11px,1.2vw,15px);font-size:clamp(13px,1.3vw,15px);min-height:42px}
  .lang-menu-btn{padding:7px clamp(8px,1vw,12px);font-size:clamp(13px,1.3vw,15px);border-width:1px}
}
/* ── /ivos_cr1258 ── */

/* CR#1589 — Netzwerk-Icons in der Fusszeile. 44px Ziel, damit sie auf dem Handy
   sicher treffbar sind (Apple/Android-Mindestmass). */
.fh-socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.fh-socials .fh-soc{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:inherit;transition:.18s ease}
.fh-socials .fh-soc:hover,.fh-socials .fh-soc:focus-visible{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.fh-socials .fh-soc .fh-ic{width:22px;height:22px}
