@font-face{font-family:Baloo;src:url('assets/BalooBhaijaan2.ttf') format('truetype');font-weight:400 800;font-display:swap}@font-face{font-family:Fredoka;src:url('assets/Fredoka.ttf') format('truetype');font-weight:300 700;font-display:swap}:root{--v:#7846ff;--ink:#17151d;--paper:#f6f3ed;--line:#dcd7e5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Baloo,Arial,sans-serif;font-size:18px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}p,h1,h2,h3{margin:0}p{line-height:1.7}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9a7bff;outline-offset:5px}.skip{position:absolute;top:-80px;padding:15px;background:var(--ink);color:white;z-index:20}.skip:focus{top:0}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}header{height:108px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 56px}.brand{display:flex;align-items:center;gap:5px;direction:ltr;flex-shrink:0}.brand img:first-child{width:57px}.brand img:last-child{width:137px}nav{display:flex;gap:40px;font-weight:600}nav a:hover{color:var(--v)}.nav-cta{border:1px solid var(--ink);border-radius:30px;padding:9px 23px;display:flex;gap:25px;align-items:center;font-weight:600}.nav-cta:hover{background:var(--ink);color:var(--paper)}.menu{display:none}.hero{min-height:720px;display:grid;grid-template-columns:1.05fr 1fr;gap:45px;align-items:center;padding-block:60px 95px}.eyebrow{font-size:15px;letter-spacing:.4px;font-weight:600;margin-bottom:23px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--v);margin-left:8px}.hero h1{font-size:clamp(72px,7.8vw,118px);font-weight:800;line-height:1.08;letter-spacing:-3px}.purple{color:var(--v);position:relative}.star{position:absolute;left:-45px;top:-10px;font-family:Fredoka;font-size:54px;transform:rotate(15deg)}.intro{font-size:23px;margin-top:28px;color:#57515f}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:35px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:15px 26px;border-radius:40px;font-weight:600;font-size:19px;border:1px solid transparent;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.primary{background:var(--v);color:white}.outline{border-color:var(--ink);background:transparent}.outline:hover{background:var(--ink);color:white}.light{background:var(--paper);color:var(--ink)}.text-link{font-weight:600;white-space:nowrap}.text-link span{margin-right:10px}.small-note{display:flex;gap:15px;flex-wrap:wrap;margin-top:32px;font-size:13px;color:#716a79}.small-note span:before{content:'✦';color:var(--v);margin-left:5px}.hero-stage{height:540px;position:relative;display:flex;align-items:center;justify-content:center;direction:ltr}.orbit{position:absolute;width:470px;height:470px;max-width:100%;border:1px dashed #c6b8e2;border-radius:50%;transform:rotate(-15deg)}.flying-bat{position:absolute;z-index:3;left:24px;top:-2px;width:195px;transform:rotate(-16deg);animation:float 5s ease-in-out infinite;filter:drop-shadow(0 12px 9px #7846ff18)}.demo-window{position:relative;border:1.5px solid var(--ink);border-radius:18px;width:95%;max-width:490px;overflow:hidden;transform:rotate(4deg);box-shadow:14px 17px 0 #ddd4f2;background:white}.browser-bar{height:42px;display:flex;gap:6px;align-items:center;border-bottom:1px solid #29232e;padding:0 18px;background:#fbf9ff}.browser-bar i{width:7px;height:7px;border-radius:50%;background:#c8c1d2}.browser-bar span{font:12px Fredoka;margin:auto;color:#6e637d}.demo-content{direction:rtl;min-height:350px;background:#e9e0ff;padding:23px 30px;position:relative;transition:background .3s}.mini-nav{direction:ltr;display:flex;justify-content:space-between;font:10px Fredoka;border-bottom:1px solid #c8b8e2;padding-bottom:18px}.mini-nav b{font-size:14px}.demo-label{font-size:11px;display:block;margin-top:20px;color:#6a557e}.demo-content h2{font-size:43px;line-height:1.2;margin-top:8px}.demo-content p{font-size:14px;margin-top:12px}.mini-cta{background:var(--ink);color:white;border-radius:30px;padding:8px 15px;width:max-content;font-size:13px;margin-top:16px}.demo-bottom{display:flex;justify-content:space-between;align-items:center;font:14px Fredoka;margin-top:25px}.demo-bottom>span:last-child{font-size:45px;color:var(--v)}.float-tag{font:13px/1.2 Fredoka;font-weight:500;position:absolute;z-index:4;background:var(--paper);border:1px solid var(--ink);padding:12px 20px;border-radius:50%;text-align:center}.tag1{top:35px;right:0;transform:rotate(12deg)}.tag2{bottom:80px;left:-10px;transform:rotate(-12deg)}.demo-tabs{position:absolute;bottom:10px;display:flex;gap:6px;background:#e6e0ee;border-radius:30px;padding:5px;direction:rtl}.demo-tabs button{background:transparent;border:0;padding:8px 17px;border-radius:25px;font-size:15px}.demo-tabs button.active{background:var(--ink);color:white}.ticker{background:var(--v);color:var(--paper);height:72px;overflow:hidden;display:flex;align-items:center;direction:ltr}.ticker>div{white-space:nowrap;font:27px Fredoka;word-spacing:12px;animation:marquee 40s linear infinite}.ticker b{margin:0 35px;font-size:35px}.section{padding-block:110px}h2{font-size:clamp(42px,4.4vw,66px);line-height:1.2;font-weight:700;letter-spacing:-1px}.services{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.section-heading>p:last-child{color:#6c6474;margin-top:25px}.service-row{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:30px 0}.service-row:first-child{padding-top:0}.num{align-self:flex-start;font:14px Fredoka;color:var(--v);padding-top:12px}.service-row h3{font-size:34px;font-weight:600}.service-row p{font-size:17px;color:#6c6474;max-width:440px}.service-symbol{font:40px Fredoka;margin-right:auto;color:var(--v);transition:transform .2s}.service-row:hover .service-symbol{transform:translate(-5px,-5px)}.work-section{background:var(--ink);color:var(--paper)}.work-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:45px}.work-heading>p{color:#afa5be}.project{display:block}.project-art{background:#dcd5ed;border-radius:24px;padding:55px 85px 0;overflow:hidden;min-height:440px}.project-browser{background:#fff6e8;border:1px solid #5c4a33;border-radius:12px 12px 0 0;overflow:hidden;direction:ltr;transition:transform .3s}.project:hover .project-browser{transform:translateY(-7px)}.project-toolbar{padding:10px 20px;background:#fffaf2;display:flex;gap:30px;align-items:center;color:#8b7255;font:13px Fredoka;border-bottom:1px solid #e1cbae}.tpr-visual{padding:30px 40px 50px;min-height:370px;position:relative;direction:rtl;color:#492916}.tpr-brand{font:40px Fredoka;font-weight:600;direction:ltr;position:absolute;left:40px}.tpr-brand small{display:block;font-size:10px;letter-spacing:3px}.tpr-visual p{font-size:15px;margin-top:60px}.tpr-visual h3{font-size:60px;line-height:1.1;margin-top:15px;position:relative;z-index:1}.tpr-orb{background:#ff8000;position:absolute;left:60px;top:120px;width:185px;height:185px;border-radius:50%;padding:38px;font:24px/1.2 Fredoka;transform:rotate(-12deg)}.tpr-orb span{position:absolute;right:20px;top:35px;font-size:40px}.project-caption{position:absolute;bottom:15px;right:40px;font-size:11px;color:#896c55}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-top:27px}.project-meta .eyebrow{color:#b89dff;font-family:Fredoka;font-size:12px}.project-meta h3{font:34px Fredoka;margin-block:12px}.project-meta p{color:#c2b8cf}.round-arrow{border:1px solid #746b81;border-radius:50%;width:65px;height:65px;display:grid;place-items:center;font:35px Fredoka}.invites{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.invitation-art{position:relative;background:#e7dff3;border-radius:50% 50% 20px 20px;min-height:540px;display:grid;place-items:center}.invite-paper{background:#fffaf2;width:70%;min-height:430px;box-shadow:0 25px 40px #5b3c7520;padding:35px 20px;text-align:center;transform:rotate(-7deg);border:1px solid #e3d1b8;border-radius:120px 120px 0 0;color:#6b4d37}.invite-kicker{font:11px Fredoka;letter-spacing:3px}.flower{font:90px Fredoka;color:#9c7187;margin-top:10px}.invite-paper h3{font-size:36px;font-weight:500}.invite-paper h3 span{color:#a98094;font:30px Fredoka}.invite-paper p{font-size:14px}.invite-rule{width:45px;height:1px;background:#b7a48d;margin:25px auto}.invite-paper>span:last-of-type{font-size:15px}.invite-paper small{display:block;font-size:10px;margin-top:20px}.sticker{position:absolute;bottom:35px;left:0;background:var(--v);color:white;padding:25px;border-radius:50%;font-size:25px;line-height:1.2;transform:rotate(10deg)}.body-copy{font-size:21px;color:#6c6474;margin-block:30px}.center-heading{text-align:center;margin-bottom:50px}.center-heading>p:last-child{color:#6c6474;margin-top:20px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.price-card{padding:36px 30px;border:1px solid #d4ccdd;border-radius:24px;display:flex;flex-direction:column}.price-card .eyebrow{font-family:Fredoka;color:var(--v);font-size:13px;margin-bottom:12px}.price-card h3{font-size:34px}.price-card>p{color:#746c7e;font-size:17px}.price{display:flex;align-items:baseline;gap:15px;margin-block:30px;direction:ltr;justify-content:flex-end}.price strong{font:75px/.9 Fredoka;font-weight:600}.price span{font-size:17px;direction:rtl}.price.custom{display:block;text-align:right}.price.custom strong{font:40px/1.2 Baloo;font-weight:700}.price.custom span{display:block}.price-card ul{list-style:none;padding:0;margin:0 0 30px;font-size:17px;flex:1}.price-card li{padding-block:11px;border-top:1px solid #d4ccdd}.price-card li:before{content:'↗';margin-left:10px;color:var(--v)}.price-card .button{font-size:17px}.featured{background:var(--v);color:white;border-color:var(--v);transform:translateY(-10px)}.featured .eyebrow,.featured>p{color:#ebe1ff}.featured li{border-color:#a584ff}.featured li:before{color:white}.price-note{font-size:14px;color:#797181;text-align:center;max-width:850px;margin:30px auto 0}.process-section{background:#e9e2f2}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin-top:55px}.steps>div{border-top:1px solid #beb2cc;padding-top:25px}.steps span{font:46px Fredoka;color:var(--v)}.steps h3{font-size:28px;margin-block:14px}.steps p{color:#6c6474}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.questions details{padding:22px 0;border-bottom:1px solid var(--line)}.questions details:first-child{padding-top:0}summary{font-size:23px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{color:var(--v);font-size:30px}.questions p{padding:20px 0 5px;color:#71687c;font-size:17px}details[open] summary span{transform:rotate(45deg)}.contact{background:var(--v);color:white;padding:85px 0}.contact-inner{text-align:center;max-width:760px}.contact-inner>img{margin:0 auto 20px;transform:rotate(-7deg)}.contact .eyebrow{font-family:Fredoka}.contact h2{font-size:75px;line-height:1.1}.contact-inner>p:not(.eyebrow){margin-top:25px;color:#eee7ff;font-size:22px}form{max-width:550px;margin:35px auto 0;text-align:right}label{display:block;margin-bottom:9px;font-size:17px}label span{color:#e3d7ff;font-size:14px}select,textarea{width:100%;border:1px solid #b599ff;background:#6637e0;color:white;border-radius:12px;padding:14px 18px;margin-bottom:20px;outline-offset:4px}select option{background:#5428bc}textarea{resize:vertical;min-height:100px}textarea::placeholder{color:#dfd0ff}form .button{width:100%;justify-content:center}form small{display:block;text-align:center;font-size:12px;margin-top:12px;color:#e2d5ff}.direct-phone{display:inline-block;font:30px Fredoka;margin-top:33px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:45px}footer p{font-size:16px}footer p span{font-size:12px;color:#797080}footer small{font:12px Fredoka;color:#797080}@keyframes float{50%{transform:translateY(-13px) rotate(-11deg)}}@keyframes marquee{to{transform:translateX(-25%)}}@media(min-width:1500px){.hero{min-height:800px}}@media(max-width:1100px){header{padding:0 30px}.wrap{width:calc(100% - 60px)}.hero{gap:15px}.hero h1{font-size:80px}.hero-actions{gap:15px;flex-wrap:wrap}.button{font-size:17px}.star{left:-25px;font-size:35px}.hero-stage{height:510px}.flying-bat{width:150px}.tag1{right:-10px}.services,.faq{gap:35px}.invites{gap:50px}.price-card{padding:25px 20px}.price{gap:8px}.price strong{font-size:62px}.price span{font-size:14px}.price-card h3{font-size:29px}.price-card .button{padding:12px 16px;gap:15px}}@media(max-width:760px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}header{height:85px;padding:0 20px;position:relative;gap:15px}.brand img:first-child{width:44px}.brand img:last-child{width:105px}nav{display:none;position:absolute;top:84px;left:0;right:0;padding:25px;background:var(--paper);z-index:10;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;gap:15px}.nav-cta{padding:7px 15px;font-size:14px;gap:10px;margin-right:auto}.menu{display:block;border:0;background:transparent;font-size:23px;padding:5px}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:20px}.hero h1{font-size:clamp(68px,16vw,96px);letter-spacing:-2px}.hero .eyebrow{font-size:13px;margin-bottom:20px}.intro{font-size:20px;margin-top:22px}.small-note{gap:12px;font-size:11px;margin-top:25px}.hero-stage{height:470px;margin-top:20px}.flying-bat{top:0;left:5%;width:145px}.demo-window{width:90%;max-width:430px}.demo-content{padding:18px 25px;min-height:310px}.demo-content h2{font-size:36px}.tag1{right:0;font-size:10px;top:5px}.tag2{font-size:10px;bottom:65px;left:0}.demo-tabs{bottom:0}.orbit{width:350px;height:350px}.ticker{height:55px}.ticker>div{font-size:20px}.section{padding-block:65px}h2{font-size:43px}.services,.invites,.faq{grid-template-columns:1fr;gap:40px}.service-row h3{font-size:29px}.service-row p{font-size:16px}.service-row{gap:15px}.work-heading{display:block}.work-heading>p{margin-top:15px}.project-art{padding:25px 20px 0;min-height:280px;border-radius:14px}.tpr-visual{padding:20px;min-height:280px}.tpr-brand{left:20px;font-size:28px}.tpr-brand small{font-size:8px;letter-spacing:2px}.tpr-visual p{font-size:10px;margin-top:53px}.tpr-visual h3{font-size:39px;margin-top:15px}.tpr-orb{width:105px;height:105px;left:18px;top:145px;padding:22px 15px;font-size:16px}.tpr-orb span{font-size:25px;right:7px;top:10px}.project-caption{font-size:8px;right:20px}.project-meta h3{font-size:27px}.project-meta p{font-size:15px;max-width:260px}.round-arrow{width:45px;height:45px;font-size:25px;flex-shrink:0}.invitation-art{min-height:480px;order:2}.invite-paper{min-height:390px;padding-top:25px}.body-copy{font-size:19px}.price-grid{grid-template-columns:1fr;gap:18px}.price-card{padding:30px}.price-card h3{font-size:35px}.price-card .eyebrow{font-size:13px}.price{justify-content:flex-end;margin-block:25px}.price strong{font-size:80px}.price span{font-size:20px}.featured{transform:none}.steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.steps>div{position:relative;padding-right:75px}.steps span{position:absolute;right:0;top:30px;font-size:40px}.steps h3{margin-top:3px}.faq{gap:35px}summary{font-size:20px}.contact{padding-block:60px}.contact h2{font-size:57px}.contact-inner>img{width:170px;height:auto}.contact-inner>p:not(.eyebrow){font-size:19px}.contact select,.contact textarea{font-size:16px}footer{display:grid;grid-template-columns:1fr auto;gap:25px}footer p{font-size:14px}footer .brand{grid-column:1/-1}.small-note span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Webbat motion system: composite-only transforms, bounded hero choreography. */
.hero-stage{perspective:1000px;isolation:isolate}
.bat-scene{position:absolute;left:0;top:-28px;width:240px;height:160px;z-index:5;pointer-events:none;perspective:900px}
.bat-flight,.bat-solid{position:absolute;inset:0;transform-style:preserve-3d}
.bat-flight{transform:translate3d(var(--bat-x,0px),var(--bat-y,0px),0) scale(var(--bat-scale,1));will-change:transform}
.bat-solid{transform:rotateX(var(--bat-rx,16deg)) rotateY(var(--bat-ry,-24deg)) rotateZ(var(--bat-rz,-14deg));will-change:transform}
.bat-solid img,.bat-shine{position:absolute;width:100%;height:100%;inset:0;object-fit:contain}
.bat-depth{transform:translateZ(calc(var(--depth)*1.4px));filter:brightness(.52) saturate(1.2)}
.bat-face{transform:translateZ(17px);filter:drop-shadow(0 -2px 0 #c7b3ff)}
.bat-shine{transform:translateZ(18px);background:linear-gradient(125deg,#fff9 5%,#ffffff08 38%,#3e188d40 60%,#c4aaff80 90%);mask:url('assets/bat.svg') center/contain no-repeat;-webkit-mask:url('assets/bat.svg') center/contain no-repeat}
.bat-shadow{position:absolute;inset:100px 10px 0;border-radius:50%;background:#4c1fac38;filter:blur(20px);transform:scale(var(--bat-scale,1));opacity:var(--bat-shadow,.5)}
.hero-stage .demo-window{transform:translate3d(0,var(--window-y,0px),0) rotate(var(--window-r,4deg));transition:box-shadow .45s ease}
.hero-stage .orbit{transform:rotate(var(--orbit-r,-15deg)) scale(var(--orbit-scale,1));transition:none}
.float-tag{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.hero-stage:hover .tag1{transform:translateY(-5px) rotate(8deg)}
.hero-stage:hover .tag2{transform:translateY(5px) rotate(-8deg)}
.motion-ready .reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.75,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
.motion-ready .featured.reveal.is-visible{transform:translate3d(0,-10px,0)}
.button,.nav-cta,.round-arrow{transition:transform .3s cubic-bezier(.2,.75,.2,1),background .3s,color .3s,box-shadow .3s}
.button:hover{box-shadow:0 8px 22px #3c196c18;transform:translateY(-4px)}
.button:active{transform:translateY(0) scale(.98)}
.project:hover .round-arrow{transform:rotate(-12deg);background:var(--v)}
.price-card{transition:box-shadow .4s,border-color .4s}
.price-card:hover{box-shadow:0 18px 38px #3b1b5e14;border-color:#a084e0}
.demo-content.is-switching{animation:demo-enter .42s cubic-bezier(.2,.75,.2,1)}
@keyframes demo-enter{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:761px){.hero{min-height:960px;align-items:start}.hero-copy{position:sticky;top:100px;margin-top:60px}.hero-stage{position:sticky;top:100px;margin-top:40px}}
@media(max-width:760px){.bat-scene{width:180px;height:115px;left:5%;top:-12px}.motion-ready .featured.reveal.is-visible{transform:none}}
@media(prefers-reduced-motion:reduce){.bat-flight{transform:none!important;will-change:auto}.bat-solid{transform:rotateX(12deg) rotateY(-16deg) rotateZ(-8deg)!important;will-change:auto}.hero-stage .demo-window{transform:rotate(4deg)!important}.motion-ready .reveal{opacity:1;transform:none;transition:none}.bat-shadow{transform:none}.hero-stage .orbit{transform:none}}

/* Immersive WebGL hero: the canvas travels in depth through a pinned scene. */
header{background:#17131f;color:#f6f3ed;border-color:#ffffff18;position:relative;z-index:20}header .brand img{filter:brightness(0) invert(1)}header .nav-cta{border-color:#ffffff60}
.hero-runway{height:270svh;background:#17131f;position:relative}
.hero{height:100svh;min-height:650px;max-height:none;position:sticky;top:0;overflow:hidden;display:block;padding:0;background:radial-gradient(ellipse at 50% 40%,#392356 0%,#1b1524 45%,#121016 85%);color:var(--paper);isolation:isolate}
.hero:after{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:80px 80px;pointer-events:none;z-index:0}
.hero-copy{position:absolute;top:50%;left:50%;width:min(1100px,90%);margin:0;transform:translate(-50%,-50%);text-align:center;z-index:2;opacity:var(--copy-opacity,1);will-change:opacity,transform}
.hero h1{font-size:clamp(78px,11vw,170px);line-height:1.03;letter-spacing:-4px;text-shadow:0 5px 35px #100b1890}.hero h1 br{display:none}.hero h1 .purple{color:#c7adff}.hero .intro{color:#d0c6df;font-size:21px;max-width:650px;margin:24px auto}.hero-actions,.small-note{justify-content:center}.hero .small-note{color:#afa0bf}.hero .eyebrow{letter-spacing:1px;color:#ddcaff}.hero .star{display:none}.hero .button{box-shadow:0 0 40px #7846ff35}
.webgl-world{position:absolute;inset:0;z-index:1;pointer-events:none;transition:none}.webgl-world.is-front{z-index:3}#bat-canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .8s}.webgl-ready #bat-canvas{opacity:1}.bat-fallback{position:absolute;width:60%;max-width:700px;left:50%;top:38%;transform:translate(-50%,-50%) rotate(-12deg);opacity:.18}.webgl-ready .bat-fallback{display:none}
.scroll-cue{position:absolute;bottom:36px;left:0;right:0;z-index:4;text-align:center;pointer-events:none;opacity:var(--cue-opacity,1)}.scroll-cue>span{font:11px Fredoka;letter-spacing:3px;color:#c0acd6}.scroll-cue small{display:block;font-size:13px;color:#ac9cbb}.scroll-cue i{display:block;width:1px;height:35px;background:linear-gradient(#b48aff,transparent);margin:12px auto}
.demo-showcase{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-block:85px}.demo-showcase .hero-stage{position:relative;top:auto;margin:0;height:500px}.demo-showcase h2{font-size:clamp(38px,4vw,60px)}
@media(max-width:760px){header nav{background:#17131f}.hero-runway{height:230svh}.hero{height:100svh;min-height:600px}.hero-copy{top:45%;width:90%}.hero h1{font-size:clamp(68px,16vw,100px);letter-spacing:-2px}.hero h1 br{display:block}.hero .intro{font-size:18px}.hero .eyebrow{font-size:12px}.hero-actions{gap:18px}.hero .button{font-size:16px;padding:13px 20px}.hero .small-note{font-size:10px}.scroll-cue{bottom:24px}.demo-showcase{grid-template-columns:1fr;gap:35px;padding-block:55px}.demo-showcase .hero-stage{height:470px}}
@media(prefers-reduced-motion:reduce){.hero-runway{height:auto}.hero{position:relative;height:90svh;min-height:650px}.hero-copy{opacity:1!important}.scroll-cue{display:none}.webgl-world{z-index:1!important}.motion-ready .reveal{opacity:1;transform:none}}

/* Whole-site themes and deliberate Arabic word spacing. */
:root{--muted:#6c6474;--surface:#f6f3ed;--panel:#eee8f6;--stroke:#dcd7e5}
html[data-theme="dark"]{color-scheme:dark;--ink:#f6f3ed;--paper:#17131f;--muted:#b8aec6;--line:#3c3349;--surface:#17131f;--panel:#241c30;--stroke:#443750}
html[data-theme="light"]{color-scheme:light;--ink:#17151d;--paper:#f6f3ed;--muted:#6c6474;--line:#dcd7e5;--surface:#f6f3ed;--panel:#eee8f6;--stroke:#dcd7e5}
body{background:var(--surface);color:var(--ink);transition:background-color .4s,color .4s}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;border:1px solid #ffffff45;background:#ffffff08;color:inherit;min-width:80px;min-height:44px;padding:8px 13px;border-radius:50px;cursor:pointer;transition:background .25s,transform .25s}
.theme-toggle:hover{background:#7846ff30;transform:translateY(-2px)}.theme-toggle:focus-visible{outline:3px solid #a584ff;outline-offset:4px}.theme-icon{font:24px/1 Arial}.theme-label{font-size:14px}
.hero h1{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:.22em;row-gap:.04em;letter-spacing:0;line-height:1.15;font-size:clamp(70px,9.2vw,148px)}.hero-word{display:inline-block;white-space:nowrap}.hero-copy{top:46%;width:min(1320px,92%)}.hero .small-note{margin-top:24px}.scroll-cue{bottom:20px}.scroll-cue i{height:22px;margin:8px auto}.hero-runway{height:330svh}
.section-heading>p:last-child,.service-row p,.work-heading>p,.body-copy,.center-heading>p:last-child,.price-card>p,.price-note,.steps p,.questions p,footer p span,footer small{color:var(--muted)}
.price-card,.service-row,.questions details{border-color:var(--line)}.price-card li{border-color:var(--line)}.price-card:not(.featured){background:var(--surface)}.process-section{background:var(--panel)}
.work-section{background:#100d16;color:#f6f3ed}.work-section .project-meta p{color:#c2b8cf}.work-section .eyebrow{color:#b89dff}.work-section .work-heading>p{color:#c2b8cf}
.featured{background:#7846ff;color:#fff}.featured>p,.featured .eyebrow{color:#ebe1ff}.featured li{border-color:#a584ff}.featured .light,.contact .light{background:#f6f3ed;color:#17151d}.contact{background:#7846ff;color:#fff}.ticker{background:#7846ff;color:#f6f3ed}
html[data-theme="dark"] .demo-tabs{background:#352b44}html[data-theme="dark"] .demo-tabs button.active{background:#7846ff;color:#fff}html[data-theme="dark"] .demo-content{color:#17151d}html[data-theme="dark"] .mini-cta{background:#17151d;color:#fff}html[data-theme="dark"] .float-tag{background:#241c30;border-color:#7e6d92;color:#f6f3ed}html[data-theme="dark"] .demo-window{box-shadow:14px 17px 0 #30243e;border-color:#81708f}html[data-theme="dark"] .invitation-art{background:#2c213a}html[data-theme="dark"] .project-art{background:#30253e}html[data-theme="dark"] footer .brand img{filter:brightness(0) invert(1)}html[data-theme="dark"] .outline:hover{background:#f6f3ed;color:#17151d}html[data-theme="dark"] .purple{color:#ad87ff}
html[data-theme="light"] header{background:#f6f3ed;color:#17151d;border-color:#dcd7e5}html[data-theme="light"] header .brand img{filter:none}html[data-theme="light"] header .nav-cta{border-color:#17151d}html[data-theme="light"] .theme-toggle{border-color:#b8adc8;background:#7846ff08}
html[data-theme="light"] .hero-runway{background:#f6f3ed}html[data-theme="light"] .hero{background:radial-gradient(ellipse at 50% 40%,#e0d1ff 0%,#f0eaf9 45%,#f6f3ed 85%);color:#17151d}html[data-theme="light"] .hero:after{background-image:linear-gradient(#7846ff06 1px,transparent 1px),linear-gradient(90deg,#7846ff06 1px,transparent 1px)}html[data-theme="light"] .hero h1{text-shadow:0 3px 30px #f6f3ed80}html[data-theme="light"] .hero h1 .purple{color:#7846ff}html[data-theme="light"] .hero .intro{color:#51445f}html[data-theme="light"] .hero .eyebrow,html[data-theme="light"] .hero .small-note,html[data-theme="light"] .scroll-cue>span,html[data-theme="light"] .scroll-cue small{color:#6c527f}
@media(max-height:780px) and (min-width:761px){.hero{min-height:600px}.hero h1{font-size:clamp(65px,8vw,118px)}.hero .intro{font-size:18px;margin-top:15px}.hero-actions{margin-top:20px}.hero .small-note{margin-top:15px}.hero .eyebrow{margin-bottom:15px}}
@media(max-width:760px){.theme-toggle{min-width:40px;min-height:40px;padding:7px}.theme-label{display:none}header{gap:9px}header .brand img:last-child{width:90px}header .brand img:first-child{width:36px}.nav-cta{padding:6px 10px;font-size:12px;gap:5px}.hero-runway{height:290svh}.hero-copy{top:43%;width:92%}.hero h1{font-size:clamp(58px,13vw,90px);column-gap:.18em;line-height:1.18}.hero-word:last-child{flex-basis:100%}.hero .small-note{display:none}.hero .intro{font-size:17px}.scroll-cue{bottom:22px}html[data-theme="light"] header nav{background:#f6f3ed}}
@media(prefers-reduced-motion:reduce){.hero-runway{height:auto}.hero-copy{transform:translate(-50%,-50%)!important}.theme-toggle:hover{transform:none}}

/* One continuous bat across the whole site; normal document scrolling. */
.hero-runway{height:auto!important}.hero{position:relative;height:calc(100svh - 108px);min-height:650px;isolation:auto}.hero:after{z-index:0}.hero-copy{z-index:6}.scroll-cue{display:none}.hero-copy{top:48%}
.global-bat{position:fixed;inset:0;z-index:4;pointer-events:none!important;overflow:hidden}.global-bat.over-transition{z-index:8}.global-bat canvas{pointer-events:none}.global-bat .bat-fallback{position:absolute;width:34%;left:82%;top:55%;opacity:.12}.global-bat.webgl-ready .bat-fallback{display:none}.global-bat.webgl-ready #bat-canvas{opacity:1}
header{z-index:30}main h2,main h3,main p,main .button,main .eyebrow,main .price,main ul,.service-list,.questions,.contact-inner form,.direct-phone,.project-meta,footer{position:relative;z-index:6}
.hero .hero-copy h1{position:relative;z-index:6}main .hero .eyebrow{position:static}.contact-inner>img{position:relative;z-index:6}.demo-tabs{z-index:10}.demo-showcase{position:relative}.price-card{position:relative}.price-card .button{z-index:10}footer{background:var(--surface)}
@media(max-width:760px){.hero{height:calc(100svh - 85px);min-height:610px}.hero-copy{top:46%}.global-bat{z-index:3}.global-bat.over-transition{z-index:4}.global-bat .bat-fallback{width:48%;left:88%;top:73%}.hero h1{font-size:clamp(58px,13vw,90px)}}
@media(prefers-reduced-motion:reduce){.global-bat{z-index:1!important}.hero{position:relative}.hero-copy{transform:translate(-50%,-50%)!important}}

/* Layered section transitions, paired with the shared 3D bat. */
body{overflow-x:clip}.scene-item{transform-origin:50% 50%;transition:none!important;backface-visibility:hidden}
.scene-atmosphere{position:fixed;inset:0;pointer-events:none;z-index:2;overflow:hidden;contain:strict;opacity:0}
.scene-glow{position:absolute;inset:10% -20%;background:radial-gradient(ellipse at 50% 50%,#9859ff55,transparent 62%);transform:translateX(var(--scene-x)) scale(var(--scene-scale))}
.scene-ring{position:absolute;left:50%;top:50%;width:75vmin;height:75vmin;border:1px solid #bb91ff75;border-radius:50%;transform:translate(-50%,-50%) perspective(900px) rotateX(65deg) rotateZ(var(--scene-turn)) scale(var(--scene-scale));box-shadow:0 0 40px #7846ff16,inset 0 0 35px #7846ff12}
.ring-b{width:100vmin;height:100vmin;border-style:dashed;border-color:#b494ff35;transform:translate(-50%,-50%) perspective(900px) rotateY(62deg) rotateZ(var(--scene-turn)) scale(var(--scene-scale))}
.scene-streak{position:absolute;inset:49% -50%;height:1px;background:linear-gradient(90deg,transparent,#c4a5ff,transparent);transform:rotate(var(--scene-turn)) scaleX(var(--scene-scale));box-shadow:0 0 18px #b888ff}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#7846ff,#d1a5ff);transform-origin:left;z-index:100;pointer-events:none}
html[data-theme="light"] .scene-atmosphere{mix-blend-mode:multiply}.scene-item:focus-within{opacity:1!important;transform:none!important}
@media(max-width:760px){.scene-ring{width:100vmin;height:100vmin}.ring-b,.scene-streak{display:none}}
@media(prefers-reduced-motion:reduce){.scene-item{transform:none!important;opacity:1!important}.scene-atmosphere{display:none}.scroll-progress{display:none}}

/* Luminous, legible hero and whole-word Arabic entrances. */
html[data-theme="dark"] .hero h1{color:#f5efff;text-shadow:0 0 28px #b793ff40,0 3px 28px #120c20}
html[data-theme="dark"] .hero h1 .purple{color:#bc96ff;text-shadow:0 0 35px #9760ff55}
html[data-theme="light"] .hero h1{color:#241534;text-shadow:0 2px 20px #ffffff80}
.hero-word{animation:hero-word-in 1.15s cubic-bezier(.16,1,.3,1) both}.hero-word:nth-child(2){animation-delay:.13s}.hero-word:nth-child(3){animation-delay:.26s}
.hero .intro{animation:hero-copy-in 1s .32s both}.hero-actions{animation:hero-copy-in 1s .45s both}
@keyframes hero-word-in{from{opacity:0;transform:translateY(42px) rotateX(18deg);filter:blur(5px)}to{opacity:1;transform:translateY(0) rotateX(0);filter:blur(0)}}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.motion-word{display:inline-block;opacity:0;transform:translateY(30px) rotateX(12deg);filter:blur(3px);transition:transform .95s cubic-bezier(.16,1,.3,1),opacity .7s ease,filter .85s ease;transition-delay:var(--word-delay);padding-block:.06em;margin-block:-.06em}
.text-visible .motion-word{opacity:1;transform:none;filter:blur(0)}
.text-arrival{opacity:0;translate:0 18px;transition:opacity .8s ease,translate 1s cubic-bezier(.16,1,.3,1)}.text-arrival.text-visible{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){.motion-word,.text-arrival{opacity:1!important;transform:none!important;translate:none!important;filter:none!important}.hero-word,.hero .intro,.hero-actions{animation:none!important}}

/* Real vector icons stay monochrome on iOS, Android and desktop. */
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.13em;flex-shrink:0;overflow:visible;pointer-events:none}
.flower .ui-icon{width:90px;height:90px;display:block;margin-inline:auto}.flower{line-height:1.2;padding-block:12px}
.mini-cta .ui-icon{margin-inline-start:.35em}.sticker .ui-icon{width:.9em;height:.9em}
/* Artwork remains above the decorative viewport bat, including transformed scenes. */
.invitation-art,.project-art,.hero-stage{position:relative;z-index:7}
@media(max-width:760px){.flower .ui-icon{width:76px;height:76px}}
