@import url('/fonts/fonts.css');
:root{--ink:#152c49;--blue:#3379ef;--paper:#f7fbff;--line:2px solid var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,select{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #eaa937;outline-offset:5px}header{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 48px;border-bottom:1px solid #d5e1ed}.logo{display:flex;align-items:center;font-family:'Space Grotesk',sans-serif;font-size:29px;font-weight:700;letter-spacing:-1.6px}.logo>span:not(.batmark){color:var(--blue)}.logo i{font:11px 'DM Sans';align-self:flex-start;margin:4px}.batmark{background:var(--blue);color:white;border:var(--line);border-radius:10px;font-size:40px;line-height:30px;width:42px;height:36px;text-align:center;margin-right:10px;transform:rotate(-7deg)}nav{display:flex;gap:33px;font-size:14px;font-weight:600}nav a:hover,.text-link:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--blue);border:var(--line);box-shadow:4px 4px 0 var(--ink);border-radius:7px;color:white;padding:17px 23px;font-weight:700;font-size:14px;cursor:pointer;transition:transform .2s,box-shadow .2s}.button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.button span{font-size:22px;line-height:15px}.button.small{padding:12px 19px;background:#fff;color:var(--ink);font-size:13px}.hero{max-width:1320px;margin:auto;padding:70px 48px 63px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;display:flex;align-items:center;gap:8px}.eyebrow>span{height:8px;width:8px;border-radius:50%;background:var(--blue)}h1,h2,h3{font-family:'Space Grotesk',sans-serif;letter-spacing:-1.8px}h1{font-size:clamp(52px,5.6vw,79px);line-height:1.08;margin:26px 0 29px;position:relative;font-weight:700}.underline{color:var(--blue);position:relative;white-space:nowrap}.underline:after{content:'';position:absolute;bottom:-6px;left:0;width:100%;height:7px;border-top:4px solid var(--blue);border-radius:50%;transform:rotate(-3deg)}.spark{width:48px;height:48px;fill:#fbd86c;stroke:var(--ink);stroke-width:3;margin-left:16px;vertical-align:top}.hero-copy>p{font-size:17px;line-height:1.8;color:#52647b;margin-bottom:30px}.hero-actions{display:flex;gap:25px;align-items:center}.text-link{font-size:12px;font-weight:600;white-space:nowrap}.text-link span{margin-left:8px}.note{font-size:11px;color:#6b7e93;margin-top:28px}.note span{color:var(--blue);font-size:19px;margin-right:7px}.hero-art{position:relative}.hero-art svg{width:100%;overflow:visible}.bubble{position:absolute;top:-15px;left:30%;font-family:'Space Grotesk';font-weight:700;font-size:12px;letter-spacing:1px;padding:14px 20px;background:white;border:var(--line);border-radius:50%;transform:rotate(5deg)}.art-label{font-size:9px;letter-spacing:1.6px;text-align:center;margin-top:8px;color:#6b7e93}.ticker{background:#ddecff;border-block:var(--line);padding:17px 20px;display:flex;justify-content:center;align-items:center;gap:40px;overflow:hidden;white-space:nowrap;font-family:'Space Grotesk';font-size:13px;font-weight:700;letter-spacing:1px}.ticker b{font-size:24px;color:var(--blue)}.section{max-width:1224px;margin:auto;padding:80px 0}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}h2{font-size:38px;line-height:1.2;margin:14px 0 0;letter-spacing:-1.5px}.section-title>p{font-size:13px;line-height:1.7;color:#617188;margin:0 0 4px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.card{position:relative;border:var(--line);border-radius:12px;padding:27px;background:#fff;box-shadow:4px 4px 0 #c4d5e7;transition:transform .2s}.card:hover{transform:translateY(-5px)}.icon{display:inline-grid;place-items:center;width:51px;height:51px;border:var(--line);border-radius:13px;background:#d6e7ff;font-size:23px;font-weight:700;transform:rotate(-7deg)}.card:nth-child(2) .icon{background:#fce8a5;transform:rotate(5deg)}.card:nth-child(3) .icon{background:#d4ede7}.number{position:absolute;right:25px;top:28px;font:12px 'Space Grotesk';color:#8999ab}.card h3{font-size:22px;letter-spacing:-.7px;margin:25px 0 12px}.card p{font-size:13px;line-height:1.85;color:#64758b;min-height:72px}.tags{display:flex;gap:7px;margin-top:22px}.tags span{font-size:10px;border:1px solid #d7e1ed;border-radius:5px;padding:6px 9px}.playground{border-top:1px solid #d9e3ef}.sticker{background:#fbe197;border:var(--line);padding:10px 18px;transform:rotate(5deg);font-size:14px;font-weight:700;border-radius:4px}.demo{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center;background:#e9f3ff;border-radius:15px;padding:40px}.demo-window{background:#fff;border:var(--line);border-radius:12px;box-shadow:6px 6px 0 #98b5d7;transform:rotate(-2deg);overflow:hidden}.windowbar{border-bottom:var(--line);padding:12px 16px;font-size:11px;color:var(--blue);background:#f7fbff}.windowbar span{margin-left:30px;color:#72849a;font-size:10px}.demo-content{padding:26px}.demo-caption{font-size:8px;letter-spacing:1px;color:#6b809a}.demo-content h3{font-size:25px;line-height:1.2;margin:14px 0 25px;letter-spacing:-1px}.demo-ui{display:flex;align-items:center;gap:12px;border:1px solid #cadcef;padding:16px;border-radius:9px}.demo-ui>span:first-child{font-size:26px;color:var(--blue);background:#eaf3ff;padding:5px 10px;border-radius:8px}.demo-ui strong{font-size:13px}.demo-ui p{font-size:9px;color:#75869b;margin:5px 0}.check{margin-left:auto;color:#208b74}.demo-progress{height:6px;background:#e4edfa;border-radius:5px;margin:22px 0 14px}.demo-progress i{display:block;height:100%;width:76%;background:var(--blue);border-radius:5px}.demo-bottom{display:flex;justify-content:space-between;font-size:9px;color:#72849a}.pill{display:inline-block;font-size:9px;letter-spacing:1px;font-weight:700;border:1px solid #b2cae7;border-radius:20px;padding:7px 10px}.demo-text h3{font-size:31px;line-height:1.25;margin:20px 0 15px;letter-spacing:-1px}.demo-text p{font-size:13px;line-height:1.85;color:#61758e}.demo-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:23px 0 18px}.demo-tabs button{border:1px solid #a4b9d3;background:white;border-radius:6px;padding:9px 12px;color:var(--ink);font-size:11px;cursor:pointer}.demo-tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}.demo-text small{font-size:9px;color:#71849c}.process{padding-top:10px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:38px}.steps b{display:grid;place-items:center;background:#d8e9ff;border:var(--line);width:42px;height:42px;border-radius:50%;font:700 20px 'Space Grotesk';box-shadow:3px 3px 0 var(--ink)}.steps h3{font-size:19px;letter-spacing:-.5px;margin-top:23px}.steps p{font-size:13px;line-height:1.85;color:#64758b}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;border:var(--line);border-radius:15px;background:#dcecff;padding:50px;margin-bottom:70px;box-shadow:6px 6px 0 var(--ink)}.contact h2{font-size:40px}.contact p{font-size:14px;line-height:1.8;color:#526b88}.contact form{display:flex;flex-direction:column;gap:12px}.contact label{font-size:12px;font-weight:700}select,textarea{width:100%;border:var(--line);border-radius:6px;background:#fff;padding:12px;color:var(--ink);font-size:13px}textarea{resize:vertical}.contact small{font-size:10px;line-height:1.6;color:#61758e}.contact #form-status{font-size:11px;margin:0}footer{max-width:1224px;margin:auto;padding:25px 0 35px;border-top:1px solid #d2deed;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#6b7e93}footer .logo{font-size:23px;color:var(--ink)}footer>span:last-child a{margin-left:22px}@media(min-width:1450px){.hero{padding-block:85px}.section{padding-block:90px}.process{padding-top:10px}}@media(max-width:1300px){.section,footer{margin-left:48px;margin-right:48px}.contact{padding:40px}.hero-actions{gap:18px}.button{gap:18px}}@media(max-width:950px){header{padding:23px 28px}nav{gap:18px;font-size:12px}.hero{padding:60px 28px;grid-template-columns:1.1fr 1fr}h1{font-size:54px}.spark{width:30px}.hero-actions{align-items:start;flex-direction:column}.section,footer{margin-inline:28px}.section{padding-block:55px}.cards{gap:15px}.card{padding:20px}.card h3{font-size:19px}.demo{gap:35px;padding:27px}.demo-text h3{font-size:26px}.contact{gap:30px;padding:30px}.contact h2{font-size:32px}.steps{gap:30px}}@media(max-width:650px){header{padding:20px}.logo{font-size:25px}.batmark{width:34px;height:30px;font-size:33px}nav{display:none}.button.small{font-size:11px;padding:10px;gap:14px}.hero{grid-template-columns:1fr;padding:44px 22px 30px}.hero-copy{position:relative;z-index:1}h1{font-size:59px;margin-top:22px}.hero-copy>p{font-size:15px}.hero-actions{flex-direction:row;align-items:center;gap:20px}.hero-actions .button{padding:15px 14px;font-size:12px}.text-link{font-size:10px}.hero-art{max-width:440px;width:100%;margin:40px auto 0}.bubble{top:-8px;font-size:10px}.ticker{justify-content:flex-start;gap:25px;font-size:10px;padding:10px 18px}.section,footer{margin-inline:22px}.section{padding-block:45px}h2{font-size:30px}.section-title{align-items:start;gap:18px}.section-title>p{display:none}.cards,.steps,.demo,.contact{grid-template-columns:1fr}.cards{gap:20px}.card{padding:25px}.card p{min-height:0}.card h3{font-size:23px}.eyebrow{font-size:9px;letter-spacing:1.2px}.sticker{font-size:10px;padding:8px;white-space:nowrap;margin-top:30px}.demo{gap:35px;padding:24px 20px}.demo-text{padding:0 5px}.demo-text h3{font-size:28px}.steps{gap:25px}.steps article{padding-left:62px;position:relative}.steps b{position:absolute;left:0;top:10px}.steps h3{margin-top:8px}.contact{padding:27px 22px;gap:20px;margin-bottom:45px}.contact h2{font-size:32px}.contact .button{font-size:12px}footer{gap:22px;align-items:start;flex-wrap:wrap}footer>span:last-child{width:100%;display:flex;justify-content:space-between}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.tools-section{border-top:1px solid #d9e3ef}.project-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.project-tile{min-width:0}.project-preview{position:relative;border:2px solid var(--ink);border-radius:10px;box-shadow:4px 4px 0 var(--ink);overflow:hidden;background:#d2e6ff;transform:rotate(-1.5deg);transition:transform .2s}.project-tile:nth-child(even) .project-preview{transform:rotate(1.5deg);background:#fff0b9}.project-tile:nth-child(3) .project-preview{background:#d5eee6}.project-tile:nth-child(4) .project-preview{background:#e1ddff}.project-tile:hover .project-preview{transform:translateY(-3px) rotate(0)}.project-browser{height:26px;display:flex;gap:4px;align-items:center;padding:0 9px;border-bottom:2px solid var(--ink)}.project-browser i{width:5px;height:5px;border:1px solid var(--ink);border-radius:50%;background:#fff}.project-browser span{margin-left:auto;font:700 7px 'Space Grotesk',sans-serif;letter-spacing:1px}.project-preview img{display:block;width:100%;height:148px;object-fit:cover;object-position:top;background:white}.preview-caption{position:absolute;bottom:7px;right:7px;border:1px solid var(--ink);background:#fffdf3;padding:3px 5px;border-radius:3px;font-size:7px;letter-spacing:.5px}.project-copy{padding:21px 2px 0}.project-category{text-transform:uppercase;font-size:8px;letter-spacing:1.1px;font-weight:700;color:var(--blue)}.project-copy h3{font-size:18px;letter-spacing:-.5px;line-height:1.3;margin:8px 0}.project-copy p{font-size:12px;line-height:1.75;color:#64758b;margin:0}.tools-section .sticker{font-size:11px}@media(max-width:950px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 23px}.project-preview img{height:175px}}@media(max-width:500px){.project-gallery{gap:28px 16px}.project-preview img{height:112px}.project-copy h3{font-size:16px}.project-copy p{font-size:11px}.project-browser span{font-size:6px;letter-spacing:.4px}.tools-section .section-title{display:block}.tools-section .sticker{display:inline-block;margin:18px 0 2px}}

input{font:inherit;width:100%;border:2px solid var(--ink);border-radius:6px;padding:12px;background:white;color:var(--ink);font-size:13px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-fields label{display:block;margin-bottom:8px}.privacy-check{display:flex;gap:10px;align-items:flex-start;line-height:1.6;font-weight:400!important;font-size:11px!important}.privacy-check input{width:17px;height:17px;flex-shrink:0;margin-top:2px}.privacy-check a{text-decoration:underline}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.success{color:#19674c}.error{color:#a82232}#contact-status{font-size:12px;line-height:1.7}button:disabled{opacity:.65;cursor:wait}footer{flex-wrap:wrap;gap:18px}footer>span:last-child a{margin-left:12px}input:focus-visible{outline:3px solid #eaa937;outline-offset:3px}.hero-upload{width:100%;max-height:490px;object-fit:contain}.legal-page{max-width:900px;margin:55px auto;padding:35px;border:2px solid var(--ink);border-radius:14px;background:white;box-shadow:5px 5px 0 var(--ink)}.legal-page h1{font-size:44px}.legal-page h2{font-size:21px;margin:28px 0 12px}.legal-page p{font-size:14px;line-height:1.9;white-space:pre-line;overflow-wrap:anywhere}.draft-note{border:1px solid #c5a34b;background:#fff4ce;padding:14px;border-radius:7px;font-size:12px}.legal-back{font-weight:700;color:var(--blue)}@media(max-width:650px){.contact-fields{grid-template-columns:1fr}.legal-page{margin:30px 20px;padding:23px}.legal-page h1{font-size:34px}}

/* Cartoon identity, including the contact experience. */
body{font-family:'DM Sans',sans-serif}h1,h2,h3,.logo{font-family:'Space Grotesk',sans-serif}.card{box-shadow:4px 4px 0 #152c49}.contact{position:relative;background-color:#dcecff;background-image:radial-gradient(#82ade433 1.4px,transparent 1.4px);background-size:17px 17px;border:3px solid var(--ink);border-radius:18px 14px 18px 13px;box-shadow:7px 7px 0 var(--ink);gap:50px;align-items:center}.contact>div:first-child:after{content:'';display:block;width:100%;max-width:360px;height:195px;background:url('/assets/bat-mail.svg') left center/contain no-repeat;margin-top:23px}.contact .eyebrow{display:inline-flex;background:#ffe38a;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);padding:8px 11px;border-radius:4px;transform:rotate(-3deg);letter-spacing:1px;font-size:9px;margin-bottom:12px}.contact h2{font-size:42px;line-height:1.15}.contact form{position:relative;background:#fffef9;border:2px solid var(--ink);border-radius:13px;box-shadow:5px 5px 0 var(--ink);padding:25px;transform:rotate(1deg);gap:13px}.contact form:before{content:'✦';position:absolute;right:-13px;top:-24px;font-size:38px;line-height:1;color:#f4c956;-webkit-text-stroke:1.5px var(--ink);transform:rotate(12deg)}.contact input:not([type=checkbox]),.contact textarea,.contact select{background:#f3f8ff;border:2px solid var(--ink);border-radius:7px;box-shadow:2px 2px 0 #c4d5e7}.contact label{font-family:'Space Grotesk',sans-serif;font-weight:700}.contact .privacy-check{font-family:'DM Sans',sans-serif}.contact form .button{font-family:'Space Grotesk',sans-serif;border-width:2px;box-shadow:4px 4px 0 var(--ink);border-radius:6px}.legal-page{background:#fffef9;border-width:3px;box-shadow:7px 7px 0 var(--ink)}.legal-page h1:after{content:'✦';display:inline-block;color:#f1cf65;-webkit-text-stroke:1.5px var(--ink);font-size:33px;transform:rotate(12deg);margin-left:20px}.draft-note{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transform:rotate(-.5deg)}@media(max-width:950px){.contact{gap:28px}.contact form{padding:19px}.contact h2{font-size:35px}.contact>div:first-child:after{height:160px}}@media(max-width:650px){.contact{gap:22px;padding:27px 19px}.contact h2{font-size:33px}.contact>div:first-child:after{height:140px;margin-top:12px;background-position:center;max-width:none}.contact form{padding:21px 16px;transform:none}.contact .eyebrow{font-size:8px}}
