/* hamedrezaie.com — theme v4 «Midnight Sapphire»
   A single overlay loaded after the page stylesheets. It re-maps the shared colour tokens and calms the
   components (no rainbow gradients, glows or floating shapes). Removing this file restores the old look. */

:root{
  --navy-1000:#04060d; --navy-950:#060913; --navy-900:#0a0f1f; --navy-800:#10182f; --navy-700:#182342; --navy-600:#243258;
  --accent:#8b9bff; --accent-soft:#b9c3ff; --accent-deep:#6a5cff; --azure:#3aa0f0;
  --gold:var(--accent); --gold-soft:var(--accent-soft); --gold-deep:var(--accent-deep);
  --blue-500:var(--accent-deep); --blue-400:var(--accent); --blue-300:var(--accent-soft); --blue-200:#d5dbff; --blue-100:#e9ecff;
  --cyan-400:var(--azure); --cyan-300:#8ccbff; --violet-500:var(--accent-deep); --violet-400:var(--accent);
  --pink-500:var(--accent-deep); --pink-400:var(--accent);
  --grad-accent:linear-gradient(135deg, #6457f5 0%, #2f7fe0 100%);
  --grad-aurora:linear-gradient(120deg, #6457f5, #2f7fe0);
  --grad-text:linear-gradient(100deg, #c4ccff 0%, #8ccbff 100%);
  --grad-navy:linear-gradient(180deg, var(--navy-950), var(--navy-900));
  --paper:#060913; --panel-1:#080c19; --panel-2:#0c1226;
  --card-glass:linear-gradient(180deg, rgba(139,155,255,0.07), rgba(139,155,255,0.02));
  --card-border:rgba(148,163,255,0.14);
  --ink:#eef1ff; --muted:#97a3c4; --muted-light:#aab4d2; --line:rgba(148,163,255,0.13);
  --shadow-lg:0 30px 60px -30px rgba(2,4,12,0.8); --shadow-sm:0 10px 24px -14px rgba(2,4,12,0.7);
}

html, body{background:var(--paper);}
body{color:var(--ink); line-height:1.85; letter-spacing:0;}
::selection{background:rgba(139,155,255,0.28); color:#fff;}
h1, h2, h3{letter-spacing:-0.01em;}

/* ── quiet the decoration ── */
#cursorGlow, .hero-wordmark, .hero-shapes, .h-shape, .mesh-blob, .promo-blob, .cbv-shape, .tile-glare, .aurora-blob.a2, .aurora-blob.a3, .aurora-blob.a4{display:none !important;}
.aurora-blob.a1{opacity:.12; animation:none !important; background:radial-gradient(circle, var(--gold), transparent 70%) !important;}
.ring{border-color:rgba(139,155,255,0.10) !important; animation:none !important;}
.ring.r1, .ring.r3{display:none;}

/* ── type helpers ── */
.eyebrow, .pf-eyebrow, .cat-banner-eyebrow{font-size:12px !important; letter-spacing:4px; font-weight:600; color:var(--gold) !important;}
.eyebrow::before{width:28px; height:1px; opacity:.7;}
.sec-head{margin-bottom:48px;}
.sec-head h2, .cta-banner h2, .pf-h2{font-weight:700 !important; line-height:1.5;}
.sec-head p, .lead, .pf-lead{color:var(--muted-light);}

/* ── buttons ── */
.btn{border-radius:999px; font-weight:700; letter-spacing:.1px; padding:13px 26px; min-height:46px; transition:transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;}
.btn-primary{background:var(--grad-accent) !important; color:#ffffff !important; box-shadow:none !important;}
.btn-primary::after{display:none !important;}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 14px 30px -16px rgba(139,155,255,0.55) !important;}
.btn-ghost{background:transparent !important; border:1px solid rgba(238,241,255,0.22) !important; color:var(--ink) !important;}
.btn-ghost:hover{border-color:var(--gold) !important; color:var(--gold-soft) !important; background:rgba(139,155,255,0.06) !important;}

/* ── header ── */
#siteHeader{border-bottom:1px solid transparent; transition:background .3s ease, border-color .3s ease;}
#siteHeader.scrolled, #siteHeader.is-scrolled, body.scrolled #siteHeader{background:rgba(6,9,19,0.82) !important; backdrop-filter:blur(14px) saturate(120%); border-bottom-color:var(--line);}
.header-nav a{font-weight:500; color:var(--muted-light);}
.header-nav a:hover, .header-nav a.is-active{color:var(--ink);}
.mega-menu-inner{background:rgba(8,12,25,0.98) !important; border-radius:16px;}
.mega-ic{background:rgba(139,155,255,0.08) !important; color:var(--gold) !important; border:1px solid rgba(139,155,255,0.18);}
.mega-promo{background:rgba(139,155,255,0.05) !important;}
.nav-trigger{border-color:rgba(238,241,255,0.18) !important; background:rgba(255,255,255,0.03) !important;}
.nav-trigger .trigger-icon{background:var(--grad-accent) !important;}
.nav-trigger .trigger-icon span{background:#ffffff !important;}
.nav-overlay{background:rgba(6,9,19,0.98) !important;}

/* ── hero ── */
.hero{background:
    radial-gradient(900px 520px at 85% -12%, rgba(139,155,255,0.10), transparent 62%),
    linear-gradient(180deg, var(--navy-950) 0%, var(--paper) 100%) !important;
  padding:170px 0 110px;}
.hero h1{font-weight:700 !important; line-height:1.35;}
.hero p.lead{color:var(--muted-light) !important; opacity:1; font-size:17px; line-height:2;}
.hero-trust{gap:44px; padding-top:28px; border-top:1px solid var(--line);}
.hero-trust .stat b{font-weight:600; color:var(--gold-soft) !important;}
.founder-card{animation:none !important; border-radius:22px; border:1px solid rgba(139,155,255,0.28) !important; box-shadow:0 40px 80px -40px rgba(0,0,0,0.8) !important;}
.founder-card::before{display:none;}
.founder-badge{background:rgba(6,9,19,0.72) !important; border:1px solid rgba(255,255,255,0.10) !important; backdrop-filter:blur(10px);}
.float-tag{transform:none !important; background:rgba(10,15,31,0.86) !important; color:var(--ink) !important; border:1px solid rgba(139,155,255,0.28); box-shadow:0 18px 36px -20px rgba(0,0,0,0.8) !important; backdrop-filter:blur(10px); font-weight:600; border-radius:999px;}

/* ── marquee: a thin, level band (was a rotated ribbon that covered the next section's label) ── */
.marquee-ribbon, .marquee-ribbon.dark{transform:none !important; margin:0 !important; padding:16px 0; background:transparent !important; box-shadow:none !important; border-top:1px solid var(--line); border-bottom:1px solid var(--line); z-index:1;}
.marquee-track{gap:28px;}
.marquee-track span{font-size:14px !important; font-weight:500 !important; color:var(--muted-light) !important; letter-spacing:.3px;}
.marquee-track i{color:var(--gold) !important; font-size:11px !important;}

/* ── promo strip ── */
.promo-banner{background:var(--panel-1) !important; border-bottom:1px solid var(--line);}
.promo-inner{padding:22px 26px !important; background:transparent !important; border:1px solid rgba(139,155,255,0.20) !important; border-radius:18px !important; box-shadow:none !important;}
.promo-badge{background:rgba(139,155,255,0.10) !important; color:var(--gold-soft) !important; border:1px solid rgba(139,155,255,0.25) !important;}
.promo-cta{background:var(--grad-accent) !important; color:#ffffff !important; box-shadow:none !important;}

/* ── services ── */
.services{padding:110px 0 90px;}
.service-category{margin-bottom:56px;}
.cat-banner{min-height:0 !important; padding:22px 26px !important; border-radius:16px !important; background:var(--panel-2) !important; border:1px solid var(--line) !important; box-shadow:none !important;}
.cat-banner-visual{flex:0 0 auto; width:auto !important; height:auto !important; min-width:0 !important;}
.cat-banner-icon-big{width:54px !important; height:54px !important; border-radius:14px !important; background:rgba(139,155,255,0.08) !important; border:1px solid rgba(139,155,255,0.22); color:var(--gold) !important; box-shadow:none !important; transform:none !important; animation:none !important;}
.cat-banner-icon-big svg{width:24px !important; height:24px !important;}
.cat-banner-title{font-weight:700 !important;}
.cat-dot{background:var(--gold) !important; box-shadow:none !important;}
.cat-count{color:var(--muted) !important;}
.service-grid-fixed{gap:16px;}
.service-tile{background:var(--panel-2) !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; border:1px solid var(--line) !important; border-radius:16px !important; padding:26px 24px 22px !important; box-shadow:none !important; transform:none !important; transition:border-color .3s ease, transform .3s ease !important;}
.service-tile::before, .service-tile::after{display:none !important;}
.service-tile:hover{border-color:rgba(139,155,255,0.38) !important; box-shadow:none !important; transform:translateY(-3px) !important;}
.service-tile > *{transform:none !important;}
.tile-icon{width:48px !important; height:48px !important; border-radius:13px !important; background:rgba(139,155,255,0.08) !important; border:1px solid rgba(139,155,255,0.22); color:var(--gold) !important; box-shadow:none !important; animation:none !important;}
.tile-icon svg{width:22px !important; height:22px !important;}
.tile-banner{background:transparent !important; border:0 !important; padding:0 !important; border-radius:0 !important; overflow:visible !important; color:var(--gold) !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.2px; animation:none !important;}
.tile-banner::before{display:none !important;}
.service-tile h3{font-size:17.5px !important; font-weight:700 !important;}
.service-tile p{font-size:14px !important; line-height:1.95 !important;}
.tile-btn{margin-top:auto; background:transparent !important; border:0 !important; border-top:1px solid var(--line) !important; border-radius:0 !important; padding:14px 0 0 !important; justify-content:flex-start !important; color:var(--gold-soft) !important; font-weight:600; font-size:13.5px; min-height:44px; box-shadow:none !important;}
.tile-btn:hover{color:#fff !important;}
.product-card{background:var(--panel-2) !important; border:1px solid var(--line) !important; border-radius:16px !important; box-shadow:none !important; transform:none !important;}
.product-badge{background:rgba(139,155,255,0.10) !important; color:var(--gold-soft) !important;}

/* ── cards & lists ── */
.why-card, .service-card, .test-card, .price-card{background:var(--panel-2) !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; border:1px solid var(--line) !important; border-radius:16px !important; box-shadow:none !important;}
.why-card:hover{transform:translateY(-3px) !important; box-shadow:none !important; border-color:rgba(139,155,255,0.32) !important;}
.why-card .num{color:var(--gold) !important; font-weight:600; letter-spacing:2px;}
.faq-item{background:transparent !important; backdrop-filter:none !important; border:0 !important; border-bottom:1px solid var(--line) !important; border-radius:0 !important; padding:4px 2px !important;}
.faq-item summary{font-weight:600; font-size:16px; padding:22px 0; min-height:48px;}
.faq-item summary::after{color:var(--gold) !important; font-weight:300;}
.faq-item .faq-a{font-size:15px; line-height:2.05; color:var(--muted-light);}
.faq-list{gap:0 !important;}

/* ── portfolio block on the home page ── */
.pf-home{background:var(--panel-1) !important;}
.pf-grid-bg{opacity:.25;}
.pf-spot, .pf-card, .pf-hstat, .pf-kpi{border-color:var(--line) !important; box-shadow:none !important;}
.pf-hstat b, .pf-kpi b, .pf-hstat strong, .pf-kpi strong{color:var(--gold-soft) !important;}
.pf-tag{border-color:var(--line) !important; color:var(--muted-light) !important; background:transparent !important;}

/* ── closing call to action & footer ── */
.cta-banner{background:linear-gradient(180deg, var(--panel-1), var(--paper)) !important; border-top:1px solid var(--line); padding:110px 0;}
footer, .site-footer{background:var(--navy-1000) !important; border-top:1px solid var(--line);}
.footer-col a:hover, .footer-contact a:hover{color:var(--gold-soft) !important;}
.social-row a{border:1px solid var(--line) !important; background:transparent !important; box-shadow:none !important;}
.social-row a:hover{border-color:var(--gold) !important; color:var(--gold-soft) !important;}

/* ── blog list ── */
.blog-card, .blog-featured{background:var(--panel-2) !important; border:1px solid var(--line) !important; border-radius:16px !important; box-shadow:none !important; backdrop-filter:none !important;}
.blog-card:hover{border-color:rgba(139,155,255,0.35) !important; transform:translateY(-3px);}
.blog-card-media.no-img, .blog-featured-media.no-img{
  background:
    linear-gradient(135deg, transparent 49.6%, rgba(139,155,255,0.16) 49.6%, rgba(139,155,255,0.16) 50.4%, transparent 50.4%) 0 0/26px 26px,
    radial-gradient(420px 220px at 80% 0%, rgba(139,155,255,0.14), transparent 70%),
    var(--navy-900) !important;}
.blog-card-media.no-img svg, .blog-featured-media.no-img svg{color:rgba(139,155,255,0.55) !important; width:34px !important; height:34px !important;}
.blog-card.is-collapsed{display:none !important;}
.blog-more{display:flex; justify-content:center; margin:36px 0 0;}

/* ── small screens ── */
@media (max-width:980px){
  .hero{padding:128px 0 72px;}
  .hero .wrap{display:flex !important; flex-direction:column; gap:36px; align-items:stretch;}
  .hero-text{order:1;}
  .hero-visual{order:2; height:330px !important;}
  .hero h1{font-size:clamp(30px, 8vw, 44px) !important;}
  .hero-actions{margin-top:28px; gap:12px;}
  .hero-actions .btn{flex:1 1 150px;}
  .hero-trust{margin-top:36px; gap:24px; justify-content:space-between;}
  .founder-card{width:250px !important; height:250px !important;}
  .ring.r4{display:none;}
}
@media (max-width:640px){
  .services{padding:72px 0 56px;}
  .sec-head{margin-bottom:32px;}
  .service-category{margin-bottom:40px;}
  .cat-banner{flex-direction:row !important; text-align:start !important; padding:16px 18px !important; gap:14px !important;}
  .cat-banner-icon-big{width:44px !important; height:44px !important;}
  /* services: compact two-column tiles — the page was 24 screens tall with one full card per service */
  .service-grid-fixed{grid-template-columns:repeat(2, minmax(0, 1fr)) !important; gap:10px !important;}
  .service-tile{padding:16px 14px 12px !important; gap:8px !important; border-radius:14px !important;}
  .service-tile p, .service-tile .tile-banner{display:none !important;}
  .tile-icon{width:40px !important; height:40px !important; border-radius:11px !important;}
  .tile-icon svg{width:19px !important; height:19px !important;}
  .service-tile h3{font-size:14.5px !important; line-height:1.6 !important;}
  .tile-btn{font-size:12.5px !important; padding-top:10px !important;}
  .why-grid{gap:12px !important;}
  .cta-banner{padding:72px 0;}
  .footer-col a, .footer-contact a{min-height:40px; display:inline-flex; align-items:center;}
  .footer-col li, .footer-contact li{margin:0 !important; padding:0 !important;}
  .faq-item summary{font-size:15px;}
}
@media (prefers-reduced-motion: reduce){ .marquee-track{animation:none !important;} }

.pf-spot{background:var(--panel-2) !important;}


/* ═════ v4 additions ═════ */
/* hero: soft two-tone glow over a fine grid */
.hero{background:
    radial-gradient(820px 520px at 88% -8%, rgba(106,92,255,0.30), transparent 62%),
    radial-gradient(640px 460px at 4% 108%, rgba(58,160,240,0.16), transparent 66%),
    linear-gradient(rgba(148,163,255,0.045) 1px, transparent 1px) 0 0/64px 64px,
    linear-gradient(90deg, rgba(148,163,255,0.045) 1px, transparent 1px) 0 0/64px 64px,
    linear-gradient(180deg, #070b1a 0%, var(--paper) 100%) !important;}
.hero h1 em, .hero h1 .hl, .hero h1 .accent, .hero h1 .grad, .hero h1 mark, .hero h1 i, .hero h1 b, .hero h1 strong{background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent !important; -webkit-text-fill-color:transparent; font-style:normal;}
.hero-trust .stat b, .pf-hstat b, .pf-kpi b{background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent !important; -webkit-text-fill-color:transparent;}
.btn-primary{box-shadow:0 12px 28px -14px rgba(100,87,245,0.9), inset 0 1px 0 rgba(255,255,255,0.22) !important;}
.btn-primary:hover{box-shadow:0 18px 36px -14px rgba(100,87,245,1), inset 0 1px 0 rgba(255,255,255,0.28) !important; filter:brightness(1.07);}
.nav-trigger .trigger-icon span{background:#fff !important;}
.founder-card{border-color:rgba(148,163,255,0.35) !important; box-shadow:0 40px 90px -40px rgba(100,87,245,0.55), 0 30px 60px -40px rgba(0,0,0,0.9) !important;}
.ring{border-color:rgba(148,163,255,0.14) !important;}
/* cards: a faint tinted surface and a coloured edge on hover */
.service-tile, .why-card, .product-card, .blog-card, .blog-featured, .cat-banner, .pf-spot{background:linear-gradient(180deg, rgba(139,155,255,0.06), rgba(139,155,255,0.015)), var(--panel-2) !important;}
.service-tile:hover, .why-card:hover, .blog-card:hover{border-color:rgba(139,155,255,0.5) !important; box-shadow:0 26px 50px -34px rgba(100,87,245,0.9) !important;}
.tile-icon, .cat-banner-icon-big, .mega-ic{background:linear-gradient(135deg, rgba(100,87,245,0.28), rgba(47,127,224,0.18)) !important; border-color:rgba(148,163,255,0.30) !important; color:#dfe4ff !important;}
.tile-btn{color:var(--accent-soft) !important;}
.sec-head h2{position:relative;}
.cta-banner{background:
    radial-gradient(700px 360px at 50% 0%, rgba(100,87,245,0.22), transparent 70%),
    linear-gradient(180deg, var(--panel-1), var(--paper)) !important;}
.marquee-track i{color:var(--accent) !important;}

/* ── header menu fixes ── */
/* desktop: the services panel was centred on its menu item and ran off the right edge of the screen */
@media (min-width:1081px){
  .header-wrap{position:relative;}
  .header-nav, li.has-megamenu{position:static !important;}
  .mega-menu{left:auto !important; right:0 !important; transform:none !important; width:min(880px, 100%) !important; top:100% !important; padding-top:14px !important;}
  .mega-menu-inner{box-shadow:0 40px 90px -30px rgba(2,4,12,0.95), 0 0 0 1px rgba(148,163,255,0.10) !important;}
  .mega-link{font-size:13.5px !important; color:var(--muted-light) !important; min-height:40px;}
  .mega-link:hover{background:rgba(139,155,255,0.10) !important; color:#fff !important;}
  .mega-col-title{color:var(--accent-soft) !important; font-size:12px !important;}
}
.header-nav a{opacity:1 !important;}
.header-nav a::after{background:var(--grad-accent) !important; height:2px !important; border-radius:2px;}
/* mobile: the full-screen menu started underneath the logo bar, was cut off at the bottom and its links were dimmed */
.nav-overlay{background:linear-gradient(180deg, #070b1a, #060913) !important; overflow-y:auto !important; -webkit-overflow-scrolling:touch;}
.nav-overlay .aurora{display:none !important;}
.nav-overlay-inner{height:auto !important; min-height:100%; justify-content:flex-start !important; padding-top:112px !important; padding-bottom:36px !important;}
.nav-overlay-links li{border-bottom-color:var(--line) !important;}
.nav-overlay-links a{opacity:1 !important; color:var(--ink) !important; font-family:inherit !important; font-size:clamp(21px, 5.6vw, 34px) !important; font-weight:700 !important; padding:15px 4px !important; min-height:56px; align-items:center !important; gap:16px !important;}
.nav-overlay-links a:hover, .nav-overlay-links a:active{color:#fff !important; transform:none !important;}
.nav-overlay-links a .idx{color:var(--accent) !important; opacity:1 !important; font-size:12.5px !important;}
.nav-overlay-foot{margin-top:28px !important; border-top-color:var(--line) !important; gap:10px 18px !important;}
.nav-overlay-foot a{color:var(--accent-soft) !important;}

/* mobile menu call-to-action */
.nav-overlay-cta{margin-top:26px; width:100%; min-height:52px; font-size:15.5px;}
@media (min-width:901px){ .nav-overlay-cta{width:auto; align-self:flex-start;} }
