
:root{--bg:#fff;--surface:#f5f5f7;--surface2:#eef3f8;--text:#1d1d1f;--muted:#66666b;--line:rgba(0,0,0,.09);--blue:#0071e3;--blue2:#2997ff;--green:#20b85a;--shadow:0 20px 70px rgba(0,0,0,.10);--radius:28px;--max:1180px;--header:rgba(255,255,255,.82)}
html[data-theme="dark"]{--bg:#050506;--surface:#121214;--surface2:#191b20;--text:#f5f5f7;--muted:#a5a5aa;--line:rgba(255,255,255,.11);--blue:#2997ff;--blue2:#62b0ff;--shadow:0 25px 80px rgba(0,0,0,.55);--header:rgba(5,5,6,.82)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.skip{position:absolute;inset-inline-start:10px;top:-60px;background:var(--text);color:var(--bg);padding:10px 16px;border-radius:10px;z-index:999}.skip:focus{top:10px}.topbar{background:#0d1117;color:#fff;font-size:.82rem}.topbar .container{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar a{opacity:.92}.site-header{position:sticky;top:0;z-index:100;background:var(--header);backdrop-filter:blur(24px);border-bottom:1px solid var(--line)}.nav-wrap{height:76px;display:flex;align-items:center;gap:28px}.logo{display:inline-flex;align-items:center;gap:10px;min-width:max-content}.logo-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--blue2),var(--blue));position:relative;box-shadow:0 10px 25px rgba(0,113,227,.28)}.logo-mark:before{content:"";position:absolute;width:10px;height:17px;border-radius:10px 2px 10px 2px;background:#fff;left:13px;top:8px;transform:rotate(22deg)}.logo-text{font-size:1.34rem;font-weight:650;letter-spacing:-.04em}.logo-text span{color:var(--blue)}.main-nav{display:flex;align-items:center;gap:24px;margin-inline-start:auto}.main-nav a{font-size:.92rem;color:var(--muted);transition:.2s}.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--text)}.nav-actions{display:flex;align-items:center;gap:8px}.icon-btn,.lang-btn{width:42px;height:42px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer}.lang-wrap{position:relative}.lang-menu{position:absolute;top:50px;inset-inline-end:0;width:165px;background:var(--bg);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:8px;display:none}.lang-wrap.open .lang-menu{display:block}.lang-menu a{display:flex;justify-content:space-between;padding:10px 12px;border-radius:12px}.lang-menu a:hover{background:var(--surface)}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border-radius:15px;border:1px solid transparent;font-weight:650;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 12px 28px rgba(0,113,227,.25)}.btn-secondary{background:var(--surface);border-color:var(--line)}.btn-ghost{border-color:var(--line)}.btn-whatsapp{background:var(--green);color:#fff}.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:750;color:var(--blue)}.eyebrow:before{content:"";width:22px;height:1px;background:var(--blue)}.hero{padding:74px 0 56px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:60px;align-items:center}.hero h1,.page-hero h1{font-size:clamp(2.7rem,6vw,5.3rem);line-height:.98;letter-spacing:-.065em;margin:18px 0 24px;max-width:930px}.hero p,.page-hero p{font-size:clamp(1.05rem,2vw,1.26rem);color:var(--muted);max-width:700px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-visual{position:relative;min-height:560px}.hero-card-main{position:absolute;inset:0 0 38px 25px;border-radius:38px;overflow:hidden;box-shadow:var(--shadow);background:#0b0b0c}.hero-card-main img{width:100%;height:100%;object-fit:cover;opacity:.9}.hero-card-main:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72))}.floating-card{position:absolute;z-index:2;background:rgba(255,255,255,.9);color:#1d1d1f;backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7);box-shadow:0 18px 50px rgba(0,0,0,.18);border-radius:22px;padding:16px 18px}.float-top{top:28px;left:0}.float-bottom{right:-5px;bottom:0}.float-title{font-weight:750}.float-sub{font-size:.82rem;color:#666}.hero-caption{position:absolute;z-index:2;left:54px;right:35px;bottom:70px;color:#fff}.hero-caption strong{display:block;font-size:1.55rem;letter-spacing:-.03em}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px 0 72px}.trust-card{padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.trust-card strong{display:block;font-size:1.55rem;letter-spacing:-.04em}.trust-card span{color:var(--muted);font-size:.88rem}.section{padding:96px 0}.section-soft{background:var(--surface)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-head h2{font-size:clamp(2rem,4vw,3.65rem);line-height:1.03;letter-spacing:-.05em;margin:8px 0 0;max-width:760px}.section-head p{max-width:480px;color:var(--muted);margin:0}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card,.course-card,.blog-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg);transition:.3s}.service-card:hover,.course-card:hover,.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.card-image{height:250px;overflow:hidden;background:var(--surface2)}.card-image img{width:100%;height:100%;object-fit:cover;transition:.4s}.service-card:hover img,.blog-card:hover img{transform:scale(1.035)}.card-body{padding:26px}.card-body h3{font-size:1.45rem;line-height:1.15;letter-spacing:-.035em;margin:0 0 10px}.card-body p{color:var(--muted);margin:0 0 20px}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:700}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.process-card{padding:30px;border-radius:24px;background:var(--bg);border:1px solid var(--line)}.process-num{font-size:.8rem;color:var(--blue);font-weight:800}.process-card h3{font-size:1.2rem;margin:20px 0 8px}.process-card p{color:var(--muted);font-size:.94rem;margin:0}.course-card{padding:28px}.tag{display:inline-flex;padding:6px 10px;border-radius:99px;background:rgba(0,113,227,.1);color:var(--blue);font-size:.75rem;font-weight:800}.course-card h3{font-size:1.38rem;margin:18px 0 8px}.course-card p{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.media-panel{border-radius:36px;overflow:hidden;min-height:480px;box-shadow:var(--shadow);background:var(--surface)}.media-panel img{width:100%;height:100%;object-fit:cover}.feature-list{display:grid;gap:14px;margin:28px 0}.feature{display:flex;align-items:flex-start;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.check{width:26px;height:26px;border-radius:50%;background:rgba(0,113,227,.12);color:var(--blue);display:grid;place-items:center;flex:0 0 auto;font-weight:800}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review{padding:30px;border-radius:24px;background:var(--bg);border:1px solid var(--line)}.stars{letter-spacing:.12em;color:#ff9f0a}.review blockquote{font-size:1.05rem;margin:20px 0}.review cite{color:var(--muted);font-style:normal;font-size:.86rem}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{padding:9px 14px;border-radius:99px;border:1px solid var(--line);background:var(--bg);font-size:.88rem}.faq{max-width:900px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-weight:720;font-size:1.1rem;display:flex;justify-content:space-between;gap:20px;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--blue)}.faq details[open] summary:after{content:"−"}.faq p{color:var(--muted);max-width:760px}.cta-band{padding:30px 0 92px}.cta-box{border-radius:38px;background:linear-gradient(135deg,#0071e3,#003b84);color:#fff;padding:52px;display:flex;justify-content:space-between;align-items:center;gap:30px;box-shadow:0 30px 70px rgba(0,71,150,.28)}.cta-box h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.02;letter-spacing:-.05em;margin:0 0 12px}.cta-box p{opacity:.8;margin:0;max-width:640px}.site-footer{border-top:1px solid var(--line);padding:64px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:40px}.footer-title{font-weight:750;margin-bottom:14px}.footer-links{display:grid;gap:10px;color:var(--muted);font-size:.92rem}.footer-brand p{color:var(--muted);max-width:360px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:50px;padding-top:20px;color:var(--muted);font-size:.8rem}.page-hero{padding:76px 0 54px}.page-hero h1{font-size:clamp(2.6rem,5vw,4.8rem);max-width:980px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.82rem}.breadcrumbs span{opacity:.55}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:54px}.prose{font-size:1.03rem}.prose h2{font-size:2rem;letter-spacing:-.04em;line-height:1.12;margin:48px 0 16px}.prose h3{font-size:1.35rem;margin:34px 0 10px}.prose p,.prose li{color:var(--muted)}.prose ul{padding-inline-start:22px}.sidebar{position:sticky;top:112px;align-self:start}.side-card{padding:25px;border-radius:24px;background:var(--surface);border:1px solid var(--line);margin-bottom:16px}.side-card h3{margin-top:0}.side-card .btn{width:100%;margin-top:8px}.symptom-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.symptom{padding:17px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:flex;gap:11px}.service-hero-image{height:440px;border-radius:34px;overflow:hidden;margin:26px 0 40px}.service-hero-image img{width:100%;height:100%;object-fit:cover}.steps{counter-reset:step;display:grid;gap:15px}.step{padding:22px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}.step:before{counter-increment:step;content:counter(step,decimal-leading-zero);font-size:.8rem;color:var(--blue);font-weight:800}.step h3{margin:8px 0 5px}.course-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}.meta-card{padding:18px;border:1px solid var(--line);background:var(--surface);border-radius:18px}.meta-card small{display:block;color:var(--muted)}.module-list{display:grid;gap:12px}.module{padding:20px;border-radius:18px;border:1px solid var(--line);display:flex;gap:14px}.article-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:.88rem}.article-cover{height:500px;border-radius:34px;overflow:hidden;margin:32px 0}.article-cover img{width:100%;height:100%;object-fit:cover}.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.blog-card{display:grid;grid-template-columns:190px 1fr}.blog-card .card-image{height:100%;min-height:230px}.filter-bar{display:flex;gap:10px;margin-bottom:30px}.filter-bar input{flex:1;min-height:50px;border:1px solid var(--line);border-radius:15px;padding:0 16px;background:var(--bg);color:var(--text)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px}.contact-list{display:grid;gap:16px}.contact-item{padding:22px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}.contact-item small{display:block;color:var(--muted)}.form-card{padding:32px;border-radius:28px;background:var(--surface);border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.85rem;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:14px;padding:14px}.field textarea{min-height:130px;resize:vertical}.notice{padding:13px 15px;border-radius:14px;background:rgba(0,113,227,.1);color:var(--blue);font-size:.86rem;margin-bottom:16px}.map-frame{width:100%;height:420px;border:0;border-radius:30px;background:var(--surface)}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.about-stat{padding:28px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}.about-stat strong{display:block;font-size:2rem}.mobile-bar{display:none}.reveal{opacity:0;transform:translateY(18px);transition:.6s ease}.reveal.visible{opacity:1;transform:none}.badge-row{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.badge{padding:8px 12px;border-radius:99px;background:var(--surface);border:1px solid var(--line);font-size:.82rem}.article-callout{padding:25px;border-radius:22px;border-inline-start:4px solid var(--blue);background:var(--surface);margin:30px 0}.no-results{display:none;padding:30px;text-align:center;color:var(--muted)}
@media(max-width:980px){
.site-header{z-index:210}.nav-wrap{gap:14px}.main-nav{position:fixed;top:var(--mobile-menu-top,112px);left:0;right:0;bottom:0;z-index:205;margin:0;background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:20px max(22px,calc((100vw - var(--max))/2 + 20px)) calc(34px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .24s ease,transform .24s ease,visibility .24s;border-top:1px solid var(--line)}
.main-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.main-nav a{display:flex;align-items:center;min-height:58px;padding:0 18px;border:1px solid transparent;border-radius:18px;font-size:1.08rem;font-weight:680;letter-spacing:-.02em;color:var(--text);background:transparent;transition:.2s}.main-nav a:hover,.main-nav a:focus-visible,.main-nav a[aria-current="page"]{background:var(--surface);border-color:var(--line);color:var(--blue);outline:none}.main-nav a[aria-current="page"]:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue);margin-inline-start:auto;box-shadow:0 0 0 5px rgba(0,113,227,.1)}.menu-toggle{display:grid;position:relative;font-size:0}.menu-toggle:before,.menu-toggle:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;border-radius:99px;background:currentColor;transition:transform .25s,box-shadow .25s,opacity .25s}.menu-toggle:before{transform:translate(-50%,-4px);box-shadow:0 7px 0 currentColor}.menu-toggle:after{transform:translate(-50%,3px);opacity:0}.menu-toggle[aria-expanded="true"]:before{box-shadow:none;transform:translate(-50%,-50%) rotate(45deg)}.menu-toggle[aria-expanded="true"]:after{opacity:1;transform:translate(-50%,-50%) rotate(-45deg)}.desktop-cta{display:none}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.hero-visual{min-height:500px}.trust-grid,.process-grid{grid-template-columns:repeat(2,1fr)}.cards-3,.review-grid{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr}.sidebar{position:static}.footer-grid{grid-template-columns:1fr 1fr}.blog-card{grid-template-columns:1fr}.blog-card .card-image{height:240px}.course-meta{grid-template-columns:1fr 1fr}.menu-open .mobile-bar,.menu-open .chatbot-launcher,.menu-open .floating-whatsapp{opacity:0;pointer-events:none}.menu-open .site-header{box-shadow:0 10px 30px rgba(0,0,0,.08)}}
@media(max-width:680px){.container{width:min(calc(100% - 28px),var(--max))}.topbar .container{justify-content:center}.topbar span{display:none}.nav-wrap{height:68px;gap:8px}.main-nav{padding:14px 14px calc(28px + env(safe-area-inset-bottom));gap:7px}.main-nav a{min-height:54px;padding:0 16px;border-radius:16px;font-size:1.04rem}.hero{padding-top:48px}.hero h1,.page-hero h1{font-size:clamp(2.4rem,13vw,3.8rem)}.hero-grid{gap:36px}.hero-visual{min-height:390px}.hero-card-main{inset:0 0 24px 12px}.hero-caption{left:34px;bottom:52px}.floating-card{padding:12px 14px}.float-bottom{right:0}.trust-grid,.cards-3,.process-grid,.review-grid,.about-stats{grid-template-columns:1fr}.section{padding:72px 0}.section-head{display:block}.section-head p{margin-top:18px}.cta-box{padding:34px 24px;display:block}.cta-box .hero-actions{margin-top:25px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.symptom-grid,.form-grid,.course-meta{grid-template-columns:1fr}.field.full{grid-column:auto}.article-cover,.service-hero-image{height:300px}.blog-grid{grid-template-columns:1fr}.mobile-bar{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:120;background:var(--header);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:18px;padding:7px;box-shadow:var(--shadow);transition:opacity .2s}.mobile-bar a{display:grid;place-items:center;font-size:.69rem;min-height:46px}.site-footer{padding-bottom:90px}.nav-actions .lang-wrap{display:block}.nav-actions{gap:5px;margin-inline-start:auto}.icon-btn,.lang-btn{width:38px;height:38px;border-radius:12px}.logo-text{font-size:1.12rem}.logo-mark{width:31px;height:31px;border-radius:10px}.logo-mark:before{left:12px;top:7px}.card-image{height:220px}}
[dir="rtl"] .eyebrow:before{order:2}[dir="rtl"] .hero-card-main{inset:0 25px 38px 0}[dir="rtl"] .hero-caption{right:54px;left:35px}[dir="rtl"] .float-top{right:0;left:auto}[dir="rtl"] .float-bottom{left:-5px;right:auto}[dir="rtl"] .prose ul{padding-right:22px;padding-left:0}

/* ===== iMad Tech Motion & Smart Assistant v3 ===== */
:root{--ease-spring:cubic-bezier(.2,.8,.2,1);--chat-size:58px}
body{animation:pageFade .42s ease both}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.scroll-progress{position:fixed;inset:0 0 auto;z-index:9999;height:3px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--blue),#65d4ff,#8d6dff);box-shadow:0 0 16px rgba(41,151,255,.6);pointer-events:none}
[dir="rtl"] .scroll-progress{transform-origin:right}
.site-header{transition:box-shadow .35s ease,background .35s ease,transform .35s ease}.site-header.is-scrolled{box-shadow:0 14px 45px rgba(0,0,0,.08)}
.logo-mark{animation:logoBreath 4.5s ease-in-out infinite}.logo-mark:after{content:"";position:absolute;inset:-5px;border-radius:15px;border:1px solid rgba(41,151,255,.28);opacity:0;animation:logoHalo 4.5s ease-in-out infinite}
.hero{position:relative}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(10px);pointer-events:none;z-index:-1}.hero:before{width:420px;height:420px;top:-160px;inset-inline-start:-180px;background:radial-gradient(circle,rgba(41,151,255,.16),transparent 68%);animation:ambientDrift 10s ease-in-out infinite alternate}.hero:after{width:520px;height:520px;bottom:-300px;inset-inline-end:-210px;background:radial-gradient(circle,rgba(141,109,255,.12),transparent 68%);animation:ambientDrift 12s ease-in-out infinite alternate-reverse}
.hero-card-main{transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0) rotateX(var(--parallax-rx,0)) rotateY(var(--parallax-ry,0));transition:transform .5s var(--ease-spring);transform-style:preserve-3d}.hero-card-main:before{content:"";position:absolute;inset:-40%;z-index:3;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.24) 48%,transparent 58%);transform:translateX(-80%) rotate(8deg);animation:heroSheen 7s ease-in-out infinite;pointer-events:none}.hero-card-main img{animation:heroImageIn 1.15s var(--ease-spring) both}
.floating-card{animation:floatCard 5s ease-in-out infinite}.float-bottom{animation-delay:-2.2s}
.interactive-button{position:relative;overflow:hidden;isolation:isolate}.interactive-button:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-120%);transition:transform .7s ease;z-index:-1}.interactive-button:hover:after{transform:translateX(120%)}.button-ripple{position:absolute;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.48);transform:translate(-50%,-50%) scale(0);animation:buttonRipple .65s ease-out forwards;pointer-events:none}
.reveal{opacity:0;transform:translateY(28px) scale(.985);filter:blur(5px);transition:opacity .75s var(--ease-spring) var(--reveal-delay,0ms),transform .75s var(--ease-spring) var(--reveal-delay,0ms),filter .75s ease var(--reveal-delay,0ms)}.reveal.visible{opacity:1;transform:none;filter:none}
.tilt-card{position:relative;transform:perspective(1000px) rotateX(var(--tilt-x,0)) rotateY(var(--tilt-y,0)) translateY(0);transition:transform .25s var(--ease-spring),box-shadow .35s ease;will-change:transform}.tilt-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),rgba(41,151,255,.15),transparent 42%);opacity:0;transition:opacity .25s ease;pointer-events:none}.tilt-card:hover{transform:perspective(1000px) rotateX(var(--tilt-x,0)) rotateY(var(--tilt-y,0)) translateY(-7px);box-shadow:var(--shadow)}.tilt-card:hover:after{opacity:1}
.card-image img,.media-panel img,.article-cover img,.service-hero-image img{transition:transform .8s var(--ease-spring)}.card-image:hover img,.media-panel:hover img,.article-cover:hover img,.service-hero-image:hover img{transform:scale(1.045)}
.eyebrow:before{transform-origin:center;animation:eyebrowLine 2.8s ease-in-out infinite}.chip,.badge{transition:transform .25s var(--ease-spring),border-color .25s ease,background .25s ease}.chip:hover,.badge:hover{transform:translateY(-3px);border-color:rgba(41,151,255,.42);background:rgba(41,151,255,.08)}
.faq details{transition:background .25s ease,padding .25s ease,border-radius .25s ease}.faq details[open]{background:rgba(41,151,255,.055);padding-inline:20px;border-radius:18px}.faq details[open] p{animation:faqOpen .35s ease both}
.cta-box{position:relative;overflow:hidden}.cta-box:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.12);filter:blur(4px);top:-300px;inset-inline-end:-100px;animation:ctaOrbit 9s ease-in-out infinite alternate}.cta-box>*{position:relative;z-index:1}

.floating-whatsapp,.chatbot-launcher{position:fixed;inset-inline-end:24px;width:var(--chat-size);height:var(--chat-size);border-radius:20px;display:grid;place-items:center;z-index:210;border:0;cursor:pointer;box-shadow:0 18px 45px rgba(0,0,0,.22);transition:transform .28s var(--ease-spring),box-shadow .28s ease}
.floating-whatsapp{bottom:24px;background:#22c55e;color:#fff}.chatbot-launcher{bottom:94px;background:linear-gradient(145deg,var(--blue2),var(--blue));color:#fff}.floating-whatsapp:hover,.chatbot-launcher:hover{transform:translateY(-4px) scale(1.035);box-shadow:0 24px 55px rgba(0,0,0,.28)}.floating-whatsapp svg{width:31px;height:31px}.chatbot-launcher svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.chatbot-launcher.active svg{transform:scale(.86) rotate(-8deg)}
.floating-ring{position:absolute;inset:-5px;border:2px solid rgba(34,197,94,.38);border-radius:24px;animation:whatsappPulse 2.4s ease-out infinite}.floating-tooltip{position:absolute;inset-inline-end:70px;white-space:nowrap;background:var(--text);color:var(--bg);border-radius:12px;padding:8px 11px;font-size:.78rem;font-weight:700;opacity:0;transform:translateX(8px);pointer-events:none;transition:.25s ease}.floating-whatsapp:hover .floating-tooltip{opacity:1;transform:none}
.chatbot-launcher-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#65f2a0;top:4px;inset-inline-end:4px;border:2px solid #fff;box-shadow:0 0 0 3px rgba(101,242,160,.2);animation:onlinePulse 2s ease-in-out infinite}
.chatbot-panel{position:fixed;inset-inline-end:24px;bottom:166px;width:min(390px,calc(100vw - 32px));height:min(610px,calc(100vh - 190px));z-index:220;border:1px solid var(--line);border-radius:28px;background:color-mix(in srgb,var(--bg) 91%,transparent);backdrop-filter:blur(28px) saturate(150%);box-shadow:0 32px 90px rgba(0,0,0,.28);display:grid;grid-template-rows:auto 1fr auto auto;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(20px) scale(.94);transform-origin:bottom right;transition:opacity .3s ease,visibility .3s ease,transform .38s var(--ease-spring)}[dir="rtl"] .chatbot-panel{transform-origin:bottom left}.chatbot-panel.open{opacity:1;visibility:visible;transform:none}
.chatbot-header{display:flex;align-items:center;gap:12px;padding:16px 17px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(41,151,255,.12),rgba(141,109,255,.06))}.chatbot-header strong{display:block;line-height:1.2}.chatbot-header small{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.72rem;margin-top:3px}.chatbot-header small i{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}.chatbot-avatar{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue2),var(--blue));box-shadow:0 9px 25px rgba(0,113,227,.25);flex:0 0 auto}.chatbot-avatar:before{content:"i";font-size:1.26rem;font-weight:850;color:#fff;font-style:italic}.chatbot-avatar span{display:none}.chatbot-close{margin-inline-start:auto;width:36px;height:36px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:1.4rem;line-height:1;cursor:pointer;transition:.2s}.chatbot-close:hover{transform:rotate(8deg);background:var(--surface2)}
.chatbot-messages{padding:18px 16px;overflow:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}.chatbot-message{display:flex;animation:messageIn .35s var(--ease-spring) both}.chatbot-message.user{justify-content:flex-end}.chatbot-bubble{max-width:86%;padding:12px 14px;border-radius:18px 18px 18px 6px;background:var(--surface);border:1px solid var(--line);font-size:.9rem;line-height:1.5;white-space:pre-wrap;box-shadow:0 8px 24px rgba(0,0,0,.04)}[dir="rtl"] .chatbot-bubble{border-radius:18px 18px 6px 18px}.chatbot-message.user .chatbot-bubble{background:linear-gradient(145deg,var(--blue2),var(--blue));color:#fff;border-color:transparent;border-radius:18px 18px 6px 18px}[dir="rtl"] .chatbot-message.user .chatbot-bubble{border-radius:18px 18px 18px 6px}.chatbot-inline-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);color:var(--blue);font-weight:750}.chatbot-message.user .chatbot-inline-link{color:#fff;border-color:rgba(255,255,255,.25)}
.chatbot-typing{display:flex;gap:5px;align-items:center;min-width:58px}.chatbot-typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:typingDot 1s ease-in-out infinite}.chatbot-typing span:nth-child(2){animation-delay:.14s}.chatbot-typing span:nth-child(3){animation-delay:.28s}
.chatbot-suggestions{display:flex;gap:7px;overflow-x:auto;padding:0 15px 12px;scrollbar-width:none}.chatbot-suggestions::-webkit-scrollbar{display:none}.chatbot-suggestions button{flex:0 0 auto;border:1px solid rgba(41,151,255,.22);background:rgba(41,151,255,.08);color:var(--blue);border-radius:99px;padding:8px 11px;font-size:.75rem;font-weight:700;cursor:pointer;transition:.22s}.chatbot-suggestions button:hover{transform:translateY(-2px);background:rgba(41,151,255,.14)}
.chatbot-form{display:grid;grid-template-columns:1fr 45px;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--bg)}.chatbot-form input{width:100%;min-width:0;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:15px;padding:11px 13px;outline:none;transition:border-color .2s,box-shadow .2s}.chatbot-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(41,151,255,.12)}.chatbot-form button{width:45px;height:45px;border:0;border-radius:15px;background:var(--blue);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.22s}.chatbot-form button:hover{transform:translateY(-2px)}.chatbot-form svg{width:22px;height:22px;fill:currentColor}[dir="rtl"] .chatbot-form svg{transform:scaleX(-1)}

@keyframes pageFade{from{opacity:.35}to{opacity:1}}
@keyframes logoBreath{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes logoHalo{0%,35%,100%{opacity:0;transform:scale(.86)}52%{opacity:1;transform:scale(1.05)}75%{opacity:0;transform:scale(1.22)}}
@keyframes ambientDrift{to{transform:translate3d(40px,30px,0) scale(1.08)}}
@keyframes heroSheen{0%,62%{transform:translateX(-85%) rotate(8deg)}78%,100%{transform:translateX(85%) rotate(8deg)}}
@keyframes heroImageIn{from{opacity:0;transform:scale(1.08)}to{opacity:.82;transform:scale(1)}}
@keyframes floatCard{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(.6deg)}}
@keyframes buttonRipple{to{transform:translate(-50%,-50%) scale(14);opacity:0}}
@keyframes eyebrowLine{0%,100%{transform:scaleX(.7);opacity:.6}50%{transform:scaleX(1.2);opacity:1}}
@keyframes faqOpen{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@keyframes ctaOrbit{to{transform:translate(-70px,80px) scale(1.15)}}
@keyframes whatsappPulse{0%{opacity:.8;transform:scale(.82)}80%,100%{opacity:0;transform:scale(1.28)}}
@keyframes onlinePulse{50%{box-shadow:0 0 0 6px rgba(101,242,160,.08)}}
@keyframes messageIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@keyframes typingDot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}

@media(max-width:680px){
  .floating-whatsapp{display:none}
  .chatbot-launcher{inset-inline-end:17px;bottom:82px;width:54px;height:54px;border-radius:18px}
  .chatbot-panel{inset-inline:10px;width:auto;bottom:146px;height:min(570px,calc(100vh - 165px));border-radius:25px}
  .chatbot-bubble{max-width:90%}
  .floating-tooltip{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal{opacity:1!important;transform:none!important;filter:none!important}
}

.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-grid-large{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-item{position:relative;display:block;overflow:hidden;border-radius:24px;background:var(--surface);min-height:220px;box-shadow:var(--shadow)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}.gallery-item:after{content:"Voir";position:absolute;inset:auto 16px 16px auto;background:rgba(255,255,255,.92);color:#1d1d1f;padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:700;opacity:0;transform:translateY(8px);transition:.25s}.gallery-item:hover img{transform:scale(1.05);filter:saturate(1.04)}.gallery-item:hover:after{opacity:1;transform:none}.lightbox{position:fixed;inset:0;z-index:300;background:rgba(3,8,18,.82);backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;padding:24px}.lightbox.open{display:flex}.lightbox-dialog{position:relative;width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;gap:12px}.lightbox img{max-width:100%;max-height:min(80vh,900px);border-radius:22px;box-shadow:0 30px 70px rgba(0,0,0,.35)}.lightbox-caption{color:#fff;text-align:center;font-size:.95rem}.lightbox-close{position:absolute;top:-10px;right:-10px;width:44px;height:44px;border-radius:50%;border:none;background:#fff;color:#111;cursor:pointer;font-size:1.2rem;font-weight:700;box-shadow:0 15px 30px rgba(0,0,0,.22)}@media (max-width:900px){.gallery-grid,.gallery-grid-large{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.gallery-grid,.gallery-grid-large{grid-template-columns:1fr}.gallery-item{min-height:240px}}

/* ===== Mobile navigation & viewport hardening v4.2 ===== */
html,body{width:100%;max-width:100%;overflow-x:clip}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
body{min-width:0}
main,.topbar,.site-header,.site-footer,.cta-band,section{max-width:100%}
img,svg,video,canvas,iframe{max-width:100%}

@media(max-width:980px){
  /* backdrop-filter on a parent changes the containing block of fixed children.
     Disable it on mobile so the menu is positioned against the viewport. */
  .site-header{
    z-index:310;
    background:var(--bg);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:0 1px 0 var(--line);
  }
  .site-header.is-scrolled{background:var(--bg);box-shadow:0 8px 28px rgba(0,0,0,.08)}
  .nav-wrap{position:relative;max-width:100%}
  .main-nav{
    position:fixed;
    top:var(--mobile-menu-top,104px);
    left:0;
    right:0;
    bottom:0;
    width:100%;
    max-width:100%;
    min-width:0;
    height:auto;
    min-height:0;
    z-index:300;
    margin:0;
    padding:18px max(20px,calc((100% - var(--max))/2 + 20px)) calc(30px + env(safe-area-inset-bottom));
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:8px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:var(--bg);
    border-top:1px solid var(--line);
    box-shadow:0 24px 60px rgba(0,0,0,.12);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .22s ease,transform .22s ease,visibility .22s;
  }
  .main-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .main-nav a{width:100%;max-width:100%;flex:0 0 auto}
  .lang-menu{z-index:330;background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}
  body.menu-open{overflow:hidden;overscroll-behavior:none}
  body.menu-open .site-header{background:var(--bg)}
}

@media(max-width:680px){
  .main-nav{
    padding:14px 14px calc(24px + env(safe-area-inset-bottom));
    gap:6px;
  }
  .main-nav a{min-height:52px;padding:0 15px;border-radius:15px;font-size:1rem}
  .nav-wrap{width:calc(100% - 24px);margin-inline:auto}
  .logo{min-width:0;flex:0 1 auto}
  .logo-text{white-space:nowrap}
  .nav-actions{flex:0 0 auto;min-width:0}
  .hero-grid,.split,.content-grid,.contact-grid,.footer-grid,.cards-3,.review-grid,.process-grid,.trust-grid,.about-stats,.form-grid,.course-meta,.symptom-grid{min-width:0}
  .hero-visual,.hero-card-main,.media-panel,.service-card,.course-card,.blog-card,.review,.side-card,.cta-box{max-width:100%;min-width:0}
  .mobile-bar{max-width:calc(100% - 20px);overflow:hidden}
  .chatbot-panel{max-width:calc(100% - 20px)}
}

/* Keep the mobile menu anchored exactly below the header while opening. */
@media(max-width:980px){
  .main-nav{transform:none;transition:opacity .18s ease,visibility .18s ease}
  .main-nav.open{transform:none}
}
