
:root{
  --bg:#fbf9fd;
  --surface:#ffffff;
  --surface-2:#fcfafc;
  --surface-3:#f1e8f6;
  --text:#291b31;
  --muted:#746979;
  --muted-2:#9b91a0;
  --line:#e8e1eb;
  --primary:#7443A8;
  --primary-2:#5a2d82;
  --primary-dark:#4b226e;
  --cyan:#6BC7D6;
  --cyan-dark:#3998aa;
  --yellow:#F4C430;
  --gray:#B8B8B8;
  --blue:#49adbe;
  --green:#329f91;
  --orange:#d7a514;
  --red:#d74f61;
  --shadow-xs:0 2px 10px rgba(72,43,86,.055);
  --shadow-sm:0 12px 34px rgba(79,38,111,.09);
  --shadow-md:0 24px 62px rgba(79,38,111,.13);
  --shadow-lg:0 36px 100px rgba(79,38,111,.19);
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:26px;
  --radius-xl:36px;
  --grad:linear-gradient(135deg,#7443A8 0%,#5a2d82 68%,#4b226e 100%);
  --grad-cyan:linear-gradient(135deg,#6BC7D6,#44aabb);
  --grad-blue:linear-gradient(135deg,#7443A8,#6BC7D6);
  --grad-dark:linear-gradient(135deg,#321640,#7443A8);
  --grad-brand:linear-gradient(135deg,#7443A8 0 54%,#6BC7D6 100%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;min-height:100%;font-family:"Vazirmatn",Tahoma,sans-serif;color:var(--text);background:var(--bg);overflow-x:hidden;line-height:1.7;-webkit-font-smoothing:antialiased}
body::selection{background:rgba(116,67,168,.18);color:var(--primary-dark)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
iconify-icon{font-size:1.25em;vertical-align:middle;flex:0 0 auto}
.site-main{position:relative;z-index:1;min-height:65vh}
.container{max-width:1320px}
.ambient{position:fixed;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(10px);opacity:.28}
.ambient-one{width:460px;height:460px;top:120px;right:-260px;background:radial-gradient(circle,#d8c4e5,transparent 68%)}
.ambient-two{width:420px;height:420px;top:740px;left:-260px;background:radial-gradient(circle,#bce5eb,transparent 68%)}
.skip-link{position:fixed;top:8px;right:8px;z-index:9999;padding:10px 16px;background:#2b1833;color:#fff;border-radius:10px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-size:.82rem;font-weight:800;letter-spacing:.01em;margin-bottom:10px}
.eyebrow--light{color:#e5d7ec}
.button{min-height:46px;border:0;border-radius:15px;padding:10px 19px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;transition:.2s ease;white-space:nowrap}
.button:hover{transform:translateY(-2px)}
.button--primary{color:#fff;background:var(--grad);box-shadow:0 12px 28px rgba(116,67,168,.24)}
.button--primary:hover{color:#fff;box-shadow:0 16px 36px rgba(116,67,168,.32)}
.button--soft{color:var(--primary);background:#f1e8f6;border:1px solid #dfd0e8}
.button--soft:hover{color:var(--primary-dark);background:#eadff0}
.button--white{color:var(--primary-dark);background:#fff;box-shadow:var(--shadow-sm)}
.button--white:hover{color:var(--primary-dark)}
.button--block{width:100%}
.button--lg{min-height:54px;border-radius:17px;padding-inline:24px}
.button--disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}
.button--disabled:hover{transform:none}
.form-control,.form-select,input:not([type=checkbox]):not([type=radio]),textarea,select{min-height:48px;border:1px solid #dde2eb;border-radius:14px;background:#fff;color:var(--text);padding:10px 14px;outline:none;transition:.18s ease}
.form-control:focus,.form-select:focus,input:focus,textarea:focus,select:focus{border-color:rgba(116,67,168,.62);box-shadow:0 0 0 4px rgba(116,67,168,.10)}
textarea{resize:vertical}
.ltr-input{direction:ltr;text-align:left}
.muted-value{color:var(--muted)}
.text-success{color:var(--green)!important}
.errorlist{list-style:none;padding:0;margin:7px 0 0;color:var(--red);font-size:.82rem;font-weight:700}
.field-error{display:flex;align-items:center;gap:6px;color:var(--red);font-size:.82rem;margin-top:7px}
.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 10px;border-radius:999px;font-size:.76rem;font-weight:800;white-space:nowrap}
.status-badge--success{background:#e7f8f0;color:#10774f}
.status-badge--warning{background:#fff4d6;color:#9a6200}
.status-badge--danger{background:#ffeaec;color:#bd2e36}
.status-badge--neutral{background:#eff2f6;color:#68748a}
.category-label{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f1e8f6;color:var(--primary);font-size:.74rem;font-weight:800}
.soft-divider{height:1px;background:var(--line)}
.scroll-meter{position:fixed;top:0;left:0;right:0;height:3px;z-index:3000;background:transparent}
.scroll-meter__bar{height:100%;width:0;background:var(--grad)}
.preloader{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;background:rgba(247,248,252,.96);backdrop-filter:blur(18px);transition:opacity .35s ease,visibility .35s ease}
.preloader--hide{opacity:0;visibility:hidden;pointer-events:none}
.preloader__card{display:flex;flex-direction:column;align-items:center;gap:13px;color:var(--muted);font-size:.9rem;font-weight:700}
.preloader__dots{display:flex;gap:6px}.preloader__dots i{width:8px;height:8px;border-radius:50%;background:var(--primary);animation:dot 1s infinite alternate}.preloader__dots i:nth-child(2){animation-delay:.18s}.preloader__dots i:nth-child(3){animation-delay:.36s}
@keyframes dot{to{transform:translateY(-7px);opacity:.35}}
.back-to-top{position:fixed;left:22px;bottom:24px;width:46px;height:46px;border-radius:15px;border:1px solid var(--line);background:#fff;color:var(--primary);display:none;place-items:center;z-index:1020;box-shadow:var(--shadow-sm)}
.messages-wrap{position:relative;z-index:1050}
.toast-stack{position:fixed;top:116px;left:24px;width:min(420px,calc(100vw - 32px));display:grid;gap:10px;z-index:2000}
.notice{display:grid;grid-template-columns:40px 1fr 28px;align-items:center;gap:10px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow-md);font-size:.9rem;font-weight:700;animation:notice-in .3s ease}
.notice__icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#f1e8f6;color:var(--primary)}
.notice--success .notice__icon{background:#e7f8f0;color:var(--green)}.notice--danger .notice__icon{background:#ffeaec;color:var(--red)}.notice--warning .notice__icon{background:#fff4d6;color:var(--orange)}
.notice button{border:0;background:none;color:var(--muted);padding:0}
@keyframes notice-in{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:none}}
@media(max-width:991.98px){html{scroll-padding-top:78px}.site-main{padding-bottom:76px}.back-to-top{bottom:92px}.toast-stack{top:82px;left:16px}.ambient{display:none}}
@media(max-width:575.98px){.container{padding-inline:16px}.button{min-height:44px}.toast-stack{width:calc(100vw - 24px);left:12px}.notice{grid-template-columns:34px 1fr 24px;padding:10px}.back-to-top{left:14px;width:42px;height:42px}.eyebrow{font-size:.77rem}}
.no-scroll{overflow:hidden!important}
.quote-loading{display:flex;align-items:center;justify-content:center;gap:9px;min-height:62px;border-radius:16px;background:#f8fafc;color:var(--muted);font-size:.76rem}
.quote-result{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;padding:12px;border-radius:16px;border:1px solid}
.quote-result__icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:1.4rem}.quote-result div{display:grid;gap:3px}.quote-result strong{font-size:.76rem}.quote-result small{font-size:.64rem;line-height:1.7}
.quote-result--success{background:#effcf6;border-color:#bbf0d5;color:#08764e}.quote-result--warning{background:#fff9ea;border-color:#ffe3a2;color:#946200}.quote-result--danger{background:#fff3f4;border-color:#ffd0d5;color:#b42332}

/* Stage 3: navigation must never cover or trap the page. */
.preloader{display:none!important;visibility:hidden!important;pointer-events:none!important}
.route-progress{position:fixed;z-index:5000;inset:0 0 auto;height:3px;pointer-events:none;opacity:0;overflow:hidden;transition:opacity .18s ease}
.route-progress span{display:block;width:38%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),#6BC7D6);transform:translateX(280%)}
.route-progress.is-active{opacity:1}
.route-progress.is-active span{animation:route-progress 1.05s ease-in-out infinite}
@keyframes route-progress{0%{transform:translateX(280%)}100%{transform:translateX(-340%)}}
@media (prefers-reduced-motion:reduce){.route-progress.is-active span{animation:none;width:100%;transform:none}}

/* Stage 6 — Hورا-inspired brand palette */
body{background:
  radial-gradient(circle at 92% 4%,rgba(107,199,214,.13),transparent 26rem),
  radial-gradient(circle at 6% 34%,rgba(116,67,168,.08),transparent 30rem),
  var(--bg)}
body::selection{background:rgba(244,196,48,.42);color:var(--primary-dark)}
.button--primary{position:relative;overflow:hidden;background:var(--grad-brand);box-shadow:0 14px 32px rgba(116,67,168,.24)}
.button--primary::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 15%,rgba(255,255,255,.22) 45%,transparent 75%);transform:translateX(130%);transition:transform .55s ease}
.button--primary:hover::after{transform:translateX(-130%)}
.button--soft{color:var(--primary-dark);background:#f4edf7;border-color:#e1d3e8}
.button--soft:hover{background:#e9dfee;color:var(--primary-dark)}
.button--white{color:var(--primary-dark)}
.category-label{background:#f1e8f6;color:var(--primary)}
.status-badge--success{background:#e7f6f4;color:#247b70}.status-badge--warning{background:#fff7d8;color:#896600}.status-badge--danger{background:#fdecef;color:#ad3344}.status-badge--neutral{background:#f0eef1;color:#716876}
.eyebrow{color:var(--primary)}.eyebrow iconify-icon{color:var(--cyan-dark)}
.route-progress span,.scroll-meter__bar{background:linear-gradient(90deg,var(--primary),var(--cyan),var(--yellow))}
.brand-logo{position:relative;background:var(--grad-brand);box-shadow:0 12px 28px rgba(116,67,168,.25)}
.brand-logo::after{content:"";position:absolute;width:10px;height:10px;border-radius:3px;background:var(--yellow);left:5px;bottom:5px;box-shadow:0 0 0 3px rgba(255,255,255,.25)}
.form-control:focus,.form-select:focus,input:focus,textarea:focus,select:focus{border-color:rgba(116,67,168,.58);box-shadow:0 0 0 4px rgba(107,199,214,.18)}
.back-to-top{color:var(--primary);border-color:#dfd2e7}
.notice__icon{background:#f1e8f6;color:var(--primary)}
