/*
Theme Name: Arup Barman Portfolio Elementor
Author: Arup Barman
Version: 5.0.0
Description: Lightweight animated SEO & WordPress portfolio.
*/
:root{--bg:#f7f7f5;--ink:#171717;--accent:#ff5738;--muted:#666;--line:#e4e4e1;--max:1440px;--pad:clamp(22px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - var(--pad)*2));margin:auto}
.site-header{height:66px;border-bottom:1px solid var(--line);display:flex;align-items:center;position:sticky;top:0;background:rgba(247,247,245,.94);backdrop-filter:blur(12px);z-index:100}.nav{display:flex;align-items:center;justify-content:space-between}.logo{font-size:17px;font-weight:900;letter-spacing:-.04em}.logo span{color:var(--accent)}.menu{display:flex;align-items:center;gap:38px;font-size:14px}.menu a{transition:.2s}.menu a:hover{color:var(--accent)}.menu .nav-cta{background:var(--ink);color:white;padding:18px 23px}.menu .nav-cta:hover{background:var(--accent);color:white}.toggle{display:none;border:0;background:none;font-size:25px}
.hello{height:42px;border-bottom:1px solid var(--line);display:flex;align-items:center;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.hello i{display:inline-block;width:9px;height:9px;background:var(--accent);margin-right:14px}
.hero{min-height:calc(100vh - 108px);padding:45px 0 55px;display:flex;align-items:center}.hero-layout{width:100%;display:grid;grid-template-columns:minmax(0,3.2fr) minmax(290px,1fr);gap:65px;align-items:end}.hero h1{font-size:clamp(72px,9.25vw,151px);line-height:1.04;letter-spacing:-.075em;margin:0;font-weight:800}.hero h1 .accent{color:var(--accent)}.hero-side{padding-bottom:14px}.hero-side p{font-size:19px;line-height:1.55;color:var(--muted);margin:0 0 32px;max-width:350px}.hero-links{display:flex;gap:28px;flex-wrap:wrap}.hero-links a{font-weight:800;font-size:14px}.hero-links a:hover{color:var(--accent)}.whatsapp{display:inline-flex!important;gap:8px;align-items:center;margin-top:24px}.arrow{display:inline-block;transition:transform .2s}.hero-links a:hover .arrow,.text-link:hover .arrow{transform:translate(4px,-4px)}
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;padding:18px 0}.ticker-track{display:inline-block;animation:ticker 24s linear infinite}.ticker span{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-right:55px}.ticker b{color:var(--accent);margin-right:55px}@keyframes ticker{to{transform:translateX(-50%)}}
.section{padding:110px 0;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 2.3fr;gap:50px;margin-bottom:65px}.eyebrow{font-size:11px;color:var(--accent);font-weight:900;letter-spacing:.16em;text-transform:uppercase}.section h2{font-size:clamp(46px,5.6vw,84px);line-height:.96;letter-spacing:-.06em;margin:0}.big-copy{font-size:clamp(20px,2.1vw,31px);line-height:1.35;color:#383838;max-width:900px;margin:35px 0 0}.text-link{display:inline-block;font-size:14px;font-weight:800;margin-top:25px}
.service{display:grid;grid-template-columns:85px 1fr 1fr;gap:35px;padding:38px 0;border-top:1px solid var(--line)}.service .n{color:var(--accent);font-size:12px;font-weight:800}.service h3{font-size:clamp(29px,3vw,45px);letter-spacing:-.045em;margin:0}.service p{color:var(--muted);line-height:1.55;margin:0 0 18px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{border:1px solid var(--line);padding:7px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.projects{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project{border:1px solid var(--line);min-height:500px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .28s ease,background .28s}.project:hover{transform:translateY(-7px);background:#fff}.project-mark{font-size:clamp(48px,5.8vw,86px);font-weight:900;letter-spacing:-.075em;line-height:.86}.project h3{font-size:30px;letter-spacing:-.04em;margin:12px 0}.project p{color:var(--muted);line-height:1.55;max-width:520px}
.exp{display:grid;grid-template-columns:85px 1.1fr 1fr;gap:35px;border-top:1px solid var(--line);padding:34px 0}.exp .n{color:var(--accent)}.exp h3{font-size:23px;margin:0 0 7px}.exp p{color:var(--muted);line-height:1.55;margin:0}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.post{border-top:1px solid var(--ink);padding-top:16px}.post small{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.post h3{font-size:26px;line-height:1.1;letter-spacing:-.035em;margin:42px 0 15px}.post p{color:var(--muted);line-height:1.5}
.cta{background:var(--ink);color:white;padding:100px 0}.cta .eyebrow{color:var(--accent)}.cta h2{font-size:clamp(52px,7vw,105px);line-height:.9;letter-spacing:-.065em;max-width:1150px;margin:18px 0 45px}.cta a{font-weight:900}.cta a:hover{color:var(--accent)}
footer{background:var(--ink);color:white;border-top:1px solid #333;padding:48px 0 28px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer-grid h3{font-size:26px}.footer-grid a{display:block;color:#bbb;margin:9px 0}.footer-grid a:hover{color:var(--accent)}.copy{border-top:1px solid #333;margin-top:42px;padding-top:22px;color:#888;font-size:11px;display:flex;justify-content:space-between}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.hero-reveal{opacity:0;transform:translateY(30px);animation:heroIn .75s ease forwards}.hero-reveal:nth-child(2){animation-delay:.1s}.hero-reveal:nth-child(3){animation-delay:.2s}.hero-reveal:nth-child(4){animation-delay:.3s}@keyframes heroIn{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}.reveal,.hero-reveal{opacity:1;transform:none;animation:none;transition:none}}
.page-head{padding:100px 0 65px;border-bottom:1px solid var(--line)}.page-head h1,.article h1{font-size:clamp(55px,7vw,105px);line-height:.92;letter-spacing:-.06em;margin:18px 0}.content,.article{max-width:880px;padding:70px 0}.content p,.content li,.article .entry{font-size:18px;line-height:1.75}.article .entry h2{font-size:38px;line-height:1.15;margin-top:50px}
@media(max-width:900px){.menu{display:none;position:absolute;top:66px;left:0;right:0;background:var(--bg);padding:24px var(--pad);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.menu.open{display:flex}.toggle{display:block}.hero{min-height:auto;padding:55px 0}.hero-layout{grid-template-columns:1fr;gap:45px}.hero h1{font-size:clamp(63px,16vw,105px)}.hero-side{padding:0}.section{padding:75px 0}.section-head,.service,.exp{grid-template-columns:1fr}.section-head{gap:20px}.service,.exp{gap:14px}.projects,.posts,.footer-grid{grid-template-columns:1fr}.project{min-height:380px}.copy{flex-direction:column;gap:10px}}


/* V4 AUDIT FIXES — alignment, rhythm, overflow and accessibility */
html,body{max-width:100%;overflow-x:hidden}
main{display:block}
.wrap{padding-left:0;padding-right:0}
.site-header .wrap,.hello .wrap,.hero .wrap,.section .wrap,.cta .wrap,footer .wrap,.page-head .wrap{width:min(var(--max),calc(100% - (var(--pad)*2)));margin-inline:auto}
.hero-layout{grid-template-columns:minmax(0,2.75fr) minmax(300px,.9fr)}
.hero h1{max-width:1100px}
.hero-side{justify-self:end;width:100%;max-width:360px}
.section-head>*{min-width:0}
.service>*{min-width:0}
.projects>*{min-width:0}
.exp>*{min-width:0}
.posts>*{min-width:0}
.project-mark{overflow-wrap:anywhere}
.menu ul{display:contents;margin:0;padding:0;list-style:none}
.menu li{display:inline-flex}
.menu li a{display:inline-flex;align-items:center}
.menu li:last-child a{background:var(--ink);color:#fff;padding:18px 23px}
.menu li:last-child a:hover{background:var(--accent);color:#fff}
button,a{outline-offset:4px}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent)}
.content img,.article img{max-width:100%;height:auto}
.content iframe,.article iframe{max-width:100%}
.article,.content{width:min(880px,calc(100% - (var(--pad)*2)));margin-inline:auto}
@media (min-width:901px) and (max-width:1180px){
 .hero h1{font-size:clamp(70px,9vw,105px)}
 .hero-layout{grid-template-columns:minmax(0,2.2fr) minmax(280px,1fr);gap:42px}
 .menu{gap:22px}
 .section-head{grid-template-columns:.75fr 2fr}
}
@media(max-width:900px){
 .site-header .wrap,.hello .wrap,.hero .wrap,.section .wrap,.cta .wrap,footer .wrap,.page-head .wrap{width:min(var(--max),calc(100% - (var(--pad)*2)))}
 .menu ul{display:flex;flex-direction:column;gap:20px;width:100%}
 .menu li{display:block}
 .menu li:last-child a{padding:13px 16px}
 .hero-side{justify-self:start;max-width:520px}
 .hero h1{line-height:.94}
 .section-head{margin-bottom:48px}
}
@media(max-width:520px){
 :root{--pad:20px}
 .hello{height:38px}
 .hero{padding:42px 0 48px}
 .hero h1{font-size:clamp(52px,15.2vw,78px);letter-spacing:-.065em}
 .hero-layout{gap:34px}
 .hero-side p{font-size:17px}
 .hero-links{gap:20px}
 .section{padding:62px 0}
 .section h2{font-size:clamp(42px,12vw,62px)}
 .service{padding:30px 0}
 .project{padding:24px;min-height:340px}
 .project-mark{font-size:clamp(44px,14vw,68px)}
 .posts{gap:40px}
 .cta{padding:72px 0}
}


/* V5 MOBILE-FIRST FIXES */
@media(max-width:900px){
 body{font-size:16px}
 .site-header{height:62px}
 .site-header .wrap{width:calc(100% - 40px)}
 .logo{font-size:16px}
 .toggle{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;cursor:pointer}
 .menu{top:62px;max-height:calc(100vh - 62px);overflow-y:auto;padding:22px 20px 28px;gap:0}
 .menu.open{display:flex}
 .menu>a,.menu li a{width:100%;padding:12px 0;font-size:16px}
 .menu .nav-cta,.menu li:last-child a{width:auto;margin-top:8px;padding:14px 17px}
 .hello{height:38px}
 .hello .wrap{width:calc(100% - 40px)}
 .hero{min-height:0;padding:42px 0 48px}
 .hero .wrap{width:calc(100% - 40px)}
 .hero-layout{display:block}
 .hero h1{font-size:clamp(50px,14.5vw,86px);line-height:.91;letter-spacing:-.062em;max-width:100%;overflow-wrap:normal;word-break:normal}
 .hero h1 br{display:block}
 .hero-side{margin-top:36px;max-width:600px}
 .hero-side p{font-size:17px;line-height:1.55;max-width:520px;margin-bottom:24px}
 .hero-links{display:flex;gap:18px 24px}
 .whatsapp{margin-top:20px}
 .ticker{padding:14px 0}
 .ticker span{font-size:10px;margin-right:35px}
 .ticker b{margin-right:35px}
 .section{padding:64px 0}
 .section .wrap{width:calc(100% - 40px)}
 .section-head{display:block;margin-bottom:42px}
 .section-head .eyebrow{margin-bottom:20px}
 .section h2{font-size:clamp(40px,11.5vw,62px);line-height:.98;letter-spacing:-.052em}
 .big-copy{font-size:20px;line-height:1.45;margin-top:25px}
 .service{display:block;padding:30px 0}
 .service .n{display:block;margin-bottom:13px}
 .service h3{font-size:32px;line-height:1.04;margin-bottom:18px}
 .service p{font-size:16px}
 .tags{gap:6px}
 .tag{font-size:9px}
 .projects{display:block}
 .project{min-height:360px;margin-bottom:16px;padding:25px}
 .project:last-child{margin-bottom:0}
 .project-mark{font-size:clamp(48px,13.5vw,70px);line-height:.88}
 .project h3{font-size:26px}
 .project p{font-size:15px}
 .exp{display:block;padding:29px 0}
 .exp .n{display:block;margin-bottom:12px}
 .exp h3{font-size:21px;line-height:1.12}
 .exp b{display:block;margin-bottom:15px}
 .exp p{font-size:15px}
 .posts{display:block}
 .post{margin-bottom:42px}
 .post:last-child{margin-bottom:0}
 .post h3{font-size:25px;margin:26px 0 14px}
 .cta{padding:68px 0}
 .cta .wrap{width:calc(100% - 40px)}
 .cta h2{font-size:clamp(45px,12vw,65px);line-height:.94;margin:16px 0 32px}
 footer{padding-top:42px}
 footer .wrap{width:calc(100% - 40px)}
 .footer-grid{display:block}
 .footer-grid>div{margin-bottom:34px}
 .copy{font-size:10px}
 .page-head{padding:65px 0 42px}
 .page-head .wrap{width:calc(100% - 40px)}
 .page-head h1,.article h1{font-size:clamp(45px,12vw,68px);line-height:.95}
 .content,.article{width:calc(100% - 40px);padding:48px 0}
 .content p,.content li,.article .entry{font-size:17px;line-height:1.7}
 .article .entry h2{font-size:31px}
}
@media(max-width:480px){
 .site-header .wrap,.hello .wrap,.hero .wrap,.section .wrap,.cta .wrap,footer .wrap,.page-head .wrap,.content,.article{width:calc(100% - 36px)}
 .hero h1{font-size:clamp(47px,14.2vw,68px)}
 .hero-side{margin-top:31px}
 .hero-side p{font-size:16px}
 .section{padding:58px 0}
 .section h2{font-size:clamp(38px,11vw,53px)}
 .service h3{font-size:29px}
 .project{min-height:330px;padding:22px}
 .project-mark{font-size:clamp(44px,13vw,61px)}
}
@media(max-width:380px){
 .site-header .wrap,.hello .wrap,.hero .wrap,.section .wrap,.cta .wrap,footer .wrap,.page-head .wrap,.content,.article{width:calc(100% - 30px)}
 .hero h1{font-size:clamp(43px,13.8vw,55px)}
 .hero-links{flex-direction:column;gap:14px}
 .section h2{font-size:38px}
 .big-copy{font-size:18px}
 .project-mark{font-size:43px}
}

/* Floating WhatsApp — added without altering approved V5 layout */
.floating-whatsapp{
 position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;
 background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;
 z-index:9999;box-shadow:0 6px 22px rgba(0,0,0,.18);transition:transform .2s ease,box-shadow .2s ease;
}
.floating-whatsapp:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 9px 26px rgba(0,0,0,.23)}
.floating-whatsapp svg{width:31px;height:31px;fill:currentColor}
@media(max-width:480px){.floating-whatsapp{right:16px;bottom:16px;width:54px;height:54px}.floating-whatsapp svg{width:29px;height:29px}}

/* Social links — additive only; approved V5 layout preserved */
.social-bar{padding:42px 0;border-top:1px solid var(--line);background:var(--bg)}
.social-bar .wrap{width:min(var(--max),calc(100% - (var(--pad)*2)));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.social-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.social-links a{display:inline-flex;align-items:center;gap:8px;transition:color .2s ease,transform .2s ease}
.social-links svg{width:21px;height:21px;fill:currentColor;flex:0 0 auto}
.social-links-wide a{border:1px solid var(--line);padding:11px 14px;font-size:12px;font-weight:800}
.social-links-wide a:hover{color:var(--accent);transform:translateY(-2px)}
.footer-social{margin-top:13px;gap:10px}
.footer-social a{width:38px;height:38px;border:1px solid #3b3b37;justify-content:center;color:#bbb!important;margin:0!important}
.footer-social a:hover{color:var(--accent)!important;border-color:var(--accent)}
.footer-social a span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.footer-social svg{width:18px;height:18px}
.footer-whatsapp{margin-top:14px!important}
@media(max-width:900px){
 .social-bar{padding:34px 0}
 .social-bar .wrap{width:calc(100% - 40px);display:block}
 .social-bar .eyebrow{margin-bottom:18px}
 .social-links-wide{gap:8px}
 .social-links-wide a{padding:10px 12px}
}
@media(max-width:480px){
 .social-bar .wrap{width:calc(100% - 36px)}
 .social-links-wide a{width:44px;height:44px;padding:0;justify-content:center}
 .social-links-wide a span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .social-links-wide svg{width:20px;height:20px}
}


/* FINAL: page-open intro animation — no layout/design changes */
.site-intro{
 position:fixed;inset:0;z-index:100000;background:var(--bg,#f7f7f5);
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 overflow:hidden;pointer-events:none;
 animation:introExit .72s cubic-bezier(.76,0,.24,1) 1.85s forwards;
}
.site-intro-name{
 position:relative;z-index:2;font-size:clamp(38px,7vw,92px);line-height:.9;
 font-weight:950;letter-spacing:-.065em;color:var(--ink,#171717);
 opacity:0;transform:translateY(28px);
 animation:introName .62s cubic-bezier(.2,.8,.2,1) .18s forwards;
}
.site-intro-name b{color:var(--accent,#ff5738);font-weight:950}
.site-intro-sub{
 position:relative;z-index:2;margin-top:18px;font-size:10px;font-weight:900;
 letter-spacing:.22em;color:var(--muted,#666);opacity:0;transform:translateY(10px);
 animation:introSub .45s ease .72s forwards;
}
.site-intro-line{
 position:absolute;left:0;top:0;width:0;height:5px;background:var(--accent,#ff5738);
 animation:introLine 1.35s cubic-bezier(.65,0,.35,1) .08s forwards;
}
body.intro-running{overflow:hidden}
body.intro-complete .site-header{animation:pageHeaderIn .55s ease both}
body.intro-complete main{animation:pageContentIn .65s cubic-bezier(.2,.8,.2,1) both}
@keyframes introName{to{opacity:1;transform:none}}
@keyframes introSub{to{opacity:1;transform:none}}
@keyframes introLine{0%{width:0}70%{width:100%}100%{width:100%}}
@keyframes introExit{
 0%{transform:translateY(0)}
 100%{transform:translateY(-100%);visibility:hidden}
}
@keyframes pageHeaderIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes pageContentIn{from{opacity:.35;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:480px){
 .site-intro-name{font-size:clamp(42px,13vw,62px)}
 .site-intro-sub{font-size:8px;letter-spacing:.17em;margin-top:14px}
 .site-intro-line{height:4px}
}
@media(prefers-reduced-motion:reduce){
 .site-intro{display:none!important}
 body.intro-running{overflow:auto}
 body.intro-complete .site-header,body.intro-complete main{animation:none}
}

/* Footer color update */
footer{background:#FF5738 !important;}

/* CTA/contact block color update requested from screenshot */
.cta{
  background:#FF5738 !important;
}
.cta .eyebrow{
  color:#171717 !important;
}


/* Elementor compatibility layer */
.elementor-theme-main{width:100%;max-width:none;margin:0;padding:0}
body.elementor-page .elementor-theme-main .e-con,
body.elementor-page .elementor-theme-main .elementor-section{box-sizing:border-box}
body.elementor-page .elementor-widget img{max-width:100%;height:auto}
body.elementor-page .elementor-theme-main iframe{max-width:100%}


/* === Elementor Visual Homepage + requested fixes === */
.ab-elementor-home{background:#F7F7F5}
.ab-elementor-home .ab-el-section{padding:clamp(70px,8vw,125px) var(--pad);border-bottom:1px solid var(--line)}
.ab-elementor-home .ab-el-section>.e-con-inner{max-width:1440px}
.ab-elementor-home .ab-el-eyebrow{color:#FF5738;font-size:12px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.ab-elementor-home .ab-el-hero{min-height:calc(100vh - 66px);display:flex;justify-content:center}
.ab-elementor-home .ab-el-hero-title .elementor-heading-title{font-size:clamp(72px,9vw,145px);line-height:.88;letter-spacing:-.065em;color:#171717}
.ab-elementor-home .ab-accent{color:#FF5738}
.ab-elementor-home .elementor-heading-title{color:#171717;letter-spacing:-.045em}
.ab-elementor-home h2.elementor-heading-title{font-size:clamp(48px,6vw,88px);line-height:.96}
.ab-elementor-home h3.elementor-heading-title{font-size:clamp(28px,3vw,44px)}
.ab-elementor-home .elementor-widget-text-editor{color:#666;font-size:18px;line-height:1.6}
.ab-elementor-home .ab-el-button .elementor-button{background:#171717;color:#fff;border-radius:0;padding:16px 22px;font-weight:800}
.ab-elementor-home .ab-el-cta{background:#FF5738}
.ab-elementor-home .ab-el-cta .ab-el-eyebrow{color:#171717}
.ab-elementor-home .ab-el-cta .elementor-heading-title{color:#171717}

/* Footer is orange, but all footer text/icons are black as requested. */
footer, footer *{color:#171717 !important}
footer a, footer b, footer p, footer .copy{color:#171717 !important}
footer .footer-social a{border-color:rgba(23,23,23,.35) !important;color:#171717 !important}
footer .footer-social a:hover{border-color:#171717 !important;color:#171717 !important}

/* Smaller blog/post titles across archive cards and single posts. */
.post h3{font-size:clamp(21px,2vw,30px) !important;line-height:1.12}
.post h3 a{font-size:inherit}
.article h1{font-size:clamp(40px,5.2vw,72px) !important;line-height:.98}
.page-head h1{font-size:clamp(42px,5.5vw,76px) !important;line-height:.98}

@media(max-width:900px){
 .ab-elementor-home .ab-el-section{padding:64px 20px}
 .ab-elementor-home .ab-el-hero{min-height:0;padding-top:48px;padding-bottom:54px}
 .ab-elementor-home .ab-el-hero-title .elementor-heading-title{font-size:clamp(50px,14vw,82px);line-height:.91}
 .ab-elementor-home h2.elementor-heading-title{font-size:clamp(40px,11vw,58px)}
 .ab-elementor-home .elementor-widget-text-editor{font-size:16px}
 .article h1{font-size:clamp(38px,10vw,54px) !important}
}
@media(max-width:480px){
 .ab-elementor-home .ab-el-section{padding-left:18px;padding-right:18px}
 .ab-elementor-home .ab-el-hero-title .elementor-heading-title{font-size:clamp(46px,13.8vw,65px)}
 .post h3{font-size:22px !important}
}

/* === Motion system v6.1 — Assam Digital inspired, original implementation === */
html{scroll-behavior:smooth}
.site-header{transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.site-header.is-scrolled{box-shadow:0 8px 30px rgba(23,23,23,.07);background:rgba(247,247,245,.94);backdrop-filter:blur(14px)}
.hero h1 .hero-reveal{display:inline-block;will-change:transform,opacity}
.hero-side{will-change:transform}
.section h2,.section h3,.project-mark{will-change:transform}
.reveal{transition:opacity .8s cubic-bezier(.2,.75,.25,1),transform .8s cubic-bezier(.2,.75,.25,1)}
.reveal.motion-left{transform:translateX(-42px)}.reveal.motion-right{transform:translateX(42px)}
.reveal.motion-left.visible,.reveal.motion-right.visible{transform:none}
.service{transition:background .35s ease,padding-left .35s ease,padding-right .35s ease}
.service:hover{background:#fff;padding-left:18px;padding-right:18px}
.service h3,.service .n{transition:transform .35s ease,color .35s ease}.service:hover h3{transform:translateX(8px)}.service:hover .n{transform:rotate(-8deg) scale(1.08)}
.project{overflow:hidden;position:relative;transform-style:preserve-3d;will-change:transform}
.project:after{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.55) 50%,transparent 58%);transform:translateX(-70%) rotate(8deg);transition:transform .8s ease;pointer-events:none}.project:hover:after{transform:translateX(70%) rotate(8deg)}
.project-mark{transition:transform .45s cubic-bezier(.2,.8,.2,1)}.project:hover .project-mark{transform:translateY(-5px) scale(1.02)}
.post{transition:transform .35s ease,background .35s ease,box-shadow .35s ease}.post:hover{transform:translateY(-8px);background:#fff;box-shadow:0 18px 45px rgba(23,23,23,.06)}
.ticker{overflow:hidden}.ticker-track{will-change:transform}
.cta{position:relative;overflow:hidden}.cta:before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(23,23,23,.16);border-radius:50%;right:-120px;top:-180px;animation:ctaOrbit 9s linear infinite;pointer-events:none}.cta:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(23,23,23,.12);border-radius:50%;right:35px;top:-100px;animation:ctaOrbit 6s linear infinite reverse;pointer-events:none}@keyframes ctaOrbit{to{transform:rotate(360deg)}}
.ab-float{transform:translate3d(0,var(--ab-parallax,0),0);will-change:transform}
@media(max-width:900px){.service:hover{padding-left:0;padding-right:0}.project{transform:none!important}.cta:before{width:280px;height:280px}.cta:after{width:170px;height:170px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header,.service,.service h3,.service .n,.project,.project-mark,.post{transition:none!important}.cta:before,.cta:after{animation:none!important}.ab-float{transform:none!important}}

/* v6.2 — Hero headline motion */
.hero h1{perspective:900px}
.hero h1 .hero-reveal{
  display:inline-block;
  opacity:0;
  transform:translate3d(0,105%,0) rotateX(-10deg);
  transform-origin:50% 100%;
  filter:blur(5px);
  animation:abHeroLine 1s cubic-bezier(.16,1,.3,1) forwards;
}
.hero h1 .hero-reveal:nth-of-type(1){animation-delay:.08s}
.hero h1 .hero-reveal:nth-of-type(2){animation-delay:.18s}
.hero h1 .hero-reveal:nth-of-type(3){animation-delay:.28s}
.hero h1 .hero-reveal:nth-of-type(4){animation-delay:.38s}
.hero h1 .hero-reveal:nth-of-type(5){animation-delay:.48s}
.hero h1 .accent.hero-reveal{position:relative}
.hero h1 .accent.hero-reveal:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:.03em;
  height:.055em;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left center;
  animation:abHeroUnderline .7s cubic-bezier(.16,1,.3,1) .95s forwards;
}
@keyframes abHeroLine{
  0%{opacity:0;transform:translate3d(0,105%,0) rotateX(-10deg);filter:blur(5px)}
  100%{opacity:1;transform:translate3d(0,0,0) rotateX(0);filter:blur(0)}
}
@keyframes abHeroUnderline{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){
  .hero h1 .hero-reveal{opacity:1;transform:none;filter:none;animation:none}
  .hero h1 .accent.hero-reveal:after{transform:scaleX(1);animation:none}
}


/* v6.3 — reliable hero motion for both native + Elementor homepage */
body.intro-running .hero h1 .hero-reveal,
body.intro-running .ab-el-hero-title .ab-hero-line{animation-play-state:paused!important}
.ab-elementor-home .ab-el-hero-title .elementor-heading-title{perspective:900px}
.ab-elementor-home .ab-el-hero-title .ab-hero-line{display:inline-block;opacity:0;transform:translate3d(0,105%,0) rotateX(-10deg);transform-origin:50% 100%;filter:blur(5px);animation:abElementorHeroLine 1s cubic-bezier(.16,1,.3,1) forwards;will-change:transform,opacity,filter}
.ab-elementor-home .ab-el-hero-title .ab-hero-line:nth-of-type(1){animation-delay:.08s}
.ab-elementor-home .ab-el-hero-title .ab-hero-line:nth-of-type(2){animation-delay:.20s}
.ab-elementor-home .ab-el-hero-title .ab-hero-line:nth-of-type(3){animation-delay:.32s}
.ab-elementor-home .ab-el-hero-title .ab-hero-line:nth-of-type(4){animation-delay:.44s}
.ab-elementor-home .ab-el-hero-title .ab-accent{position:relative;display:inline-block}
.ab-elementor-home .ab-el-hero-title .ab-accent:after{content:"";position:absolute;left:0;right:0;bottom:.03em;height:.055em;background:currentColor;transform:scaleX(0);transform-origin:left center;animation:abHeroUnderline .7s cubic-bezier(.16,1,.3,1) 1.05s forwards}
body.intro-running .ab-elementor-home .ab-el-hero-title .ab-accent:after{animation-play-state:paused!important}
@keyframes abElementorHeroLine{to{opacity:1;transform:translate3d(0,0,0) rotateX(0);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.ab-elementor-home .ab-el-hero-title .ab-hero-line{opacity:1;transform:none;filter:none;animation:none!important}.ab-elementor-home .ab-el-hero-title .ab-accent:after{transform:scaleX(1);animation:none!important}}

/* Assam Today clickable project card */
.project-link{color:inherit;text-decoration:none;cursor:pointer;}
.project-link:visited{color:inherit;}
.project-link:focus-visible{outline:2px solid currentColor;outline-offset:4px;}
