@font-face{
  font-family:'YekanBakhFaNum';
  src:url('YekanBakhFaNum-VF.woff2') format('woff2'),
      url('YekanBakhFaNum-VF.woff') format('woff');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

:root{
  --blue:        #2563EB;
  --blue-hover:  #1D4ED8;
  --ink:         #000000;
  --slate:       #757681;
  --paper:       #FFFFFF;
  --hairline:    #E7E8EC;
  --tint:        #F5F7FC;
  --ease: cubic-bezier(.22,.61,.36,1);
}

html{scroll-behavior:smooth;}
body{
  font-family:'YekanBakhFaNum', -apple-system, sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

:focus-visible{
  outline:2.5px solid var(--blue);
  outline-offset:3px;
  border-radius:4px;
}

/* ===================== STICKY HEADER ===================== */
.rasa-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:box-shadow .3s var(--ease);
}
.rasa-header.scrolled{
  box-shadow:0 4px 24px rgba(15,23,42,.06);
  border-bottom-color:var(--hairline);
}
.rasa-header .rasa-logo{
  display:flex; align-items:center;
}
.rasa-header .rasa-logo img{
  display:block;
  height:36px; width:auto;
  max-width:180px;
}

/* nav menu styling inside header */
.rasa-header .elementor-widget-nav-menu .elementor-nav-menu a{
  font-size:14.5px; font-weight:500;
  color:var(--ink);
  padding:4px 0;
}
.rasa-header .elementor-widget-nav-menu .elementor-nav-menu a:hover{color:var(--blue);}

/* header button */
.rasa-header .rasa-btn-header .elementor-button{
  font-weight:700; font-size:14px;
}
.rasa-btn-header .elementor-button{white-space:nowrap;}

/* ===================== HERO ===================== */
.rasa-eyebrow{
  display:inline-flex; align-items:center;
  width:auto;
}
.rasa-eyebrow .elementor-icon{
  display:flex; align-items:center; justify-content:center;
}
.rasa-eyebrow .elementor-heading-title{
  font-size:13px; font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
}
.rasa-eyebrow .elementor-icon svg{animation:pulse 2s infinite;}
@keyframes pulse{
  0%,100%{opacity:1; transform:scale(1);}
  50%{opacity:.4; transform:scale(.7);}
}
.rasa-hero-sub .elementor-widget-container p{
  font-size:inherit; color:inherit; max-width:480px;
}

h1 .accent{color:var(--blue); position:relative; white-space:nowrap;}
/* هدینگ h1 داخل ویجت HTML در هیرو — همیشه وسط‌چین */
.rasa-hero .elementor-widget-html h1,
.rasa-hero h1.rasa-h1{
  text-align:center;
  margin-right:auto; margin-left:auto;
}
.line-mask{display:block; overflow:hidden; padding-bottom:.08em;}
.line-mask .line{display:inline-block; will-change:transform;}
.underline-svg{
  position:absolute; right:0; bottom:-6px; width:100%; height:10px;
  overflow:visible;
}
.underline-svg path{
  fill:none; stroke:var(--blue); stroke-width:3; stroke-linecap:round;
  opacity:.35;
}

.hero-visual{
  position:relative;
  background:linear-gradient(180deg, var(--tint), #FFFFFF);
  border:1px solid var(--hairline);
  border-radius:20px;
  padding:28px;
  min-height:380px;
  display:flex; flex-direction:column; justify-content:space-between;
}
.hero-visual-head{display:flex; justify-content:space-between; align-items:flex-start;}
.hv-label{font-size:12.5px; color:var(--slate); font-weight:600;}
.hv-value{font-size:26px; font-weight:800; margin-top:4px;}
.hv-badge{
  font-size:12px; font-weight:700; color:#0F9D58;
  background:#EAF7EF; padding:5px 10px; border-radius:99px;
  display:flex; align-items:center; gap:4px;
}
.chart-svg .line{
  fill:none; stroke:var(--blue); stroke-width:3;
  stroke-linecap:round; stroke-linejoin:round;
}
.chart-svg .area{opacity:0;}
.chart-svg .dot-end{opacity:0; transform-origin:380px 10px;}
.hv-foot{
  display:flex; justify-content:space-between;
  font-size:12px; color:var(--slate);
  padding-top:10px;
  border-top:1px dashed var(--hairline);
}

/* button (primary) styling shared */
.rasa-btn-primary .elementor-button,
.rasa-btn-header .elementor-button{
  transition:background .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);
}
.rasa-btn-primary .elementor-button:hover{
  box-shadow:0 10px 24px rgba(37,99,235,.3);
}

/* ===================== SOCIAL PROOF ===================== */
.logo-row{
  display:flex; align-items:center; justify-content:center;
  gap:56px; flex-wrap:nowrap;
}
.logo-row .lg{
  font-weight:800; font-size:19px; color:#C7C9D3;
  letter-spacing:-.02em;
  filter:grayscale(1);
  transition:color .25s;
  white-space:nowrap;
}
.logo-row .lg:hover{color:var(--slate);}

/* ===================== SECTION HEAD ===================== */
.rasa-sec-head{max-width:640px;}
.rasa-sec-head .elementor-element:first-child .elementor-heading-title{
  color:var(--blue) !important;
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* ===================== SERVICES CARDS ===================== */
.rasa-services-card{
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease);
  transform-style:preserve-3d;
  perspective:600px;
  will-change:transform;
}
.rasa-services-card:hover{
  border-color:transparent !important;
  box-shadow:0 20px 40px rgba(15,23,42,.08);
}
.rasa-services-card .elementor-widget-icon .elementor-icon{
  transition:transform .25s var(--ease);
}
.rasa-card-link .elementor-button{
  padding:0; background:transparent;
  font-weight:700; color:var(--ink);
  transition:color .25s var(--ease);
}
.rasa-card-link .elementor-button:hover{color:var(--blue);}

/* ===================== WHY GRID ===================== */
.rasa-why-grid{
  --rasa-gap:1px;
}
.rasa-why-item{transition:box-shadow .25s var(--ease);}
.rasa-why-icon .elementor-icon{
  transition:transform .25s var(--ease);
}

/* ===================== TESTIMONIAL CARDS ===================== */
.rasa-test-card{
  transition:box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.rasa-test-card:hover{
  box-shadow:0 20px 40px rgba(15,23,42,.06);
  border-color:transparent !important;
}
.rasa-test-card .elementor-star-rating{margin-bottom:18px;}
.rasa-test-card .elementor-star-rating i{
  font-style:normal;
  color:var(--blue);
}

/* ===================== FINAL CTA ===================== */
.rasa-final-cta{
  position:relative;
  text-align:center;
}
.rasa-final-cta::before{
  content:"";
  position:absolute;
  width:520px; height:520px;
  background:radial-gradient(circle, rgba(37,99,235,.35), transparent 70%);
  top:-260px; left:-160px;
  pointer-events:none;
  z-index:0;
}
.rasa-final-cta > *{position:relative; z-index:1;}
.rasa-final-cta .rasa-btn-white .elementor-button{
  transition:background .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);
}
.rasa-final-cta .rasa-btn-white .elementor-button:hover{
  box-shadow:0 8px 24px rgba(255,255,255,.15);
}

/* ===================== PRICING ===================== */
.rasa-pricing-grid{
  align-items:stretch;
}
.rasa-plan{transition:box-shadow .3s var(--ease), border-color .3s var(--ease);}
.rasa-plan:hover{
  box-shadow:0 24px 48px rgba(15,23,42,.08);
  border-color:transparent !important;
}
.rasa-plan-featured:hover{border-color:transparent !important;}
.rasa-plan-badge .elementor-heading-title{
  position:absolute; top:-14px; right:50%;
  transform:translateX(50%);
  background:var(--blue) !important;
  color:#fff !important;
  font-size:12.5px !important; font-weight:700;
  padding:6px 18px; border-radius:99px;
  white-space:nowrap;
  z-index:1;
}
.rasa-plan-name h4.elementor-heading-title{color:var(--slate) !important;}
.rasa-plan-featured .rasa-plan-name h4.elementor-heading-title{color:var(--blue) !important;}
.rasa-plan-price .elementor-heading-title{
  font-size:32px !important; font-weight:800;
}
.rasa-plan-cta{
  margin-bottom:28px;
  flex:0;
}
.rasa-plan .rasa-plan-cta .elementor-button{width:100%;}
.rasa-plan-cta .elementor-button{
  justify-content:center;
}
.rasa-plan-features{flex-grow:1;}
.rasa-plan .elementor-icon-list-item:not(:first-child){
  border-top:1px solid var(--hairline);
}
.rasa-plan .elementor-icon-list-item .elementor-icon-list-text{
  padding:9px 0;
}
.rasa-plan .elementor-icon-list-item .elementor-icon-list-icon{margin-top:3px;}
.rasa-plan-features .elementor-icon-list-text{color:var(--ink) !important;}
.rasa-plan-features-muted .elementor-icon-list-text{color:#B9BAC3 !important;}

/* ===================== TRUST STRIP ===================== */
.rasa-trust-strip{
  --rasa-gap:1px;
}

/* ===================== FAQ (سوالات متداول) ===================== */
.rasa-faq,
.rasa-faq-accordion,
.rasa-faq-container .elementor-widget-accordion,
.elementor-widget-accordion.rasa-faq,
.elementor-widget-accordion.rasa-faq-accordion {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

/* Reset outer elementor borders and backgrounds */
.rasa-faq .elementor-widget-container,
.rasa-faq-accordion .elementor-widget-container {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  overflow: visible !important;
}

.rasa-faq .elementor-accordion,
.rasa-faq-accordion .elementor-accordion {
  border: none !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Each item is an independent rounded card */
.rasa-faq .elementor-accordion .elementor-accordion-item,
.rasa-faq-accordion .elementor-accordion .elementor-accordion-item,
.elementor-widget-accordion.rasa-faq .elementor-accordion-item,
.elementor-widget-accordion.rasa-faq-accordion .elementor-accordion-item {
  background: #ffffff !important;
  border: 1px solid #e6e7ec !important;
  border-block-start: 1px solid #e6e7ec !important;
  border-radius: 16px !important;
  margin: 0 0 10px 0 !important;
  overflow: hidden !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}

.rasa-faq .elementor-accordion .elementor-accordion-item:last-child,
.rasa-faq-accordion .elementor-accordion .elementor-accordion-item:last-child {
  margin-bottom: 0 !important;
}

.rasa-faq .elementor-accordion .elementor-accordion-item + .elementor-accordion-item,
.rasa-faq-accordion .elementor-accordion .elementor-accordion-item + .elementor-accordion-item {
  border-block-start: 1px solid #e6e7ec !important;
  margin-top: 0 !important;
}

.rasa-faq .elementor-accordion .elementor-accordion-item:hover,
.rasa-faq-accordion .elementor-accordion .elementor-accordion-item:hover {
  border-color: #d1d5db !important;
}

/* Active card highlight matching original design */
.rasa-faq .elementor-accordion .elementor-accordion-item:has(.elementor-tab-title.elementor-active),
.rasa-faq-accordion .elementor-accordion .elementor-accordion-item:has(.elementor-tab-title.elementor-active) {
  border-color: #2563eb !important;
}

/* Title row */
.rasa-faq .elementor-accordion .elementor-tab-title,
.rasa-faq-accordion .elementor-accordion .elementor-tab-title,
.elementor-widget-accordion.rasa-faq .elementor-tab-title,
.elementor-widget-accordion.rasa-faq-accordion .elementor-tab-title {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 18px 22px !important;
  background: #ffffff !important;
  border: none !important;
  border-bottom: none !important;
  border-block-end: none !important;
  margin: 0 !important;
  outline: none !important;
  cursor: pointer !important;
  line-height: 1.5 !important;
  direction: rtl !important;
  transition: background-color .15s ease !important;
}

.rasa-faq .elementor-tab-title.elementor-active,
.rasa-faq-accordion .elementor-tab-title.elementor-active {
  border-bottom: none !important;
  border-block-end: none !important;
  background: #ffffff !important;
}

/* Question text */
.rasa-faq .elementor-accordion-title,
.rasa-faq-accordion .elementor-accordion-title,
.elementor-widget-accordion.rasa-faq a.elementor-accordion-title,
.elementor-widget-accordion.rasa-faq-accordion a.elementor-accordion-title {
  order: 1 !important;
  flex: 1 1 auto !important;
  text-align: right !important;
  font-family: inherit !important;
  font-size: 0.98rem !important; /* approx 15.5px */
  font-weight: 700 !important;
  color: #14161c !important;
  line-height: 1.6 !important;
  text-decoration: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: color .15s ease !important;
}

.rasa-faq .elementor-tab-title:hover .elementor-accordion-title,
.rasa-faq-accordion .elementor-tab-title:hover .elementor-accordion-title {
  color: #2563eb !important;
}

.rasa-faq .elementor-tab-title.elementor-active .elementor-accordion-title,
.rasa-faq-accordion .elementor-tab-title.elementor-active .elementor-accordion-title {
  color: #14161c !important;
}

/* Circle Plus / Minus Icon Container (22px x 22px pill) */
.rasa-faq .elementor-accordion-icon,
.rasa-faq-accordion .elementor-accordion-icon,
.rasa-faq .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left,
.rasa-faq-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left,
.elementor-widget-accordion.rasa-faq .elementor-accordion-icon,
.elementor-widget-accordion.rasa-faq-accordion .elementor-accordion-icon {
  order: 2 !important;
  float: none !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  border-radius: 50% !important;
  background: #f4f5f9 !important;
  color: #2563eb !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  margin-inline-start: 14px !important;
  margin-inline-end: 0 !important;
  padding: 0 !important;
  transition: transform .2s ease, background-color .2s ease, color .2s ease !important;
  box-sizing: border-box !important;
}

/* Pure CSS vector plus sign matching original SVG stroke-width 2.4 */
.rasa-faq .elementor-accordion-icon::before,
.rasa-faq-accordion .elementor-accordion-icon::before,
.rasa-faq .elementor-accordion-icon::after,
.rasa-faq-accordion .elementor-accordion-icon::after {
  content: "" !important;
  position: absolute !important;
  background-color: currentColor !important;
  border-radius: 2px !important;
}
.rasa-faq .elementor-accordion-icon::before,
.rasa-faq-accordion .elementor-accordion-icon::before {
  width: 11px !important;
  height: 2px !important;
  top: 10px !important;
  left: 5.5px !important;
}
.rasa-faq .elementor-accordion-icon::after,
.rasa-faq-accordion .elementor-accordion-icon::after {
  width: 2px !important;
  height: 11px !important;
  top: 5.5px !important;
  left: 10px !important;
}

/* Hide bulky FontAwesome icon elements injected by default */
.rasa-faq .elementor-accordion-icon i,
.rasa-faq .elementor-accordion-icon svg,
.rasa-faq-accordion .elementor-accordion-icon i,
.rasa-faq-accordion .elementor-accordion-icon svg,
.rasa-faq .elementor-accordion-icon span,
.rasa-faq-accordion .elementor-accordion-icon span {
  display: none !important;
}

/* When Active: blue circle, white icon, 45deg rotation to 'X' */
.rasa-faq .elementor-tab-title.elementor-active .elementor-accordion-icon,
.rasa-faq-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon {
  background: #2563eb !important;
  color: #ffffff !important;
  transform: rotate(45deg) !important;
}

/* Answer Content */
.rasa-faq .elementor-tab-content,
.rasa-faq-accordion .elementor-tab-content,
.elementor-widget-accordion.rasa-faq .elementor-tab-content,
.elementor-widget-accordion.rasa-faq-accordion .elementor-tab-content {
  padding: 0 22px 20px !important;
  color: #5b6472 !important;
  font-size: 0.92rem !important;
  line-height: 1.8 !important;
  background: #ffffff !important;
  border: none !important;
  border-top: none !important;
  border-block-start: none !important;
  border-bottom: none !important;
  max-width: 100% !important;
}

.rasa-faq .elementor-tab-content p,
.rasa-faq-accordion .elementor-tab-content p {
  margin: 0 !important;
  padding: 0 !important;
  color: #5b6472 !important;
  font-size: 0.92rem !important;
  line-height: 1.8 !important;
}

.rasa-faq .elementor-tab-content p:not(:last-child),
.rasa-faq-accordion .elementor-tab-content p:not(:last-child) {
  margin-bottom: 10px !important;
}

@media (max-width: 640px) {
  .rasa-faq .elementor-accordion .elementor-tab-title,
  .rasa-faq-accordion .elementor-accordion .elementor-tab-title {
    padding: 16px 18px !important;
  }
  .rasa-faq .elementor-accordion-title,
  .rasa-faq-accordion .elementor-accordion-title {
    font-size: 0.92rem !important;
  }
  .rasa-faq .elementor-tab-content,
  .rasa-faq-accordion .elementor-tab-content {
    padding: 0 18px 18px !important;
    font-size: 0.88rem !important;
  }
}

/* ===================== PORTFOLIO 3D STACK ===================== */
.rasa-stack-wrap{perspective:1600px;}
.rasa-stack{
  position:relative;
  max-width:880px;
  margin:0 auto;
  min-height:440px;
}
.rasa-stack .stack-card{
  position:absolute;
  display:flex; flex-direction:column;
  justify-content:center;
  width:300px;
  padding:22px 24px;
  border:1px solid var(--hairline);
  border-radius:20px;
  background:var(--paper);
  box-shadow:0 18px 40px rgba(15,23,42,.06);
  transition:transform .6s var(--ease);
}
.rasa-stack .sc-left{
  right:0; top:38px;
  transform:rotate(-6deg);
}
.rasa-stack .sc-right{
  left:0; bottom:26px;
  transform:rotate(5deg);
}
.rasa-stack .sc-main{
  left:50%; top:50%;
  width:340px;
  transform:translate(-50%,-50%) rotate(-1deg);
  z-index:2;
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
  box-shadow:0 30px 60px rgba(15,23,42,.18);
}
.rasa-stack .sc-brand{
  font-weight:800; font-size:16px;
  margin-bottom:6px;
}
.rasa-stack .sc-main .sc-brand{color:#fff;}
.rasa-stack .sc-title{
  font-size:13px; color:var(--slate);
}
.rasa-stack .sc-main .sc-title{color:#B8BAC4;}
.rasa-stack .sc-badge{
  display:inline-block;
  width:fit-content;
  font-size:12px; font-weight:700;
  color:#fff;
  background:var(--blue);
  padding:6px 14px;
  border-radius:99px;
  margin-bottom:18px;
}
.rasa-stack .sc-label{
  font-size:15px; font-weight:700;
  color:#E2E4EA;
  margin-bottom:6px;
}
.rasa-stack .sc-num{
  font-size:44px; font-weight:900;
  color:var(--blue);
  line-height:1.1;
  margin-bottom:14px;
}
.rasa-stack .sc-desc{
  font-size:13.5px; color:#B8BAC4;
  margin-bottom:20px;
  line-height:1.8;
}
.rasa-stack .sc-link{
  display:inline-flex; align-items:center;
  gap:8px;
  font-size:14px; font-weight:700;
  color:#fff;
  text-decoration:none;
  transition:color .25s var(--ease);
}
.rasa-stack .sc-link:hover{color:var(--blue);}
.rasa-stack .sc-link::after{content:"←"; font-size:15px;}
.rasa-stack:hover .sc-left{transform:rotate(-4deg) translateY(-8px);}
.rasa-stack:hover .sc-right{transform:rotate(3deg) translateY(8px);}

/* ===================== PORTFOLIO FILTERS ===================== */
.rasa-filter-btn .elementor-button{
  border-radius:99px !important;
  transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
  cursor:pointer;
}
.rasa-filter-btn.rasa-filter-active .elementor-button{
  background:var(--ink) !important;
  color:#fff !important;
  border-color:var(--ink) !important;
}

/* ===================== PORTFOLIO CARDS ===================== */
.rasa-pf-card{
  transition:box-shadow .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.rasa-pf-card:hover{
  box-shadow:0 24px 48px rgba(15,23,42,.08);
  border-color:transparent !important;
  transform:translateY(-4px);
}
.rasa-pf-card .rasa-pf-img .elementor-image img{
  width:100%; height:230px;
  object-fit:cover;
  display:block;
}
.rasa-pf-card .rasa-pf-link .elementor-button{
  background:transparent !important;
  padding:14px 0 0 !important;
  border-radius:0 !important;
  border-top:1px solid var(--hairline);
  font-weight:700;
  color:var(--ink);
  transition:color .25s var(--ease);
}
.rasa-pf-card .rasa-pf-link .elementor-button:hover{color:var(--blue);}
.rasa-pf-card.rasa-pf-hidden{
  display:none !important;
}
.rasa-blog-card.rasa-pf-hidden{
  display:none !important;
}

/* ===================== ABOUT PAGE DECOR ===================== */
.rasa-about-decor{position:absolute; inset:0; overflow:hidden; pointer-events:none;}
.rasa-about-decor .circle-a{
  position:absolute; top:-40px; right:-80px;
  width:420px; height:420px; opacity:.35;
}
.rasa-about-decor .circle-b{
  position:absolute; bottom:-64px; left:-100px;
  width:360px; height:360px; opacity:.3;
}
.rasa-about-decor .star{
  position:absolute; bottom:32px; right:11%;
  width:28px; height:28px;
  animation:rasa-star-float 4.5s ease-in-out 1.2s infinite, spin-slow 14s linear infinite;
}
@keyframes float-y{0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);}}
.float-y{animation:float-y 4.5s ease-in-out infinite;}
@keyframes spin-slow{to{transform:rotate(360deg);}}
.spin-slow{animation:spin-slow 14s linear infinite;}

/* ===================== ABOUT STORY ===================== */
.rasa-story .rasa-story-copy{min-width:0;}
.rasa-story .rasa-story-copy .elementor-widget-text-editor p{
  margin-bottom:16px; line-height:2;
}
.rasa-story .rasa-story-visual{
  min-height:420px;
}
.rasa-story-img .elementor-image img{
  width:100%; height:100%;
  min-height:420px;
  object-fit:cover;
  display:block;
  border-radius:32px;
}
.rasa-story-badge{
  box-shadow:0 24px 48px rgba(15,23,42,.10);
}
.rasa-story-badge .rasa-story-icon .elementor-icon{
  display:flex; align-items:center; justify-content:center;
}

/* ===================== ABOUT NUMBERS ===================== */
.rasa-numbers-sec .rasa-numbers-grid{
  --rasa-gap:1px;
  border:1px solid var(--hairline);
  border-radius:32px;
  overflow:hidden;
}
.rasa-numbers-grid .rasa-num-item{
  flex:1 1 0;
}
.rasa-numbers-grid .rasa-num-item .rasa-num .elementor-heading-title{
  color:var(--blue) !important;
  font-size:40px !important; font-weight:800;
}

/* ===================== ABOUT VALUES ===================== */
.rasa-value-card{
  transition:box-shadow .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.rasa-value-card:hover{
  box-shadow:0 24px 48px rgba(15,23,42,.08);
  border-color:transparent !important;
  transform:translateY(-4px);
}
.rasa-value-icon .elementor-icon{
  transition:transform .25s var(--ease);
}
.rasa-value-card:hover .rasa-value-icon .elementor-icon{
  transform:translateY(-3px);
}

/* ===================== FOOTER ===================== */
.rasa-footer{ background:var(--paper);}
.rasa-footer .rasa-logo img{
  height:36px; width:auto; max-width:180px;
}
.rasa-footer h4.elementor-heading-title{margin-bottom:18px;}
.rasa-footer .elementor-icon-list-item a,
.rasa-footer .elementor-icon-list-item .elementor-icon-list-text{
  transition:color .2s;
}
.rasa-footer .elementor-icon-list-item a:hover .elementor-icon-list-text{color:var(--blue);}
.rasa-footer .elementor-social-icons-wrapper .elementor-social-icon{
  transition:background .2s, color .2s, border-color .2s, transform .2s var(--ease);
}
.rasa-footer .elementor-social-icons-wrapper .elementor-social-icon:hover{transform:translateY(-2px);}

/* ===================== RESPONSIVE ===================== */
@media (max-width:960px){
  .logo-row{gap:40px;}
}
@media (max-width:640px){
  .logo-row{gap:28px;}
}

/* ============ CONTACT (تماس با ما) ============ */
.rasa-contact-decor{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.rasa-contact-decor .circle-hero{position:absolute;top:-240px;left:50%;transform:translateX(-50%);width:720px;height:720px;}
.rasa-hero .elementor-widget-container{margin-bottom:0 !important;}

.rasa-info-column .rasa-info-col{display:flex;}
.rasa-info-card,.rasa-form-card,.rasa-map-card{box-shadow:0 18px 50px rgba(15,23,42,.06);}
.rasa-info-card .rasa-info-icon{
  transition:transform .25s ease, background-color .25s ease;
}
.rasa-info-card .rasa-icon-row:hover .rasa-info-icon{transform:scale(1.08);}
.rasa-info-value{font-size:15.5px;font-weight:700;color:#0A0A0F;line-height:1.6;margin:0;}

.rasa-social-col{margin-top:2px;}
.rasa-social-col .rasa-social-btn{
  width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;
  background:#F5F7FC;transition:background .25s ease, transform .25s ease, background-color .25s ease;
}
.rasa-social-col .rasa-social-btn:hover{background:#2563EB;transform:translateY(-2px);}
.rasa-social-col .rasa-social-btn .elementor-icon{line-height:1;}

.rasa-map-card{padding:0 !important;}
.rasa-map{position:relative;width:100%;height:280px;overflow:hidden;}
.rasa-map-img{width:100%;height:100%;object-fit:cover;display:block;}
.rasa-map-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,30,42,0) 45%,rgba(15,30,42,.55) 100%);}
.rasa-map-pin{
  position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);color:#fff;width:44px;height:44px;border-radius:50%;
  background:#2563EB;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 25px -5px rgba(37,99,235,.55);
}
.rasa-map-tag{
  position:absolute;left:50%;bottom:18px;transform:translateX(-50%);white-space:nowrap;
  background:rgba(255,255,255,.95);color:#0a0a0f;font-family:YekanBakhFaNum;font-weight:700;font-size:13.5px;
  padding:9px 18px;border-radius:99px;box-shadow:0 8px 24px -6px rgba(15,30,42,.25);z-index:2;
}
@keyframes rasaFloat{0%,100%{transform:translate(-50%,-50%);}50%{transform:translate(-50%,-58%);}}
.float-y{animation:rasaFloat 3.5s ease-in-out infinite;}

/* Form */
.rasa-form-card .rasa-contact-form .elementor-field-group{font-family:YekanBakhFaNum;}
.rasa-contact-form .elementor-field-group{margin-bottom:18px;}
.rasa-contact-form .elementor-field-label{font-weight:700;color:#0a0a0f;font-size:13.5px;margin-bottom:8px;}
.rasa-contact-form .elementor-field-textual,
.rasa-contact-form textarea.elementor-field{
  font-family:YekanBakhFaNum;font-size:14.5px;color:#000;border:1.5px solid #E7E8EC;border-radius:12px;
  padding:13px 16px;background:#fff;transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.rasa-contact-form .elementor-field-textual::placeholder,
.rasa-contact-form textarea.elementor-field::placeholder{color:#B9BAC3;opacity:1;}
.rasa-contact-form .elementor-field-textual:focus,
.rasa-contact-form textarea.elementor-field:focus{
  border-color:#2563EB;background:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.12);outline:none;
}
.rasa-contact-form .elementor-field-option{display:flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid #E3E5EC;border-radius:10px;margin-bottom:8px;cursor:pointer;transition:border-color .2s ease, background .2s ease;}
.rasa-contact-form .elementor-field-option:hover{border-color:#2563EB;background:#F5F8FF;}
.rasa-contact-form .elementor-field-option input[type=radio]{width:17px;height:17px;accent-color:#2563EB;margin:0;}
.rasa-contact-form .elementor-field-option label{font-size:14.5px;color:#2a2a35;}
.rasa-contact-form .elementor-field-group-topic .elementor-field-subgroup{
  display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:4px;
}
.rasa-contact-form .elementor-field-group-topic .elementor-field-option{
  flex-direction:column; justify-content:center; text-align:center;
  gap:0; margin-bottom:0 !important; padding:14px 12px;
  border:1.5px solid #E7E8EC; border-radius:14px;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.rasa-contact-form .elementor-field-group-topic .elementor-field-option input{position:absolute; opacity:0; pointer-events:none; width:0; height:0;}
.rasa-contact-form .elementor-field-group-topic .elementor-field-option label{
  font-size:12.5px; font-weight:600; color:#475569; margin-top:8px; cursor:pointer;
}
.rasa-topic-icon{width:24px; height:24px; color:#94A3B8; display:block; margin:0 auto; transition:color .2s ease;}
.rasa-contact-form .elementor-field-group-topic .elementor-field-option:hover{border-color:#2563EB; background:#F5F8FF;}
.rasa-contact-form .elementor-field-group-topic .elementor-field-option:has(input:checked){
  border-color:#2563EB; background:#F5F7FC; box-shadow:0 0 0 3px rgba(37,99,235,.1);
}
.rasa-contact-form .elementor-field-group-topic .elementor-field-option:has(input:checked) label{color:#2563EB;}
.rasa-contact-form .elementor-field-group-topic .elementor-field-option:has(input:checked) .rasa-topic-icon{color:#2563EB;}
@media (max-width:640px){
  .rasa-contact-form .elementor-field-group-topic .elementor-field-subgroup{grid-template-columns:repeat(2,1fr);}
}
.rasa-contact-form .elementor-button{
  font-family:YekanBakhFaNum;font-weight:600;letter-spacing:0;
  background:linear-gradient(135deg,#2563EB,#1E40AF);border:none;border-radius:12px;width:100%;
  padding:16px 20px;color:#fff;font-size:16px;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.rasa-contact-form .elementor-button:hover{transform:translateY(-1px);box-shadow:0 12px 28px -8px rgba(37,99,235,.55);}
.rasa-contact-form .elementor-message{font-family:YekanBakhFaNum;border-radius:10px;padding:12px 16px;margin-top:6px;}
.rasa-contact-form .elementor-message-success{background:#E8F7EE;color:#0e7a3e;}

@media (max-width:1024px){
  .rasa-contact-grid{white-space:0;}
}
@media (max-width:640px){
  .rasa-map{height:220px;}
  .rasa-info-card{width:100%;}
}

/* ============ BLOG (وبلاگ) ============ */
.rasa-blog-filters{white-space:nowrap;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;}
.rasa-blog-filters .elementor-widget-button{width:auto !important;flex:0 0 auto;}
.rasa-blog-filters .rasa-filter-btn{letter-spacing:0;}
.rasa-blog-filters .rasa-filter-active{background:#000 !important;color:#fff !important;border-color:#000 !important;}

/* مقاله ویژه */
.rasa-featured-card{border:1px solid #E7E8EC;border-radius:32px;background:#fff;overflow:hidden;box-shadow:0 18px 50px rgba(15,23,42,.06);}
.rasa-feat-img .rasa-blog-img{width:100%;height:100%;display:block;}
.rasa-feat-img .rasa-blog-img img{width:100%;height:100%;object-fit:cover;display:block;min-height:320px;}
.rasa-feat-img .rasa-blog-badge{position:absolute !important;top:20px;right:20px;z-index:2;}
.rasa-feat-text h3 .elementor-heading-title{line-height:1.5;}
.rasa-blog-badge{box-shadow:0 6px 18px -8px rgba(15,23,42,.15);}

/* کارت‌های گرید */
.rasa-blog-grid .rasa-blog-card{border:1px solid #E7E8EC;border-radius:28px;background:#fff;overflow:hidden;box-shadow:0 10px 34px -16px rgba(15,23,42,.12);transition:transform .3s ease, box-shadow .3s ease;}
.rasa-blog-grid .rasa-blog-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px -18px rgba(15,23,42,.18);}
.rasa-blog-grid .rasa-card-img{height:190px !important;overflow:hidden;}
.rasa-blog-grid .rasa-card-img .rasa-blog-img{width:100%;height:100%;display:block;}
.rasa-blog-grid .rasa-card-img .rasa-blog-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.rasa-blog-grid .rasa-blog-card:hover .rasa-card-img img{transform:scale(1.09);}
.rasa-blog-grid .rasa-card-body h3 .elementor-heading-title{line-height:1.7;}
.rasa-blog-grid .rasa-card-body h3 a{color:#0a0a0f;transition:color .2s ease;}
.rasa-blog-grid .rasa-card-body h3 a:hover{color:#2563EB;}
.rasa-blog-grid .rasa-card-excerpt{line-height:1.9;}
.rasa-blog-grid .rasa-card-body .elementor-widget:last-child{margin-top:auto;}

.rasa-blog-meta{font-size:12.5px !important;color:#757681 !important;margin:0;}
.rasa-blog-meta .dot{margin:0 6px;color:#D3D5DB;}

.rasa-blog-more .elementor-button{transition:border-color .2s ease, color .2s ease;}
.rasa-blog-more .elementor-button:hover{border-color:#2563EB !important;color:#2563EB !important;}

.rasa-newsletter{background:#000 !important;border-radius:40px;max-width:min(780px,100%);margin-inline:auto;}
.rasa-newsletter .rasa-newsletter-tag{background:rgba(255,255,255,.1) !important;}
.rasa-newsletter .rasa-newsletter-tag .elementor-heading-title{color:#2563EB;}
.rasa-newsletter h3 .elementor-heading-title{color:#fff !important;}
.rasa-newsletter .e-con-inner > .e-con:has(.rasa-newsletter-form){
  flex-direction:row !important; flex-wrap:wrap; align-items:center; gap:28px;
}
.rasa-newsletter .e-con-inner > .e-con > .e-con:has(> .elementor-widget-form){
  flex:0 1 auto; width:auto !important; min-width:0;
}
.rasa-newsletter-form{width:auto;}
.rasa-newsletter-form .elementor-field-group{margin-bottom:0;}
.rasa-newsletter-form .elementor-form-fields-wrapper{
  display:flex; flex-wrap:nowrap; align-items:stretch; gap:12px;
}
.rasa-newsletter-form .elementor-field-group{width:auto !important;}
.rasa-newsletter-form .elementor-field-group-email{flex:1 1 auto; min-width:0;}
.rasa-newsletter-form .elementor-field-label{display:none;}
.rasa-newsletter-form .elementor-field-textual{
  font-family:YekanBakhFaNum;font-size:14.5px;border:1.5px solid rgba(255,255,255,.15);border-radius:12px;
  padding:14px 16px;background:rgba(255,255,255,.95);color:#000;min-width:240px;width:100%;box-shadow:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.rasa-newsletter-form .elementor-field-textual::placeholder{color:#B9BAC3;opacity:1;}
.rasa-newsletter-form .elementor-field-textual:focus{border-color:#2563EB;box-shadow:0 0 0 4px rgba(37,99,235,.15);outline:none;}
.rasa-newsletter-form .e-form__buttons{flex:0 0 auto; width:auto !important;}
.rasa-newsletter-form .elementor-button{
  font-family:YekanBakhFaNum;font-weight:700;background:#2563EB;color:#fff;border-radius:12px;
  padding:15px 26px;height:100%;transition:background .2s ease, transform .2s ease;
}
.rasa-newsletter-form .elementor-button:hover{background:#1D4ED8;transform:translateY(-1px);}

@media (max-width:1024px){
  .rasa-blog-filters{gap:10px;}
}
@media (max-width:640px){
  .rasa-newsletter{max-width:100%;}
  .rasa-newsletter .e-con-inner > .e-con:has(.rasa-newsletter-form){flex-direction:column !important; gap:20px;}
  .rasa-newsletter .e-con-inner > .e-con > .e-con:has(> .elementor-widget-form){width:100% !important;}
  .rasa-newsletter-form .elementor-form-fields-wrapper{flex-direction:column; gap:10px;}
  .rasa-newsletter-form .elementor-field-group{width:100% !important;}
  .rasa-newsletter-form .elementor-field-textual{min-width:0;width:100%;}
  .rasa-newsletter-form .e-form__buttons{width:100% !important;}
  .rasa-newsletter-form .elementor-button{width:100%;}
  .rasa-feat-img .rasa-blog-img img{min-height:220px;}
}

/* ============ BLOG HERO STAR (ستاره هیروی وبلاگ) ============ */
.rasa-blog-star{position:absolute;bottom:26px;left:10%;z-index:2;pointer-events:none;animation:rasa-star-float 4.5s ease-in-out infinite;}
@keyframes rasa-star-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.rasa-blog-star svg{animation:rasa-star-spin 14s linear infinite;}
@keyframes rasa-star-spin{to{transform:rotate(360deg);}}
@media (max-width:768px){.rasa-blog-star{display:none;}}

/* ============ PORTFOLIO HERO DECOR (ستاره + بج شناور) ============ */
.rasa-hero{position:relative;}
.rasa-portfolio-star{
  position:absolute; bottom:-18px; right:10%; z-index:2; pointer-events:none;
  animation:rasa-star-float 4.5s ease-in-out 1.2s infinite, spin-slow 14s linear infinite;
}
.rasa-portfolio-badge{
  position:absolute; top:24px; left:9%; z-index:2;
  display:flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.85);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border:1px solid var(--hairline);
  border-radius:999px;
  padding:8px 14px 8px 18px;
  box-shadow:0 18px 40px rgba(15,23,42,.06);
  animation:rasa-star-float 4.5s ease-in-out infinite;
}
.rasa-pf-badge-check{display:flex; align-items:center; justify-content:center; flex:none;}
.rasa-pf-badge-text{font-size:12px; font-weight:700; color:#1E293B; white-space:nowrap;}
@media (max-width:768px){.rasa-portfolio-star,.rasa-portfolio-badge{display:none;}}

/* ============ VISUAL IDENTITY PACKAGES (پکیج‌های هویت بصری) ============ */
.rasa-revision-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #dcfce7;
  color: #166534;
  font-size: 12.5px;
  font-weight: 700;
  padding: 5px 14px;
  border-radius: 99px;
  margin-bottom: 20px;
  width: fit-content;
}
.rasa-revision-tag svg,
.rasa-revision-tag i {
  width: 13px;
  height: 13px;
  color: #166534;
}

/* Identity board showcase (Hero column 2) */
.rasa-identity-board {
  background: #ffffff;
  border: 1px solid #e6e7ec;
  border-radius: 28px;
  box-shadow: 0 10px 30px -14px rgba(20,22,28,.12);
  padding: 26px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.rasa-board-label {
  font-size: 12px;
  font-weight: 700;
  color: #9297a1;
  margin-bottom: 8px;
}
.rasa-board-logo {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1.5px dashed #e6e7ec;
  border-radius: 16px;
}
.rasa-board-logo .logo-mark-grad {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: linear-gradient(135deg, #1f2937, #b8862b);
  flex-shrink: 0;
  position: relative;
}
.rasa-board-logo .logo-mark-grad::after {
  content: "";
  position: absolute;
  inset: 13px;
  border: 2px solid rgba(255,255,255,.75);
  border-radius: 6px;
}
.rasa-board-logo .name-box {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.rasa-board-logo .name-box strong {
  font-size: 16px;
  font-weight: 800;
  color: #14161c;
}
.rasa-board-logo .name-box span {
  font-size: 12.5px;
  color: #9297a1;
}
.rasa-board-colors {
  display: flex;
  gap: 10px;
}
.rasa-swatch {
  flex: 1;
  height: 44px;
  border-radius: 10px;
}
.rasa-swatch-1 { background: #1f2937; }
.rasa-swatch-2 { background: #b8862b; }
.rasa-swatch-3 { background: #c2703d; }
.rasa-swatch-4 { background: #7c9473; }
.rasa-swatch-5 { background: #f3ead9; }

.rasa-board-type {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  background: #f4f5f9;
  border-radius: 16px;
}
.rasa-board-type .glyph {
  font-size: 32px;
  font-weight: 800;
  line-height: 1;
  color: #14161c;
}
.rasa-board-type .glyph.light {
  font-weight: 400;
  color: #9297a1;
}
.rasa-board-type .type-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rasa-board-type .type-info strong {
  font-size: 14px;
  font-weight: 700;
  color: #14161c;
}
.rasa-board-type .type-info span {
  font-size: 12px;
  color: #9297a1;
}

/* What's included showcase (8 items) */
.rasa-includes-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
@media (max-width: 900px) {
  .rasa-includes-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .rasa-includes-grid { grid-template-columns: 1fr 1fr; }
}
.rasa-include-item {
  background: #ffffff;
  border: 1px solid #e6e7ec;
  border-radius: 16px;
  padding: 20px 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.rasa-include-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -10px rgba(20,22,28,.1);
}
.rasa-include-item .icon {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  background: #eaf0ff;
  color: #2563eb;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rasa-include-item .icon svg {
  width: 21px;
  height: 21px;
}
.rasa-include-item span {
  font-size: 13.5px;
  font-weight: 700;
  color: #14161c;
}

/* ==========================================================================
   RASA PORTFOLIO (نمونه‌کارهای رسا)
   ========================================================================== */
:root {
  --c-web: #2563eb;
  --c-web-dark: #173da3;
  --c-content: #3f7d63;
  --c-content-dark: #295a45;
  --c-branding: #c2703d;
  --c-branding-dark: #914f28;
  --c-identity: #b8862b;
  --c-identity-dark: #8a631d;
  --c-seo: #1f2937;
  --c-seo-dark: #0f151c;
}

.rasa-portfolio-wrapper {
  direction: rtl;
  font-family: inherit;
  width: 100%;
}

/* Category Overview Chips */
.rasa-cat-overview {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-top: 32px;
  margin-bottom: 36px;
}
@media (max-width: 960px) {
  .rasa-cat-overview { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 560px) {
  .rasa-cat-overview { grid-template-columns: repeat(2, 1fr); }
}

.rasa-cat-chip {
  background: #ffffff;
  border: 1.5px solid #e6e7ec;
  border-radius: 16px;
  padding: 16px 14px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: all .2s ease;
  font-family: inherit;
}
.rasa-cat-chip:hover {
  border-color: #2563eb;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -8px rgba(37,99,235,0.15);
}
.rasa-cat-chip.active {
  border-color: var(--cat-color, #2563eb);
  background: var(--cat-color-soft, #eaf0ff);
}
.rasa-cat-chip .chip-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--cat-color, #2563eb);
}
.rasa-cat-chip .chip-icon svg {
  width: 19px;
  height: 19px;
}
.rasa-cat-chip strong {
  font-size: 0.88rem;
  font-weight: 800;
  color: #14161c;
}
.rasa-cat-chip span {
  font-size: 0.76rem;
  color: #9297a1;
}

/* Filter & Search Bar */
.rasa-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.rasa-filter-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rasa-filter-pill {
  border: 1.5px solid #e6e7ec;
  background: #ffffff;
  color: #5b6472;
  font-size: 0.86rem;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 99px;
  cursor: pointer;
  transition: all .15s ease;
  font-family: inherit;
}
.rasa-filter-pill:hover {
  border-color: #2563eb;
  color: #2563eb;
}
.rasa-filter-pill.active {
  background: #14161c;
  border-color: #14161c;
  color: #ffffff;
}
.rasa-search-box {
  position: relative;
  flex-shrink: 0;
}
.rasa-search-box input {
  border: 1.5px solid #e6e7ec;
  background: #ffffff;
  border-radius: 99px;
  padding: 10px 42px 10px 18px;
  font-family: inherit;
  font-size: 0.9rem;
  width: 250px;
  color: #14161c;
  direction: rtl;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.rasa-search-box input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.12);
}
.rasa-search-box svg {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: #9297a1;
  pointer-events: none;
}

.rasa-result-count {
  font-size: 0.84rem;
  color: #9297a1;
  margin-bottom: 22px;
}
.rasa-result-count b {
  color: #14161c;
}

/* Portfolio Grid */
.rasa-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
@media (max-width: 960px) {
  .rasa-portfolio-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .rasa-portfolio-grid { grid-template-columns: 1fr; }
}

.rasa-project-card {
  background: #ffffff;
  border: 1px solid #e6e7ec;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  cursor: pointer;
  text-align: right;
  position: relative;
}
.rasa-project-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px -12px rgba(20,22,28,.14);
  border-color: #d1d5db;
}
.rasa-project-cover {
  height: 160px;
  background: linear-gradient(135deg, var(--cat-color, #2563eb), var(--cat-color-dark, #173da3));
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.rasa-project-cover.has-thumb {
  background-size: cover;
  background-position: center;
}
.rasa-project-cover.has-thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10,10,12,0.4) 0%, transparent 60%);
}
.rasa-project-cover svg.cover-icon {
  width: 48px;
  height: 48px;
  color: rgba(255,255,255,.92);
}
.rasa-project-cover .cat-tag {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(4px);
  color: #14161c;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 99px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  z-index: 2;
}

.rasa-project-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.rasa-project-client {
  font-size: 0.76rem;
  color: #9297a1;
  font-weight: 600;
}
.rasa-project-body h3 {
  font-size: 1.05rem;
  font-weight: 800;
  margin: 0;
  color: #14161c;
  line-height: 1.5;
}
.rasa-project-summary {
  font-size: 0.86rem;
  color: #5b6472;
  line-height: 1.7;
  margin: 0;
  flex: 1;
}
.rasa-project-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.rasa-project-tags span {
  font-size: 0.72rem;
  background: #f4f5f9;
  color: #5b6472;
  padding: 4px 10px;
  border-radius: 99px;
  font-weight: 500;
}
.rasa-project-metric {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: #16a34a;
  font-weight: 700;
  background: #f0fdf4;
  padding: 6px 12px;
  border-radius: 8px;
  width: fit-content;
}
.rasa-project-metric svg {
  width: 15px;
  height: 15px;
}
.rasa-project-more {
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #2563eb;
  font-weight: 700;
  font-size: 0.86rem;
}
.rasa-project-more svg {
  width: 14px;
  height: 14px;
  transform: scaleX(-1);
  transition: transform .15s ease;
}
.rasa-project-card:hover .rasa-project-more svg {
  transform: scaleX(-1) translateX(-3px);
}

.rasa-empty-state {
  grid-column: 1 / -1;
  text-align: center;
  padding: 60px 20px;
  color: #9297a1;
}
.rasa-empty-state svg {
  width: 44px;
  height: 44px;
  margin: 0 auto 14px;
  color: #9297a1;
}

/* Modal */
.rasa-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10,10,12,.65);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 999999;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
  direction: rtl;
}
.rasa-modal-overlay.open {
  opacity: 1;
  pointer-events: auto;
}
.rasa-modal-box {
  background: #ffffff;
  border-radius: 28px;
  max-width: 640px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  transform: translateY(16px);
  transition: transform .22s cubic-bezier(0.2, 0.8, 0.2, 1);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.rasa-modal-overlay.open .rasa-modal-box {
  transform: translateY(0);
}
.rasa-modal-cover {
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 28px 28px 0 0;
  position: relative;
  overflow: hidden;
}
.rasa-modal-cover.has-thumb {
  background-size: cover;
  background-position: center;
}
.rasa-modal-cover.has-thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10,10,12,0.45) 0%, transparent 60%);
}
.rasa-modal-cover svg.modal-icon {
  width: 52px;
  height: 52px;
  color: rgba(255,255,255,.92);
}
.rasa-modal-close {
  position: absolute;
  top: 16px;
  left: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(4px);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #14161c;
  cursor: pointer;
  z-index: 3;
  transition: background .15s ease, transform .15s ease;
}
.rasa-modal-close:hover {
  background: #ffffff;
  transform: scale(1.06);
}
.rasa-modal-close svg {
  width: 16px;
  height: 16px;
}
.rasa-modal-content {
  padding: 28px;
}
.rasa-modal-content .cat-tag-solo {
  display: inline-block;
  font-size: 0.76rem;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 99px;
  margin-bottom: 12px;
  color: #ffffff;
}
.rasa-modal-content h3 {
  font-size: 1.4rem;
  font-weight: 800;
  margin: 0 0 4px;
  color: #14161c;
}
.rasa-modal-client {
  font-size: 0.84rem;
  color: #9297a1;
  margin-bottom: 20px;
}
.rasa-modal-section {
  margin-bottom: 18px;
}
.rasa-modal-section h4 {
  font-size: 0.88rem;
  font-weight: 800;
  margin: 0 0 6px;
  color: #14161c;
}
.rasa-modal-section p {
  margin: 0;
  font-size: 0.92rem;
  color: #5b6472;
  line-height: 1.8;
}
.rasa-modal-metric {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f4f5f9;
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 20px;
}
.rasa-modal-metric svg {
  width: 20px;
  height: 20px;
  color: #16a34a;
  flex-shrink: 0;
}
.rasa-modal-metric strong {
  font-size: 0.95rem;
  color: #14161c;
}
.rasa-modal-cta {
  display: block;
  text-align: center;
  background: #2563eb;
  color: #ffffff !important;
  font-weight: 700;
  padding: 14px;
  border-radius: 10px;
  font-size: 0.94rem;
  margin-top: 16px;
  text-decoration: none;
  transition: background-color .15s ease;
}
.rasa-modal-cta:hover {
  background: #1d4ed8;
}

/* WP Admin Meta Box Styling */
.rasa-portfolio-admin-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  direction: rtl;
}
.rasa-portfolio-admin-fields .full-width {
  grid-column: 1 / -1;
}
.rasa-portfolio-admin-fields label {
  display: block;
  font-weight: 700;
  margin-bottom: 6px;
  color: #1e293b;
  font-size: 13px;
}
.rasa-portfolio-admin-fields input[type="text"],
.rasa-portfolio-admin-fields textarea {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font-size: 13.5px;
  line-height: 1.6;
}
.rasa-portfolio-admin-fields input[type="text"]:focus,
.rasa-portfolio-admin-fields textarea:focus {
  border-color: #2563eb;
  outline: none;
  box-shadow: 0 0 0 2px rgba(37,99,235,0.15);
}
.rasa-portfolio-admin-fields .desc {
  font-size: 12px;
  color: #64748b;
  margin-top: 4px;
}