@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2")}

:root{--bg:#070505;--bg2:#111;--card:#1b1b1b;--card2:#0e0e0e;--ink:#fff;--mute:#a9a9a9;--line:#3a3a3a;--accent:#ff4d00;--btn:#5f5f5f;color-scheme:dark;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){--bg:#f6f4f2;--bg2:#ebe8e5;--card:#fff;--card2:#fff;--ink:#120d0d;--mute:#5d5757;--line:#cfc9c4;--btn:#2b2626;color-scheme:light}}
:root[data-theme="light"]{--bg:#f6f4f2;--bg2:#ebe8e5;--card:#fff;--card2:#fff;--ink:#120d0d;--mute:#5d5757;--line:#cfc9c4;--btn:#2b2626;color-scheme:light}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.05rem/1.65 Inter,system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.035em;line-height:1.05;margin:0}
.bl-site a{color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.bl-w{max-width:1240px;margin:0 auto;padding:0 28px}
/* floating pill nav */
.bl-nav{position:fixed;top:calc(24px + env(safe-area-inset-top,0px));left:24px;right:24px;z-index:30;max-width:1380px;margin:0 auto;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 16px 12px 32px}
.bl-logo{font-weight:800;font-size:1.45rem;line-height:.95;letter-spacing:-.05em;text-decoration:none}
.bl-nav ul{display:flex;gap:42px;list-style:none;margin:0;padding:0}
.bl-nav ul a{text-decoration:none;font-weight:600;font-size:.98rem}
.bl-git{justify-self:end;display:flex;align-items:center;gap:14px;background:var(--card);border-radius:999px;padding:6px 26px 6px 6px;text-decoration:none;font-weight:600}
.bl-git i{width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;transition:transform .3s}
.bl-git:hover i{transform:scale(1.12)}
@media(max-width:900px){.bl-nav ul{display:none}.bl-nav{grid-template-columns:1fr auto}}
/* hero */
.bl-hero{position:relative;min-height:100svh;text-align:center;padding:210px 0 200px;overflow:hidden}
.bl-hero h1{font-size:clamp(2.8rem,7.4vw,6.6rem);max-width:12.5em;margin:0 auto;color:var(--ink)}
.bl-hero h1 .bl-wd{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em}.bl-hero h1 .bl-wd i{display:inline-block;font-style:normal}
.bl-hero p{max-width:820px;margin:34px auto 38px;color:var(--mute);font-size:1.25rem}
.bl-pill{display:inline-block;background:var(--btn);color:#fff;padding:14px 32px;border-radius:999px;font-weight:600;font-size:.98rem;text-decoration:none;transition:translate .25s,background .25s}
.bl-pill:hover{translate:0 -3px;background:var(--accent)}
.bl-glow{position:absolute;left:0;right:0;margin:0 auto;bottom:-250px;width:min(1000px,110vw);height:460px;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,#ffd0d8 0,#ff6f8f 14%,#d6336c 28%,#7a1fd1 46%,#24106b 62%,transparent 72%);filter:blur(30px);opacity:.85;pointer-events:none;z-index:0}
.bl-hero .bl-w{position:relative;z-index:2}
/* marquee */
.bl-mq{overflow:hidden;border-block:1px solid var(--line);padding:26px 0;white-space:nowrap;background:var(--bg)}
.bl-mq div{display:inline-flex;gap:70px;padding-right:70px;animation:blmq 30s linear infinite;font-weight:700;font-size:1.6rem;letter-spacing:-.03em;color:var(--mute)}
@keyframes blmq{to{transform:translateX(-50%)}}
.bl-sec{padding:clamp(70px,10vw,130px) 0;background:var(--bg2)}
.bl-dot{display:flex;align-items:center;gap:10px;color:var(--mute);font-size:1rem}.bl-dot::before{content:"";width:12px;height:12px;border-radius:50%;background:#4a1fe0;box-shadow:0 0 14px #6a3dff}
.bl-h2{font-size:clamp(2.2rem,5.2vw,4.4rem)}
/* about */
.bl-ab{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.bl-phone{aspect-ratio:3/4;max-height:640px;width:100%;border:5px solid #333;border-radius:44px;overflow:hidden;position:relative;background:linear-gradient(160deg,#c23b78,#4a1fe0 55%,#0b0b1e);box-shadow:0 30px 80px -20px rgba(106,61,255,.5)}
.bl-phone::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(transparent,#000)}
.bl-phone span{position:absolute;inset:0;display:grid;place-items:center;font-size:7rem;font-weight:800;color:rgba(255,255,255,.85);letter-spacing:-.06em}
.bl-ab h2{text-align:center;margin-bottom:30px}
.bl-panel{background:var(--card2);border:1px solid var(--line);border-radius:34px;padding:38px 40px;text-align:center;color:var(--mute)}
.bl-panel p{margin:0 0 14px}
.bl-who{display:flex;align-items:center;gap:20px;background:var(--card2);border:1px solid var(--line);border-bottom:10px solid #bbb;border-radius:34px;padding:22px 34px;margin-top:18px}
.bl-who i{width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,#c23b78,#4a1fe0);flex:none}
.bl-who b{color:var(--accent);font-size:1.4rem;display:block}.bl-who span{color:var(--mute);font-size:.95rem}
.bl-trust{margin:22px 0 0;font-size:.95rem;color:var(--mute)}
@media(max-width:860px){.bl-ab{grid-template-columns:1fr}.bl-phone{max-height:480px}}
/* services */
.bl-sv{display:grid;grid-template-columns:200px 1fr;gap:30px}
.bl-stack{margin-top:50px}
.bl-sc{position:sticky;top:calc(130px + var(--i)*20px);background:var(--card);border:1px solid var(--line);border-radius:34px;padding:clamp(28px,4vw,52px);margin-bottom:30px;display:grid;grid-template-columns:1.1fr 1fr;gap:36px;min-height:330px;transform-origin:50% 0}
.bl-sc h3{font-size:clamp(1.7rem,3.2vw,2.6rem);margin-bottom:14px}.bl-sc p{color:var(--mute);margin:0 0 22px}
.bl-sc ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.bl-sc li{border:1px solid var(--line);border-radius:999px;padding:6px 15px;font-size:.92rem}
.bl-vis{border-radius:24px;min-height:220px;display:grid;place-items:center;font-size:clamp(3.5rem,8vw,7rem);font-weight:800;letter-spacing:-.05em;color:rgba(255,255,255,.92)}
.bl-v0{background:linear-gradient(62deg,#09e5ff,#0823f2)}.bl-v1{background:linear-gradient(130deg,#dc3ef0,#3558fe)}.bl-v2{background:linear-gradient(135deg,#ff4d00,#c23b78)}.bl-v3{background:linear-gradient(135deg,#7a1fd1,#24106b)}
@media(max-width:860px){.bl-sv{grid-template-columns:1fr}.bl-sc{grid-template-columns:1fr;position:relative;top:0}}
/* why */
.bl-why{background:#000;text-align:center}
.bl-why h2{max-width:14em;margin:0 auto}
.bl-wg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;margin-top:70px;text-align:left;align-items:center}
.bl-col{display:grid;gap:22px}
.bl-c{position:relative;background:var(--card);border:1px solid var(--line);border-radius:30px;padding:28px}
.bl-c em{position:absolute;top:-26px;right:30px;font-style:normal;font-weight:800;font-size:2.6rem;color:#3a3a3a}
.bl-c div{display:flex;align-items:center;gap:16px;margin-bottom:14px}.bl-c i{width:54px;height:54px;border-radius:16px;background:#2c2c2c;flex:none}
.bl-c h4{font-size:1.35rem}.bl-c p{margin:0;color:var(--mute);font-size:.98rem}


@media(max-width:960px){.bl-wg{grid-template-columns:1fr}}
/* work */
.bl-wk{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
.bl-wk .bl-l{position:sticky;top:140px;align-self:start}.bl-wk .bl-l p{color:var(--mute);margin:20px 0 28px;max-width:420px}
.bl-pc{background:var(--card);border-radius:34px;overflow:hidden;margin-bottom:40px}
.bl-pc .bl-im{position:relative;aspect-ratio:16/10}.bl-pc .bl-im .bl-vis{position:absolute;inset:0;border-radius:0;font-size:2.2rem}
.bl-pc .bl-tg{position:absolute;top:20px;right:20px;background:#2a2a2a;color:#fff;padding:9px 20px;border-radius:999px;font-weight:600;font-size:.95rem;z-index:1}
.bl-pc .bl-t{padding:30px 34px 36px}.bl-pc h4{font-size:2rem;margin-bottom:6px}.bl-pc p{margin:0 0 22px;color:var(--mute)}
.bl-rm{display:inline-block;border:1px solid var(--ink);border-radius:12px;padding:8px 18px;font-weight:600;font-size:.92rem;text-decoration:none;transition:background .25s,color .25s}.bl-rm:hover{background:var(--ink);color:var(--bg)}
@media(max-width:860px){.bl-wk{grid-template-columns:1fr}.bl-wk .bl-l{position:relative;top:0}}
/* counters */
.bl-cn .bl-w{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px}
.bl-cn strong{display:block;font-size:clamp(3.2rem,7vw,5.5rem);font-weight:800;letter-spacing:-.05em;line-height:1}.bl-cn span{color:var(--mute)}
.bl-huge{overflow:hidden;white-space:nowrap;margin-top:70px}
.bl-huge div{display:inline-block;font-weight:800;font-size:clamp(4rem,12vw,10rem);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px var(--line);animation:blmq 34s linear infinite;padding-right:60px}
/* faq */
.bl-faq{max-width:860px;margin:44px auto 0;border-top:1px solid var(--line)}
.bl-faq details{border-bottom:1px solid var(--line);padding:24px 0}
.bl-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-weight:700;font-size:1.3rem;letter-spacing:-.02em}
.bl-faq summary::-webkit-details-marker{display:none}.bl-faq summary::after{content:"+";color:var(--accent);transition:transform .3s}
.bl-faq details[open] summary::after{transform:rotate(45deg)}.bl-faq p{margin:12px 0 0;color:var(--mute)}
.bl-cta{text-align:center;background:var(--bg)}.bl-cta p{max-width:520px;margin:20px auto 34px;color:var(--mute)}
.bl-footer{border-top:1px solid var(--line);padding:30px 0 44px;color:var(--mute);font-size:.95rem;background:var(--bg)}
footer .bl-w{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
@media(prefers-reduced-motion:reduce){.bl-mq div,.bl-huge div{animation:none}*{transition:none!important}}

.bl-nav ul{gap:30px}.bl-nav ul a{transition:color .25s}.bl-nav ul a.bl-on{color:var(--accent)}
.bl-ph{background:var(--bg);padding:200px 0 70px;text-align:center}.bl-ph h1{font-size:clamp(2.8rem,8vw,7rem);margin-top:18px}.bl-ph .bl-dot{justify-content:center}
.bl-mv{display:grid;grid-template-columns:1fr 1fr;gap:22px}.bl-mv .bl-c{padding:40px}.bl-mv h4{font-size:2rem}
@media(max-width:760px){.bl-mv{grid-template-columns:1fr}}
.bl-ct{background:var(--bg);padding-top:200px}.bl-ctg{display:grid;grid-template-columns:1fr 1.1fr;gap:60px}.bl-mu{color:var(--mute);max-width:440px}.bl-mu b{color:var(--ink)}
.bl-form{display:grid;gap:18px;background:var(--card);border:1px solid var(--line);border-radius:34px;padding:clamp(24px,4vw,44px)}
.bl-form label{display:grid;gap:8px;font-weight:600;font-size:.95rem}
.bl-form input,.bl-form select,.bl-form textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:14px 16px;width:100%}
.bl-form input:focus,.bl-form select:focus,.bl-form textarea:focus{outline:2px solid var(--accent);border-color:transparent}
.bl-ok{margin:0;color:var(--accent);min-height:1.4em}
@media(max-width:860px){.bl-ctg{grid-template-columns:1fr}}
.bl-cur{position:fixed;inset:0;z-index:100;background:var(--accent);display:none;align-items:center;justify-content:center;font-weight:800;font-size:clamp(3rem,10vw,9rem);letter-spacing:-.05em;color:#fff;pointer-events:none}

.bl-nav ul{gap:22px}.bl-nav ul a{font-size:.93rem}
.bl-burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;margin-left:10px}
@media(max-width:1180px){.bl-nav{grid-template-columns:1fr auto auto}.bl-nav ul{display:none}.bl-burger{display:grid;place-items:center}
.bl-nav.bl-open ul{display:flex;flex-direction:column;gap:0;position:absolute;top:calc(100% + 10px);left:0;right:0;background:var(--bg);border:1px solid var(--line);border-radius:28px;padding:10px 28px}
.bl-nav.bl-open ul li{border-bottom:1px solid var(--line)}.bl-nav.bl-open ul li:last-child{border:0}.bl-nav.bl-open ul a{display:block;padding:14px 0;font-size:1.05rem}}
.bl-ph.bl-sm h1{font-size:clamp(2.1rem,5vw,4.2rem);max-width:18em;margin-left:auto;margin-right:auto}
.bl-tg2{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.bl-tc{position:relative;border-radius:34px;overflow:hidden;aspect-ratio:3/4;display:flex;align-items:flex-end;padding:26px;isolation:isolate;transition:translate .4s}
.bl-tc:hover{translate:0 -8px}
.bl-tc .bl-av{position:absolute;inset:0;z-index:-2;display:grid;place-items:center;font-size:7.5rem;font-weight:800;color:rgba(255,255,255,.3);letter-spacing:-.06em}
.bl-tc::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 40%,rgba(0,0,0,.85))}
.bl-tc h4{color:#fff;font-size:1.5rem}.bl-tc span{color:#ddd;font-size:.95rem}
.bl-tc p{color:#eee;margin:10px 0 0;font-size:.92rem;line-height:1.5;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s,opacity .45s}
.bl-tc:hover p{max-height:130px;opacity:1}
@media(hover:none){.bl-tc p{max-height:none;opacity:1}}
.bl-vals{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}.bl-vals .bl-c{padding:34px}.bl-vals h4{font-size:1.5rem;margin-bottom:10px}
.bl-rl{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .3s,color .3s}
.bl-rl:hover{padding-left:16px;color:var(--accent)}.bl-rl b{font-size:clamp(1.3rem,2.6vw,1.9rem);letter-spacing:-.03em}.bl-rl span{color:var(--mute)}
.bl-bl{background:var(--bg)}
.bl-cv{display:grid;place-items:center;font-size:clamp(3rem,6vw,5rem);font-weight:800;letter-spacing:-.05em;color:rgba(255,255,255,.9);position:relative}
.bl-cv .bl-cat{position:absolute;top:18px;left:18px;background:rgba(0,0,0,.55);color:#fff;font-size:.85rem;font-weight:600;padding:6px 14px;border-radius:999px;backdrop-filter:blur(6px);letter-spacing:0}
.bl-meta{color:var(--mute);font-size:.92rem;display:flex;gap:14px;flex-wrap:wrap}
.bl-feat{display:grid;grid-template-columns:1.1fr 1fr;background:var(--card);border:1px solid var(--line);border-radius:38px;overflow:hidden;text-decoration:none;transition:border-color .3s}
.bl-feat:hover{border-color:var(--accent)}.bl-feat .bl-cv{min-height:400px;font-size:8rem}
.bl-feat .bl-tx{padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.bl-feat h3{font-size:clamp(1.9rem,3.4vw,3rem)}.bl-feat p{margin:0;color:var(--mute)}
.bl-rd{font-weight:700;color:var(--accent)}
.bl-chips{display:flex;gap:10px;flex-wrap:wrap;margin:50px 0 28px}
.bl-chip{border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 22px;border-radius:999px;font:600 .95rem Inter,system-ui,sans-serif;cursor:pointer;transition:background .25s,color .25s}
.bl-chip.bl-on,.bl-chip:hover{background:var(--ink);color:var(--bg)}
.bl-bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px}
.bl-mbc{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:30px;overflow:hidden;transition:translate .35s,border-color .35s}
.bl-mbc:hover{translate:0 -8px;border-color:var(--accent)}.bl-mbc[hidden]{display:none}
.bl-mbc .bl-cv{aspect-ratio:16/10}.bl-mbc .bl-tx{padding:24px 26px 30px}.bl-mbc h4{font-size:1.4rem;margin:10px 0}.bl-mbc p{margin:0;color:var(--mute);font-size:.98rem}
.bl-news{margin-top:70px;border-radius:38px;padding:clamp(32px,5vw,64px);background:linear-gradient(130deg,#7a1fd1,#24106b 60%,#0b0b1e);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.bl-news h3{font-size:clamp(1.8rem,3.4vw,2.8rem)}.bl-news p{margin:12px 0 0;opacity:.85}
.bl-news form{background:transparent;border:0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.bl-news input{flex:1;min-width:200px;border-radius:999px;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff}.bl-news input::placeholder{color:#ddd}
.bl-news .bl-ok{width:100%;color:#d6f345}
@media(max-width:860px){.bl-feat,.bl-news{grid-template-columns:1fr}.bl-feat .bl-cv{min-height:260px}}
.bl-art{background:var(--bg);padding-top:10px}.bl-art .bl-w{max-width:840px}
.bl-art .bl-cv{border-radius:36px;min-height:360px;font-size:9rem;margin-bottom:48px}
.bl-art p{font-size:1.15rem;line-height:1.85;color:var(--mute);margin:0 0 24px}.bl-art .bl-lead{color:var(--ink);font-size:1.4rem;line-height:1.6}
.bl-art h3{font-size:1.9rem;margin:46px 0 16px}
.bl-by{display:flex;align-items:center;gap:16px;margin-top:50px;padding:24px;border:1px solid var(--line);border-radius:28px;background:var(--card)}
.bl-by i{width:60px;height:60px;border-radius:50%;flex:none;background:linear-gradient(135deg,#c23b78,#4a1fe0)}
.bl-more{margin-top:80px}.bl-more h3{margin:0 0 26px}
.bl-ph h1 .bl-wd{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em}.bl-wd i{display:inline-block;font-style:normal}



/* ---------- WordPress / Elementor integration ---------- */
.bl-site{min-height:100vh}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:var(--card);color:var(--ink);clip:auto!important;clip-path:none;display:block;font-size:1rem;height:auto;left:10px;padding:14px 22px;top:10px;width:auto;z-index:100000;border-radius:12px}
body.admin-bar .bl-nav{top:calc(56px + env(safe-area-inset-top,0px))}
@media(max-width:782px){body.admin-bar .bl-nav{top:calc(70px + env(safe-area-inset-top,0px))}}
.bl-nav a.custom-logo-link,.bl-logo{display:inline-block}.custom-logo{max-height:46px;width:auto;display:block}
.bl-nav .current-menu-item>a,.bl-nav .current_page_item>a,.bl-nav .current-menu-ancestor>a,.bl-nav .current-post-ancestor>a{color:var(--accent)}
.bl-nav ul{list-style:none;margin:0;padding:0}
.bl-cur{position:fixed;inset:0;z-index:100;background:var(--accent);display:none;align-items:center;justify-content:center;font-weight:800;font-size:clamp(3rem,10vw,9rem);letter-spacing:-.05em;color:#fff;pointer-events:none;text-align:center;padding:0 24px}
.bl-trans .bl-cur{display:flex}
.bl-fd{will-change:transform,opacity}
.bl-main{display:block}
/* Elementor: let Brightloop widgets run edge to edge, with no extra gaps */
.elementor-widget[class*="elementor-widget-bl_"]:not(:last-child){margin-block-end:0}
.elementor-widget[class*="elementor-widget-bl_"] .elementor-widget-container{padding:0}
.e-con>.elementor-widget[class*="elementor-widget-bl_"],.elementor-widget[class*="elementor-widget-bl_"]{width:100%;max-width:100%}
.elementor-section .elementor-widget[class*="elementor-widget-bl_"]{width:100%}
.elementor-widget-bl_hero,.elementor-widget-bl_pageheader{--bl-clip:0}
.elementor-editor-active .bl-hero{min-height:640px}
/* default pages and posts */
.bl-pagehead{background:var(--bg)}
.bl-entry{max-width:840px;margin:0 auto;padding:0 28px clamp(70px,10vw,120px);background:var(--bg)}
.bl-entry-wrap{background:var(--bg)}
.bl-prose{font-size:1.15rem;line-height:1.85;color:var(--mute)}
.bl-prose>*:first-child{color:var(--ink)}
.bl-prose p{margin:0 0 24px}.bl-prose h2,.bl-prose h3,.bl-prose h4{color:var(--ink);margin:46px 0 16px}.bl-prose h2{font-size:2.2rem}.bl-prose h3{font-size:1.7rem}
.bl-prose a{color:var(--accent)}.bl-prose ul,.bl-prose ol{padding-left:1.3em;margin:0 0 24px}.bl-prose li{margin-bottom:8px}
.bl-prose img{max-width:100%;height:auto;border-radius:24px}
.bl-prose blockquote{margin:36px 0;padding:6px 0 6px 26px;border-left:4px solid var(--accent);color:var(--ink);font-size:1.3rem}
.bl-prose pre,.bl-prose code{background:var(--card);border:1px solid var(--line);border-radius:12px;font-size:.92em}.bl-prose code{padding:2px 7px}.bl-prose pre{padding:20px;overflow:auto}
.bl-prose .alignwide{max-width:1100px}.bl-prose figure{margin:36px 0}.bl-prose figcaption{font-size:.9rem;color:var(--mute);margin-top:10px}
.bl-art .bl-w{max-width:840px}
.bl-art .bl-cv img,.bl-mbc .bl-cv img,.bl-feat .bl-cv img,.bl-vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.bl-cv>span{position:relative;z-index:1}.bl-cv.has-img>.bl-ltr{display:none}
.bl-tc .bl-av img{width:100%;height:100%;object-fit:cover}
.bl-tc.has-img .bl-av{font-size:0}
.bl-phone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bl-pag .nav-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:56px}
.bl-pag .page-numbers{border:1px solid var(--line);border-radius:999px;padding:10px 20px;text-decoration:none;font-weight:600;transition:background .25s,color .25s}
.bl-pag .page-numbers.current,.bl-pag a.page-numbers:hover{background:var(--ink);color:var(--bg)}
.bl-comments{max-width:840px;margin:0 auto;padding:0 28px 100px;background:var(--bg)}
.bl-comments h2{font-size:1.8rem;margin-bottom:24px}.bl-comments ol{list-style:none;padding:0}.bl-comments .comment-body{border:1px solid var(--line);background:var(--card);border-radius:22px;padding:20px 24px;margin-bottom:16px}
.bl-comments input[type=text],.bl-comments input[type=email],.bl-comments input[type=url],.bl-comments textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;width:100%;margin:6px 0 16px}
.bl-comments input[type=submit]{background:var(--btn);color:#fff;border:0;border-radius:999px;padding:14px 32px;font-weight:600;cursor:pointer}
.bl-notice{border-radius:18px;padding:14px 18px;margin:0 0 6px;font-weight:600}.bl-notice.ok{background:rgba(47,211,122,.15);color:#2fd37a}.bl-notice.err{background:rgba(255,77,0,.15);color:var(--accent)}
.bl-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.bl-empty{border:1px dashed var(--line);border-radius:24px;padding:40px;text-align:center;color:var(--mute)}
.bl-404{text-align:center;padding:220px 0 140px;background:var(--bg)}.bl-404 h1{font-size:clamp(5rem,16vw,12rem)}
.bl-search{display:flex;gap:10px;max-width:520px;margin:30px auto 0}.bl-search input{flex:1;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:14px 22px}
.bl-footer .bl-w a{text-decoration:none}.bl-footer ul{list-style:none;display:flex;gap:22px;margin:0;padding:0;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){.bl-fd{will-change:auto}}
a.bl-chip{text-decoration:none;display:inline-block}
.bl-art{padding-bottom:70px}
.bl-nav li{list-style:none}

/* ---------- v1.1: navbar hide on scroll, founder avatar + socials, image slots, scrolling gallery ---------- */
.bl-nav{transition:transform .55s cubic-bezier(.22,1,.36,1);animation:blnavin .9s cubic-bezier(.22,1,.36,1) backwards;will-change:transform}
.bl-nav.bl-hide{transform:translateY(calc(-100% - 48px))}
@keyframes blnavin{from{opacity:0;transform:translateY(-60px)}}
.bl-nav.bl-open{transform:none!important}
.bl-av2{position:relative;width:84px;height:84px;flex:none;display:grid;place-items:center}
.bl-avimg{position:relative;z-index:1;display:block;width:76px;height:76px;border-radius:50%;overflow:hidden;flex:none;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.bl-who:hover .bl-avimg{transform:scale(1.07)}
.bl-ring{position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(from 0deg,var(--accent),#dc3df1,#3558fe,#09e5ff,var(--accent));animation:blspin 6s linear infinite;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px))}
.bl-av2::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:blpulse 3.2s ease-out infinite}
@keyframes blspin{to{transform:rotate(360deg)}}
@keyframes blpulse{0%{transform:scale(.9);opacity:.55}100%{transform:scale(1.5);opacity:0}}
.bl-soc{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.bl-soc a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);text-decoration:none;transition:translate .4s cubic-bezier(.22,1,.36,1),scale .4s cubic-bezier(.22,1,.36,1),background .3s,color .3s,border-color .3s}
.bl-soc a:hover,.bl-soc a:focus-visible{translate:0 -5px;scale:1.1;background:var(--accent);border-color:var(--accent);color:#fff}
.bl-soc svg{width:18px;height:18px;display:block}
.bl-who>div:last-child{min-width:0}
.bl-vis{position:relative;overflow:hidden}
.bl-vis img{transition:transform .8s cubic-bezier(.22,1,.36,1)}
.bl-sc:hover .bl-vis img{transform:scale(1.06)}
.bl-c i{overflow:hidden}
.bl-c i img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.bl-ic-circle .bl-c i{border-radius:50%}
.bl-coll{--ch:clamp(460px,74vh,700px);display:grid;grid-template-columns:1fr 1fr;gap:16px;height:var(--ch);overflow:hidden;-webkit-mask-image:linear-gradient(transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(transparent,#000 9%,#000 91%,transparent)}
.bl-colx{overflow:visible;min-width:0}
.bl-track{display:flex;flex-direction:column;gap:16px;will-change:transform}
.bl-tile{margin:0;border-radius:24px;overflow:hidden;position:relative;flex:none;height:calc(var(--ch)*.46);transition:filter .4s}
.bl-tile.bl-sz-t{height:calc(var(--ch)*.64)}.bl-tile.bl-sz-m{height:calc(var(--ch)*.46)}.bl-tile.bl-sz-s{height:calc(var(--ch)*.32)}
.bl-tile:hover{filter:brightness(1.12)}
.bl-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}
@media(max-width:960px){.bl-coll{--ch:clamp(360px,58vh,480px)}}
@media (prefers-reduced-motion:reduce){.bl-ring,.bl-av2::after{animation:none}.bl-nav{transition:none}}

/* Photos stay inside their shapes, even when Elementor or a plugin resets image styles */
.bl-site .bl-avimg img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:50% 18%!important;border-radius:0!important;display:block!important}
.bl-site .bl-avimg i{display:block;width:100%;height:100%;border-radius:0}
.bl-site .bl-phone img,.bl-site .bl-vis img,.bl-site .bl-tile img,.bl-site .bl-cv>img,.bl-site .bl-tc .bl-av img,.bl-site .bl-fc-in>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;border-radius:0!important}
.bl-site .bl-c i img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;border-radius:0!important;display:block}

/* ---------- Team carousel (fan of tilted cards) ---------- */
.bl-fan{background:var(--bg2);overflow:hidden}
.bl-fan-head{text-align:center;margin-bottom:34px}.bl-fan-head .bl-dot{justify-content:center}
.bl-fan-wrap{position:relative;--w:clamp(260px,25.5vw,500px)}
.bl-fan-stage{display:flex;gap:18px;overflow-x:auto;padding:24px 28px 30px;scroll-snap-type:x mandatory;outline:none}
.bl-fc{flex:none;width:min(320px,76vw);scroll-snap-align:center;backface-visibility:hidden}
.bl-fc-in{position:relative;aspect-ratio:1/1.416;border-radius:calc(var(--w)*.085);overflow:hidden;display:grid;place-items:center;box-shadow:0 40px 80px -30px rgba(0,0,0,.75);transform-style:preserve-3d;background-clip:padding-box}
.bl-fc-in>img{display:block}
.bl-fc-ltr{font-size:calc(var(--w)*.3);font-weight:800;letter-spacing:-.06em;color:rgba(255,255,255,.32)}
.bl-fc-info{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:calc(var(--w)*.06) calc(var(--w)*.078) calc(var(--w)*.065);background:linear-gradient(180deg,rgba(70,70,76,.5),rgba(8,8,10,.74));-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15);color:#fff}
.bl-fc-info h4{font-size:calc(var(--w)*.075);line-height:1.12;font-weight:600;letter-spacing:-.02em;color:#fff;margin:0}
.bl-fc-info span{display:block;margin-top:calc(var(--w)*.018);color:rgba(255,255,255,.72);font-size:calc(var(--w)*.042);line-height:1.3}
.bl-sheen{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;visibility:hidden;background:linear-gradient(105deg,transparent 36%,rgba(255,255,255,.28) 50%,transparent 64%)}
.bl-fan-btn{display:none;position:absolute;top:50%;margin-top:-41px;width:82px;height:82px;border-radius:50%;border:1px solid rgba(255,255,255,.07);background:#000;color:#fff;place-items:center;cursor:pointer;z-index:300;transition:background .3s;will-change:transform}
.bl-fan-btn:hover,.bl-fan-btn:focus-visible{background:var(--accent)}
.bl-fan-btn svg{width:34px;height:34px}.bl-fan-btn.bl-prev{left:4.4%}.bl-fan-btn.bl-next{right:4.4%}
.bl-fan-wrap.is-fan .bl-fan-btn{display:grid}
.bl-fan-wrap.is-fan .bl-fan-stage{display:block;position:relative;height:calc(var(--w)*1.416 + 130px);overflow:hidden;padding:0;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}
.bl-fan-stage.is-drag{cursor:grabbing}
.bl-fan-wrap.is-fan .bl-fc{position:absolute;left:50%;top:50%;width:var(--w);will-change:transform,opacity;scroll-snap-align:none}
.bl-fan-wrap.is-fan .bl-fc-in{perspective:900px}
@media(max-width:900px){.bl-fan-wrap{--w:min(62vw,340px)}}
@media(max-width:700px){.bl-fan-btn{width:56px;height:56px;margin-top:-28px}.bl-fan-btn svg{width:22px;height:22px}.bl-fan-btn.bl-prev{left:2%}.bl-fan-btn.bl-next{right:2%}}
.bl-fan-stage img{-webkit-user-drag:none;user-drag:none;pointer-events:none}

/* ---------- Intro splash ---------- */
.bl-splash{display:none;position:fixed;inset:0;z-index:100000;pointer-events:none;font-family:Inter,system-ui,sans-serif}
html.bl-splashing .bl-splash{display:block;pointer-events:auto}
html.bl-splashing,html.bl-splashing body{overflow:hidden}
.bl-sp-p{position:absolute;left:0;right:0;background:#070505;will-change:transform}
.bl-sp-top{top:0;height:50.6%}.bl-sp-bot{bottom:0;height:50.6%}
.bl-sp-glow{position:absolute;left:50%;top:50%;width:min(74vw,760px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(255,77,0,.42),rgba(255,77,0,0) 66%);filter:blur(28px);opacity:0}
.bl-sp-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 5vw}
.bl-sp-name{display:flex;flex-wrap:wrap;justify-content:center;column-gap:.26em;font-size:clamp(2.6rem,11.5vw,9.5rem);font-weight:800;letter-spacing:-.045em;line-height:1}
.bl-sp-w{display:inline-flex}
.bl-sp-l{display:inline-block;overflow:hidden;padding:.05em .012em .14em}
.bl-sp-l i{display:inline-block;font-style:normal;will-change:transform}
.bl-sp-ac .bl-sp-l i{color:var(--accent,#ff4d00)}
.bl-sp-tag{margin-top:clamp(14px,2.4vw,26px);font-size:clamp(.7rem,1.5vw,.95rem);letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,.62);padding-left:.42em}
.bl-sp-line{position:absolute;left:5vw;right:5vw;bottom:8vh;height:2px;background:rgba(255,255,255,.14);overflow:hidden}
.bl-sp-line span{display:block;height:100%;background:var(--accent,#ff4d00);transform-origin:0 50%;transform:scaleX(0)}
.bl-sp-num{position:absolute;left:5vw;bottom:calc(8vh + 18px);color:#fff;font-weight:700;font-size:clamp(1.5rem,4vw,3rem);font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1}
.bl-sp-num span{color:rgba(255,255,255,.5);font-size:.5em;margin-left:4px}

/* ---------- Floating WhatsApp button ---------- */
.bl-site a.bl-wa{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:90;width:62px;height:62px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;text-decoration:none;box-shadow:0 14px 34px -10px rgba(37,211,102,.75),0 2px 6px rgba(0,0,0,.25);animation:blWaPop .9s cubic-bezier(.2,1.5,.4,1) 1.1s both;transition:background .3s,box-shadow .3s}
html.bl-splashing .bl-wa{animation-play-state:paused}
.bl-site a.bl-wa:hover,.bl-site a.bl-wa:focus-visible{background:#1ebe5b;box-shadow:0 18px 40px -8px rgba(37,211,102,.9),0 2px 6px rgba(0,0,0,.25)}
.bl-wa-ring{position:absolute;inset:0;border-radius:50%;background:rgba(37,211,102,.5);z-index:-1;animation:blWaPulse 2.6s ease-out infinite}
.bl-wa-ring.bl-r2{animation-delay:1.3s}
.bl-wa-prog{position:absolute;left:50%;top:50%;width:88px;height:88px;margin:-44px 0 0 -44px;transform:rotate(-90deg);pointer-events:none}
.bl-wa-prog circle{fill:none;stroke-width:5}
.bl-wa-tr{stroke:rgba(37,211,102,.26)}.bl-wa-fg{stroke:#0e9f55;stroke-linecap:round}
.bl-wa-ico{display:grid;place-items:center;position:relative;will-change:transform}
.bl-wa-ico svg{animation:blWaShake 7s ease-in-out 4s infinite;transform-origin:50% 60%}
.bl-wa-tip{position:absolute;right:calc(100% + 24px);top:50%;translate:12px -50%;opacity:0;pointer-events:none;white-space:nowrap;background:#111;color:#fff;font-size:.9rem;font-weight:600;padding:10px 16px;border-radius:999px;box-shadow:0 10px 30px -10px rgba(0,0,0,.6);transition:opacity .3s,translate .45s cubic-bezier(.2,1,.3,1)}
.bl-wa:hover .bl-wa-tip,.bl-wa:focus-visible .bl-wa-tip,.bl-wa.bl-show .bl-wa-tip{opacity:1;translate:0 -50%}
@keyframes blWaPop{from{opacity:0;scale:.2;translate:0 40px}to{opacity:1;scale:1;translate:0 0}}
@keyframes blWaPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.95);opacity:0}}
@keyframes blWaShake{0%,88%,100%{transform:rotate(0)}90%{transform:rotate(-16deg)}92%{transform:rotate(14deg)}94%{transform:rotate(-10deg)}96%{transform:rotate(8deg)}98%{transform:rotate(0)}}
@media(max-width:640px){.bl-site a.bl-wa{width:56px;height:56px;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}.bl-wa-prog{width:80px;height:80px;margin:-40px 0 0 -40px}.bl-wa-ico svg{width:29px;height:29px}.bl-wa-tip{display:none}}
@media(prefers-reduced-motion:reduce){.bl-wa-ring,.bl-wa-ico svg{animation:none}.bl-site a.bl-wa{animation:none}}
.elementor-editor-active .bl-wa,.elementor-editor-active .bl-splash{display:none!important}

/* ---------- Google-style reviews ---------- */
[hidden]{display:none!important}
.bl-rv{background:var(--bg)}
.bl-rv-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.bl-rv-head .bl-dot{justify-content:center}
.bl-rv-sum{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 18px;padding:14px 28px;border:1px solid var(--line);border-radius:999px;background:var(--card)}
.bl-rv-sum b{font-size:2.3rem;letter-spacing:-.04em;line-height:1}
.bl-rv-sum small{color:var(--mute);font-size:1rem}
.bl-rv-stars{display:inline-flex;gap:2px;color:#fbbc04;vertical-align:middle}
.bl-rv-stars svg.bl-off{color:var(--line)}
.bl-rv-vp{margin-top:56px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.bl-rv-vp::-webkit-scrollbar{display:none}
.bl-rv-track{display:flex;gap:20px;align-items:flex-start;padding:6px 28px 26px;width:max-content}
.bl-rc{flex:none;width:min(380px,84vw);background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px 24px 24px;display:flex;flex-direction:column;gap:12px;scroll-snap-align:start;text-align:left}
.bl-rc-h{display:flex;align-items:center;gap:14px}
.bl-rc-av{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;font-size:1.2rem;overflow:hidden;position:relative}
.bl-rc-av img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.bl-rc-who{display:flex;flex-direction:column;min-width:0;flex:1}
.bl-rc-n{font-size:1.02rem;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bl-rc-m{color:var(--mute);font-size:.85rem}
.bl-rc-g{flex:none}
.bl-rc-s{display:flex;align-items:center;gap:10px}
.bl-rc-s .bl-rv-stars svg{width:18px;height:18px}
.bl-rc-d{color:var(--mute);font-size:.88rem}
.bl-rc-t{color:var(--ink);opacity:.92;font-size:.98rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.bl-rc.is-open .bl-rc-t{display:block;-webkit-line-clamp:unset;overflow:visible}
.bl-rc-more{align-self:flex-start;background:none;border:0;padding:0;color:#4d8dff;font:inherit;font-weight:600;font-size:.92rem;cursor:pointer}
.bl-rc-more:hover{text-decoration:underline}
.bl-rc-o{border-left:3px solid var(--line);padding:2px 0 2px 14px;font-size:.92rem}
.bl-rc-o strong{display:block;margin-bottom:4px;font-size:.88rem}.bl-rc-o p{margin:0;color:var(--mute);line-height:1.55}
.bl-rv.is-marquee .bl-rv-vp{overflow:hidden;cursor:grab;touch-action:pan-y;scroll-snap-type:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-user-select:none;user-select:none}
.bl-rv-vp.is-drag{cursor:grabbing}
.bl-rv[data-layout="grid"] .bl-rv-vp{overflow:visible}
.bl-rv[data-layout="grid"] .bl-rv-track{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));width:auto;max-width:1200px;margin:0 auto}
.bl-rv[data-layout="grid"] .bl-rc{width:auto}
@media(max-width:640px){.bl-rv-sum{border-radius:28px}.bl-rv-sum b{font-size:2rem}}
