/*  Hasan Syed — site polish
    Hover motion, scroll reveal, RTL type, testimonial swipe rail, floating WhatsApp,
    and structured data. Everything visual/editable lives in Elementor; this file only
    carries what Elementor free cannot express. Class hooks: hs-card, hs-zoom,
    hs-reveal, hs-rail, hs-chip, hs-chip--key, hs-arch.  */

:root{--hs-bg:#FAF7F2;--hs-surface:#fff;--hs-band:#F2EDE4;--hs-ink:#14130F;--hs-body:#4A463F;--hs-muted:#6E6961;--hs-gold:#C9982F;--hs-goldink:#8A6A22;--hs-line:rgba(20,19,15,.09)}

html{scroll-behavior:smooth}
body{background:var(--hs-bg);text-wrap:pretty}

/* sticky-header anchor offset */
:target{scroll-margin-top:96px}
[id]{scroll-margin-top:96px}

/* ---- cards ---- */
.hs-card{transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease}
.hs-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(20,19,15,.10)}
.hs-zoom img{transition:transform .8s cubic-bezier(.16,1,.3,1)}
.hs-card:hover .hs-zoom img{transform:scale(1.05)}
.hs-zoom{overflow:hidden}

/* arched hero portrait */
.hs-arch img{border-radius:210px 210px 20px 20px}

/* ---- skill chips ---- */
.hs-chips{display:flex;flex-wrap:wrap;gap:9px}
.hs-chip{display:inline-block;padding:8px 14px;border:1px solid var(--hs-line);border-radius:10px;background:#fff;color:var(--hs-body);font-size:13.5px;font-family:'Space Grotesk',sans-serif}
.hs-chip--mid{padding:9px 15px;font-size:14px;font-weight:500;color:var(--hs-ink);background:rgba(201,152,47,.16);border-color:rgba(138,106,34,.4)}
.hs-chip--key{padding:11px 18px;font-size:15px;font-weight:600;color:var(--hs-ink);background:var(--hs-gold);border-color:var(--hs-gold)}

/* ---- testimonial / latest-post rail ---- */
.hs-rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:6px}
.hs-rail::-webkit-scrollbar{display:none}
.hs-rail>*{flex:0 0 min(380px,84%);scroll-snap-align:start}
.hs-rail-nav{display:flex;gap:10px}
.hs-rail-btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(20,19,15,.16);background:#fff;color:var(--hs-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1;transition:border-color .25s ease}
.hs-rail-btn:hover{border-color:var(--hs-ink)}
.hs-rail-btn[disabled]{opacity:.35;cursor:default}

/* ---- latest posts (shortcode) ---- */
.hs-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px}
.hs-post{display:flex;flex-direction:column;background:#fff;border:1px solid var(--hs-line);border-radius:18px;overflow:hidden;box-shadow:0 1px 2px rgba(20,19,15,.04);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease}
.hs-post:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(20,19,15,.10)}
.hs-post__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--hs-band);display:block}
.hs-post__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.hs-post:hover .hs-post__media img{transform:scale(1.06)}
.hs-post__cat{position:absolute;top:14px;inset-inline-start:14px;background:rgba(250,247,242,.94);color:var(--hs-ink);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;padding:6px 11px;border-radius:8px}
.hs-post__body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.hs-post__meta{font-size:12.5px;color:var(--hs-muted)}
.hs-post__title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:18.5px;line-height:1.35;letter-spacing:-.015em;margin:0}
.hs-post__title a{color:var(--hs-ink)}
.hs-post__title a:hover{color:var(--hs-goldink)}
.hs-post__excerpt{font-size:14.5px;line-height:1.7;color:var(--hs-body);margin:0;flex:1}
.hs-post__more{font-size:14px;font-weight:500;color:var(--hs-goldink)}

/* ---- floating WhatsApp ---- */
.hs-wa{position:fixed;inset-inline-end:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:9990;width:58px;height:58px;border-radius:50%;background:#1FA855;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(20,19,15,.28);transition:transform .25s ease}
.hs-wa:hover{transform:translateY(-3px) scale(1.04);color:#fff}
.hs-wa svg{width:27px;height:27px;fill:currentColor}

/* ---- scroll reveal ---- */
.hs-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.hs-reveal.is-in{opacity:1;transform:none}

/* ---- forms (WPForms) ---- */
.wpforms-container .wpforms-field-label{font-size:13px;color:var(--hs-body);font-weight:400}
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container input[type=tel],.wpforms-container select,.wpforms-container textarea{padding:14px 15px!important;border:1px solid rgba(20,19,15,.16)!important;border-radius:11px!important;background:var(--hs-bg)!important;color:var(--hs-ink)!important;font-size:15px!important;max-width:100%!important}
.wpforms-container button[type=submit]{background:var(--hs-gold)!important;color:var(--hs-ink)!important;border:none!important;border-radius:999px!important;padding:16px 28px!important;font-size:15.5px!important;font-weight:500!important;box-shadow:0 8px 22px rgba(201,152,47,.26);transition:transform .25s ease}
.wpforms-container button[type=submit]:hover{transform:translateY(-2px)}

/* ---- RTL / Arabic ---- */
html[dir=rtl] body,html[dir=rtl] .elementor-widget-container{font-family:'IBM Plex Sans Arabic','DM Sans',sans-serif}

/* ---- sticky Astra header ---- */
#masthead,.site-header{position:sticky;top:0;z-index:999;backdrop-filter:blur(14px);border-bottom:1px solid var(--hs-line)}
.ast-primary-header-bar,.site-primary-header-wrap{border-bottom:0!important}
.ast-header-break-point #masthead{position:sticky}

/* ---- hero ---- */
#home{position:relative;overflow:hidden}
#home>.e-con-inner,#home>.elementor-widget-wrap{position:relative;z-index:1}
#home:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(20,19,15,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(20,19,15,.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(120% 80% at 50% 0%,#000 15%,transparent 72%);mask-image:radial-gradient(120% 80% at 50% 0%,#000 15%,transparent 72%)}
#home:after{content:"";position:absolute;top:-200px;inset-inline-end:-140px;width:640px;height:640px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(201,152,47,.2),transparent 62%)}

/* ---- statistics band ---- */
#stats .elementor-counter-number-wrapper{justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(40px,5vw,60px);line-height:1;letter-spacing:-.03em;color:#E8C06A}
#stats .elementor-counter-title{margin-top:12px;text-align:center;font-size:13.5px;letter-spacing:.08em;color:#B9B3A9;font-family:'DM Sans',sans-serif}

/* ---- project meta table ---- */
.hs-meta{border-collapse:collapse;margin:0;width:auto;background:none;border:0}
.hs-meta th,.hs-meta td{border:0;padding:0 18px 10px 0;text-align:start;vertical-align:top;font-size:14px;font-weight:400;background:none}
.hs-meta th{color:var(--hs-muted);white-space:nowrap}
.hs-meta td{color:var(--hs-ink)}
.hs-soon{display:inline-flex;align-items:center;padding:13px 22px;border:1px dashed rgba(20,19,15,.22);border-radius:999px;font-size:14px;color:var(--hs-muted)}

/* ---- testimonials ---- */
.hs-quote{display:block;font-family:'Space Grotesk',sans-serif;font-size:40px;line-height:.6;color:rgba(138,106,34,.4)}
.hs-avatar img{border-radius:50%;width:44px;height:44px;object-fit:cover}

/* ---- contact info rows ---- */
.hs-info__wrap{display:block}
.hs-info{display:flex;flex-direction:column;gap:3px}
.hs-info__label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--hs-muted)}
.hs-info__value{font-size:15.5px;color:var(--hs-ink)}
a.hs-info__wrap:hover .hs-info__value{color:var(--hs-goldink)}
.hs-formwrap .wpforms-container{margin:0}

/* ---- centered blocks ---- */
.hs-center{margin-inline:auto}

/* ---- Astra footer ---- */
.site-footer,.ast-footer-overlay{background:var(--hs-ink)}
.hs-foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:clamp(28px,4vw,52px);text-align:start;padding:clamp(48px,6vw,72px) 0 8px}
.hs-foot__col h2{font-family:'Space Grotesk',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#A8A29A;font-weight:500;margin:0 0 18px}
.hs-foot__col p{font-size:14.5px;line-height:1.7;color:#A8A29A;margin:0 0 16px}
.hs-foot__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.hs-foot__col li{font-size:14.5px;color:#E8E4DC}
.hs-foot a{color:#E8E4DC}
.hs-foot a:hover{color:#E8C06A}
.hs-foot__brand{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.hs-foot__brand strong{display:block;font-family:'Space Grotesk',sans-serif;font-size:16px;color:#FAF7F2}
.hs-foot__brand small{display:block;font-size:12px;color:#A8A29A}
.hs-foot__mark{width:36px;height:36px;border-radius:10px;border:1px solid rgba(232,192,106,.45);background:rgba(232,192,106,.1);color:#E8C06A;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:14px}
.hs-foot__btn{display:inline-block;padding:12px 22px;border-radius:999px;background:var(--hs-gold);color:var(--hs-ink)!important;font-size:14px;font-weight:500}
.hs-foot__kw{font-size:13px;color:#A8A29A}
.ast-below-footer-wrap,.site-below-footer-wrap{border-top:1px solid rgba(250,247,242,.14)}

/* ---- blog archive + single ---- */
.blog .ast-article-post,.archive .ast-article-post{background:#fff;border:1px solid var(--hs-line);border-radius:18px;overflow:hidden;box-shadow:0 1px 2px rgba(20,19,15,.04);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease}
.blog .ast-article-post:hover,.archive .ast-article-post:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(20,19,15,.1)}
.blog .ast-blog-featured-section img,.archive .ast-blog-featured-section img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.blog .ast-article-post:hover img,.archive .ast-article-post:hover img{transform:scale(1.05)}
.blog .ast-blog-single-element,.archive .ast-blog-single-element{padding-inline:22px}
.blog .entry-title,.archive .entry-title{font-size:20px;line-height:1.32;letter-spacing:-.018em}
.blog .entry-title a,.archive .entry-title a{color:var(--hs-ink)}
.blog .entry-title a:hover,.archive .entry-title a:hover{color:var(--hs-goldink)}
.single-post .entry-content{font-size:17px;line-height:1.85;color:#33302B}
.single-post .entry-content h2{margin-top:44px;font-size:29px;line-height:1.25}
.single-post .entry-content h3{margin-top:30px;font-size:21px}
.single-post .entry-content ul{padding-inline-start:22px}
.single-post .entry-content li{margin-bottom:10px}
.single-post .post-thumb img{border-radius:22px}
.single-post .entry-header .entry-title{font-size:clamp(30px,4.4vw,50px);line-height:1.1;letter-spacing:-.032em}
.hs-postcta{margin:56px 0 0;padding:clamp(30px,4vw,44px);border-radius:22px;background:var(--hs-ink);color:#FAF7F2}
.hs-postcta h2{margin:0 0 12px;color:#FAF7F2;font-size:clamp(24px,3vw,32px);line-height:1.2}
.hs-postcta p{margin:0 0 26px;color:#B9B3A9;max-width:520px;font-size:16.5px;line-height:1.75}
.hs-postcta .hs-btn{display:inline-block;padding:15px 28px;border-radius:999px;background:var(--hs-gold);color:var(--hs-ink);font-weight:500;font-size:15px;margin-inline-end:12px}
.hs-postcta .hs-btn--ghost{background:transparent;border:1px solid rgba(250,247,242,.28);color:#FAF7F2}
.hs-related{margin-top:56px}
.hs-related>h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(24px,3vw,32px);letter-spacing:-.025em;margin:0 0 28px}

@media (max-width:544px){.hs-rail>*{flex-basis:88%}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hs-reveal{opacity:1;transform:none;transition:none}
  *{animation:none!important;transition-duration:.01ms!important}
}

/* ---- blog index intro ---- */
.hs-blogintro{max-width:820px;margin:0 auto clamp(32px,4vw,56px);padding-top:clamp(24px,4vw,48px)}
.hs-blogintro__eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--hs-goldink);margin:0 0 18px}
.hs-blogintro__title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(36px,5.4vw,60px);line-height:1.06;letter-spacing:-.035em;margin:0 0 20px}
.hs-blogintro__sub{font-size:clamp(16px,1.7vw,19px);line-height:1.75;color:var(--hs-body);margin:0}

/* ---- counter order + location pin ---- */
#stats .elementor-counter{display:flex;flex-direction:column;align-items:center}
#stats .elementor-counter-number-wrapper{order:1}
#stats .elementor-counter-title{order:2}
.hs-loc{display:flex;align-items:center;gap:9px;margin:0}
.hs-loc__pin{width:7px;height:7px;border-radius:50%;background:var(--hs-gold);flex:0 0 7px}
