    :root{color-scheme:dark}
    *{box-sizing:border-box}
    body{background:#0b0b12;color:#f5f3ff;font-family:Vazirmatn,Tahoma,sans-serif}
    .noise{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");opacity:.16;pointer-events:none}
    .hero-img{background-image:linear-gradient(90deg,rgba(11,11,18,.05) 0%,rgba(11,11,18,.15) 43%,#0b0b12 100%),url('../images/hero.jpg');background-size:cover;background-position:center 12%}
    .lilac-gradient{background:linear-gradient(135deg,#ded6ff,#aa96f5)}
    .outline-lilac{border:1px solid rgba(185,168,255,.48)}
    .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
    .reveal.visible{opacity:1;transform:translateY(0)}
    .gallery-item{transition:transform .35s,opacity .25s}
    .gallery-item:hover{transform:translateY(-4px)}
    .gallery-item img{transition:transform .6s}
    .gallery-item:hover img{transform:scale(1.045)}
    .filters-row{-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filters-row::-webkit-scrollbar{display:none}
    .filter-btn.active{background:#b9a8ff;color:#14111f;border-color:#b9a8ff}
    .step-dot.active{background:#b9a8ff;color:#14111f;border-color:#b9a8ff}
    .step-dot.done{background:#262238;color:#ded6ff;border-color:#b9a8ff}
    .modal-backdrop{background:rgba(4,4,10,.78);backdrop-filter:blur(12px)}
    .input-dark{background:#1a1927;color:#f5f3ff;border:1px solid #343147;border-radius:12px;padding:13px 14px;width:100%;outline:none}
    .input-dark:focus{border-color:#b9a8ff;box-shadow:0 0 0 3px rgba(185,168,255,.12)}
    .service-card:hover .service-arrow{background:#b9a8ff;color:#171522;transform:translateX(-2px)}
    .service-arrow{transition:all .25s}
    @media(max-width:768px){.hero-img{background-image:linear-gradient(0deg,#0b0b12 0%,rgba(11,11,18,.55) 50%,rgba(11,11,18,.1) 100%),url('../images/hero.jpg');background-position:4% top}}
    /* Services slider: native, lightweight, swipeable, no extra library */
    .services-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:3px 2px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch;direction:rtl}
    .services-track::-webkit-scrollbar{display:none}
    .services-track>.service-card{flex:0 0 calc(25% - .75rem);min-width:0;scroll-snap-align:start}
    .services-track>.service-card>div:first-child{height:230px}
    .services-arrow{width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(185,168,255,.4);border-radius:50%;display:grid;place-items:center;transition:all .2s;cursor:pointer;position:relative;z-index:2;touch-action:manipulation}
    .services-arrow:hover{background:#b9a8ff;color:#171522}
    .service-pagination{display:flex;align-items:center;justify-content:center;gap:7px}
    .service-pagination button{width:6px;height:6px;border-radius:999px;background:#555165;transition:all .25s}
    .service-pagination button.active{width:23px;background:#b9a8ff}
    .app-bottom-nav{display:none}
    .app-nav-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 2px 7px;color:#a5a2b8;font-size:10px;line-height:1.2;transition:color .2s,background .2s;border-radius:14px;text-decoration:none}
    .app-nav-item .nav-icon{font-size:20px;line-height:1.1}
    .app-nav-item.active{color:#ded6ff;background:rgba(185,168,255,.13)}
    .app-nav-item:focus-visible{outline:2px solid #b9a8ff;outline-offset:2px}
    @media(max-width:1023px){.app-bottom-nav{display:flex;position:fixed;inset-inline:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:55;align-items:center;gap:3px;padding:6px;background:rgba(19,19,29,.94);border:1px solid rgba(185,168,255,.22);border-radius:20px;box-shadow:0 12px 35px rgba(0,0,0,.4);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}}
    @media(max-width:1023px){.services-track>.service-card{flex-basis:calc(33.333% - .7rem)}}
    @media(max-width:1023px){
      body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
      #menuToggle,#mobileMenu{display:none!important}
    }
    @media(max-width:767px){
      .services-track{gap:12px;margin-inline:-2px;padding-bottom:12px}
      .services-track>.service-card{flex-basis:78%;}
      .services-track>.service-card>div:first-child{height:220px}
    }
    @media(prefers-reduced-motion:reduce){.services-track{scroll-behavior:auto}}

    /* Refined editorial-style benefits section */
    .benefits-section{background:radial-gradient(ellipse at 50% 0%,rgba(185,168,255,.075),transparent 58%),#101019}
    .benefits-heading{text-align:center;max-width:620px;margin:0 auto 42px}
    .benefits-kicker{font-size:9px;letter-spacing:.28em;color:#b9a8ff;display:block;margin-bottom:13px;direction:ltr}
    .benefits-heading h2{font-size:clamp(25px,3vw,37px);font-weight:500;line-height:1.6;margin:0}
    .benefits-heading h2 span{color:#b9a8ff}
    .benefits-heading p{font-size:12px;line-height:2;color:#a5a2b8;margin:9px 0 0}
    .benefits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
    .benefit-card{position:relative;display:flex;align-items:flex-start;gap:17px;min-height:185px;padding:25px 22px;border:1px solid rgba(185,168,255,.14);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));overflow:hidden;transition:transform .3s,border-color .3s,background .3s}
    .benefit-card:before{content:"";position:absolute;right:0;top:22px;bottom:22px;width:2px;background:linear-gradient(180deg,#b9a8ff,transparent);opacity:.8}
    .benefit-card:hover{transform:translateY(-4px);border-color:rgba(185,168,255,.4);background:linear-gradient(145deg,rgba(185,168,255,.09),rgba(255,255,255,.015))}
    .benefit-icon{width:49px;height:49px;flex:0 0 49px;border:1px solid rgba(185,168,255,.28);border-radius:15px;display:grid;place-items:center;color:#ded6ff;background:rgba(185,168,255,.09);font-size:24px;box-shadow:inset 0 0 18px rgba(185,168,255,.04)}
    .benefit-copy{min-width:0;padding-top:1px}
    .benefit-number{font-size:8px;letter-spacing:.15em;color:#8f83bd;direction:ltr;display:block;margin-bottom:8px}
    .benefit-copy h3{font-size:16px;line-height:1.8;font-weight:500;margin:0 0 7px;color:#f5f3ff}
    .benefit-copy p{font-size:11px;line-height:2.1;color:#a5a2b8;margin:0;max-width:290px}
    .benefit-mark{position:absolute;left:17px;bottom:13px;color:rgba(185,168,255,.45);font-size:14px;opacity:0;transform:translate(3px,-3px);transition:.25s}
    .benefit-card:hover .benefit-mark{opacity:1;transform:translate(0,0)}
    @media(max-width:900px){.benefits-grid{grid-template-columns:1fr;max-width:680px;margin:auto}.benefit-card{min-height:0;padding:22px}.benefit-copy p{max-width:unset}}
    @media(max-width:520px){.benefits-heading{margin-bottom:28px}.benefit-card{gap:13px;padding:19px 17px}.benefit-icon{width:43px;height:43px;flex-basis:43px;border-radius:13px;font-size:21px}.benefit-copy h3{font-size:15px}.benefit-copy p{font-size:11px;line-height:2}}

    /* Jalali date picker */
    .jdp{position:relative}
    #dateSelect{cursor:pointer;caret-color:transparent}
    .jdp-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:60;width:max(100%,290px);max-width:min(340px,calc(100vw - 32px));padding:14px;background:#1a1927;border:1px solid #343147;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.55);color:#f5f3ff;scroll-margin-bottom:110px}
    .jdp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
    .jdp-title{font-size:13px;font-weight:600}
    .jdp-nav{width:32px;height:32px;border-radius:50%;border:1px solid rgba(185,168,255,.35);display:grid;place-items:center;color:#ded6ff;transition:background .2s,color .2s;cursor:pointer}
    .jdp-nav:hover:not(:disabled){background:#b9a8ff;color:#171522}
    .jdp-nav:disabled{opacity:.3;cursor:not-allowed}
    .jdp-nav:focus-visible,.jdp-today:focus-visible{outline:2px solid #b9a8ff;outline-offset:2px}
    .jdp-week,.jdp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
    .jdp-week span{text-align:center;font-size:11px;color:#a5a2b8;padding:4px 0}
    .jdp-week span:last-child{color:#f0a3b4}
    .jdp-day{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;border:1px solid transparent;font-size:12px;color:inherit;cursor:pointer;transition:background .15s,color .15s}
    .jdp-day.is-fri{color:#f0a3b4}
    .jdp-day:hover:not(:disabled){background:rgba(185,168,255,.18)}
    .jdp-day:focus-visible{outline:2px solid #b9a8ff;outline-offset:1px}
    .jdp-day:disabled{opacity:.28;cursor:not-allowed}
    .jdp-day.is-today{border-color:rgba(185,168,255,.65)}
    .jdp-day.is-selected{background:linear-gradient(135deg,#ded6ff,#aa96f5);color:#171522;font-weight:700}
    .jdp-foot{display:flex;justify-content:flex-start;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
    .jdp-today{font-size:12px;color:#b9a8ff;padding:2px 4px;border-radius:6px}

    /* Mobile: tighter vertical rhythm between sections (hero keeps its own height) */
    @media(max-width:767px){
      main > section:not(#home){padding-top:56px;padding-bottom:56px}
      footer[class]{padding-top:40px}
    }

    /* Inner pages: all services + single service */
    body{--pg-card:#13131d;--pg-line:rgba(255,255,255,.1);--pg-muted:#a5a2b8;--pg-soft:rgba(255,255,255,.035);--pg-accent:#b9a8ff}
    .pg-wrap{max-width:80rem;margin:0 auto;padding:0 1.25rem}
    @media(min-width:1024px){.pg-wrap{padding:0 2rem}}
    .pg-hero{padding:136px 0 64px;border-bottom:1px solid var(--pg-line)}
    .pg-section{padding:72px 0;border-bottom:1px solid var(--pg-line)}
    .pg-section.pg-last{border-bottom:0}
    .pg-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--pg-muted);margin-bottom:24px}
    .pg-crumbs a:hover{color:var(--pg-accent)}
    .pg-kicker{font-size:12px;letter-spacing:.2em;color:var(--pg-accent);margin-bottom:12px}
    .pg-hero h1{font-size:clamp(28px,4vw,44px);font-weight:600;line-height:1.5}
    .pg-lead{font-size:14px;line-height:2.1;color:var(--pg-muted);max-width:620px;margin-top:14px}
    .pg-h2{font-size:22px;font-weight:600;margin-bottom:22px}
    .pg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
    .pg-card{background:var(--pg-card);border:1px solid var(--pg-line);border-radius:20px;overflow:hidden;transition:transform .3s,border-color .3s}
    .pg-card:hover{transform:translateY(-4px);border-color:rgba(185,168,255,.45)}
    .pg-card-img{display:block;height:220px;overflow:hidden}
    .pg-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
    .pg-card:hover .pg-card-img img{transform:scale(1.05)}
    .pg-card-body{padding:18px}
    .pg-card h3{font-size:16px;font-weight:600}
    .pg-card p{font-size:12px;color:var(--pg-muted);margin-top:6px;line-height:1.9}
    .pg-price{display:block;font-size:12px;color:var(--pg-accent);margin-top:12px}
    .pg-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}
    .pg-link{font-size:12px;color:var(--pg-accent)}.pg-link:hover{text-decoration:underline}
    .pg-mini{font-size:12px;font-weight:700;padding:8px 18px;border-radius:999px;color:#171522;background:linear-gradient(135deg,#ded6ff,#aa96f5)}
    .pg-btn,.pg-btn-o{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 28px;font-size:14px;cursor:pointer}
    .pg-btn{font-weight:700;color:#171522;background:linear-gradient(135deg,#ded6ff,#aa96f5)}.pg-btn:hover{filter:brightness(1.08)}
    .pg-btn-o{border:1px solid rgba(185,168,255,.5);color:var(--pg-accent)}
    .pg-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px;border-radius:24px;background:var(--pg-card);border:1px solid var(--pg-line)}
    .pg-cta h2{font-size:22px;font-weight:600}.pg-cta p{font-size:13px;color:var(--pg-muted);margin-top:8px}
    .pg-single{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
    .pg-single img{width:100%;height:420px;object-fit:cover;border-radius:24px}
    .pg-meta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
    .pg-chip{font-size:12px;padding:8px 14px;border-radius:999px;border:1px solid var(--pg-line);background:var(--pg-soft)}
    .pg-chip b{color:var(--pg-accent);font-weight:500;margin-inline-start:8px}
    .pg-btns{display:flex;flex-wrap:wrap;gap:12px}
    .pg-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .pg-item{display:flex;gap:12px;padding:16px 18px;border-radius:16px;background:var(--pg-soft);border:1px solid var(--pg-line);font-size:13px;line-height:1.9}
    .pg-item:before{content:"✓";color:var(--pg-accent)}
    .pg-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
    .pg-step{padding:22px;border-radius:18px;background:var(--pg-card);border:1px solid var(--pg-line)}
    .pg-step-head{display:flex;align-items:baseline;gap:10px}
    .pg-step-head span{font-size:13px;color:var(--pg-accent);opacity:.75}
    .pg-step h3{font-size:16px;font-weight:600}.pg-step p,.pg-note p{font-size:13px;line-height:2;color:var(--pg-muted);margin-top:6px}
    .pg-note .pg-h2{font-size:18px;margin-bottom:6px}
    .pg-faq{border:1px solid var(--pg-line);border-radius:14px;background:var(--pg-soft);padding:0 18px;margin-bottom:10px}
    .pg-faq summary{cursor:pointer;padding:16px 0;font-size:14px;font-weight:500}
    .pg-faq p{font-size:13px;line-height:2;color:var(--pg-muted);padding-bottom:16px}
    @media(max-width:1023px){.pg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-single{grid-template-columns:1fr;gap:28px}.pg-single img{height:320px}}
    @media(max-width:767px){
      .pg-grid,.pg-two,.pg-steps{grid-template-columns:1fr}
      .pg-card-img{height:200px}
      .pg-cta{flex-direction:column;align-items:stretch;text-align:center;padding:24px}
      .pg-btns>*{flex:1 1 100%}
      main > section.pg-hero:not(#home){padding-top:104px;padding-bottom:40px}
    }

    /* About + Contact pages */
    .pg-story{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
    .pg-story img{width:100%;height:380px;object-fit:cover;border-radius:24px}
    .pg-story p{font-size:14px;line-height:2.2;color:var(--pg-muted);margin-top:14px}
    .pg-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
    .pg-ph{aspect-ratio:4/5;border-radius:18px;overflow:hidden;margin-bottom:12px}
    .pg-ph img{width:100%;height:100%;object-fit:cover}
    .pg-team h3{font-size:15px;font-weight:600}.pg-team p{font-size:12px;color:var(--pg-muted);margin-top:4px}
    .pg-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:start}
    .pg-info{display:grid;gap:12px;justify-items:start}
    .pg-info-item{width:100%;padding:18px 20px;border-radius:16px;background:var(--pg-soft);border:1px solid var(--pg-line)}
    .pg-info-item span{display:block;font-size:12px;color:var(--pg-accent);margin-bottom:6px}
    .pg-info-item p{font-size:14px}
    .pg-form{padding:28px;border-radius:24px;background:var(--pg-card);border:1px solid var(--pg-line)}
    .pg-form .pg-h2{font-size:20px}
    .pg-form label{display:block;font-size:12px;color:var(--pg-muted);margin-bottom:14px}
    .pg-form .input-dark{margin-top:8px}
    .pg-form textarea{min-height:120px;resize:vertical}
    .pg-form-ok{margin-top:16px;padding:16px;border-radius:14px;border:1px solid rgba(185,168,255,.35);background:rgba(185,168,255,.1);font-size:13px;line-height:2}
    .pg-form-ok strong{color:var(--pg-accent)}
    @media(max-width:1023px){.pg-story,.pg-contact{grid-template-columns:1fr;gap:28px}.pg-team{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:767px){.pg-story img{height:260px}.pg-form{padding:20px}}

    /* Brand wordmark (header + footer): both lines centred on one axis.
       letter-spacing adds a trailing gap after the last letter; the negative margin cancels it. */
    .brand-text{display:inline-flex;flex-direction:column;align-items:center;direction:ltr;line-height:1.3;white-space:nowrap}
    .brand-name{font-size:18px;font-weight:300;letter-spacing:.5em;margin-right:-.5em}
    .brand-sub{font-size:8px;letter-spacing:.17em;margin-right:-.17em;margin-top:2px}

    /* Header account icon, toast */
    .nav-icon{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#b9a8ff;transition:background .2s}
    .nav-icon:hover{background:rgba(255,255,255,.1)}
    .toast{position:fixed;left:50%;bottom:104px;transform:translate(-50%,16px);opacity:0;pointer-events:none;z-index:90;padding:12px 20px;border-radius:999px;background:#1f1d2e;color:#f5f3ff;border:1px solid rgba(185,168,255,.4);font-size:13px;box-shadow:0 12px 30px rgba(0,0,0,.4);transition:opacity .25s,transform .25s}
    .toast.show{opacity:1;transform:translate(-50%,0)}
    @media(min-width:1024px){.toast{bottom:32px}}
    .pg-act{display:flex;gap:8px}

    /* Login / signup */
    .auth-sec{padding:136px 0 72px}
    .auth-card{max-width:440px;margin:0 auto;padding:32px;border-radius:24px;background:var(--pg-card);border:1px solid var(--pg-line)}
    .auth-h{font-size:26px;font-weight:600;margin-bottom:6px}
    .auth-l{display:block;font-size:12px;color:var(--pg-muted);margin-top:18px}
    .auth-card .input-dark{margin-top:8px}
    .auth-num{text-align:center;letter-spacing:.14em;font-size:17px}
    .auth-btn{width:100%;margin-top:16px}
    .auth-err{margin-top:10px;font-size:12px;color:#f08aa0}
    .auth-demo{margin-top:14px;padding:12px 14px;border-radius:12px;border:1px dashed rgba(185,168,255,.5);font-size:12px;line-height:2;color:var(--pg-muted)}
    .auth-demo b{color:var(--pg-accent);letter-spacing:.2em;font-size:15px}
    .auth-links{display:flex;justify-content:space-between;gap:10px;margin-top:14px;font-size:12px}
    .auth-links button{color:var(--pg-accent)}.auth-links button:disabled{color:var(--pg-muted);cursor:default}
    .auth-done{text-align:center}
    .auth-done .pg-btn,.auth-done .pg-btn-o{width:100%;margin-top:12px}

    @media(max-width:767px){
      main > section.auth-sec:not(#home){padding-top:104px;padding-bottom:56px}
      .auth-card{padding:24px 20px}
    }

    /* Phone fields: browsers force direction:ltr on type="tel", which left-aligns the Persian placeholder.
       Keep digits in LTR order but align the field to the right like the other fields.
       (The login mobile/code inputs use .auth-num and stay centered.) */
    .input-dark[type="tel"]:not(.auth-num),.pg-form input[dir="ltr"]{direction:ltr;text-align:right}

/* Section titles: stay on one line on phones; "view all" link sits on the left (end) beside the title */
.sec-title{font-size:clamp(17px,5.4vw,24px);white-space:nowrap}
@media(min-width:640px){.sec-title{font-size:2.25rem}}
@media(max-width:1023px){.sec-head{align-items:center;gap:8px;margin-bottom:32px}}
