:root{--ink:#0f1b2d;--ink2:#22324a;--paper:#f5f2ea;--card:#fffdf8;--line:#ddd6c6;--acc:#e8590c;--mut:#5c6675;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:400 17px/1.65 "IBM Plex Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper)}
a{color:var(--acc)}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:700;line-height:1.15;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5vw,3.9rem)}h2{font-size:clamp(1.7rem,3vw,2.4rem)}h3{font-size:1.25rem}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.eyebrow{font:500 .78rem "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin:0 0 .8em}.eyebrow a{color:inherit}
.top{position:sticky;top:0;z-index:9;background:rgba(245,242,234,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:28px;height:68px}.bar nav{display:flex;gap:22px;margin-left:auto}.bar nav a{color:var(--ink);text-decoration:none;font-weight:500}.bar nav a[aria-current],.bar nav a:hover{color:var(--acc)}
.brand{display:flex;align-items:center;gap:10px;font:700 1.25rem Fraunces,serif;color:var(--ink);text-decoration:none}
.mark{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--ink);color:var(--paper);font-size:1rem;box-shadow:3px 3px 0 var(--acc)}
.btn{display:inline-block;background:var(--acc);color:#fff;padding:13px 24px;border-radius:999px;text-decoration:none;font-weight:600;border:2px solid var(--acc);transition:.15s}.btn:hover{background:var(--ink);border-color:var(--ink)}
.btn-sm{padding:8px 16px;font-size:.9rem}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-ghost:hover{color:#fff}
.btn-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn-light:hover{background:var(--acc);border-color:var(--acc);color:#fff}
.hero{padding:96px 0 72px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 85% 20%,rgba(232,89,12,.10),transparent 40%)}.hero.sm{padding:72px 0 48px}
.lead{font-size:1.2rem;color:var(--ink2);max-width:760px}.lead-sm{color:var(--ink2);margin-top:24px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.facts{list-style:none;padding:0;margin:56px 0 0;display:flex;gap:48px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px}.facts b{display:block;font:700 2.2rem Fraunces,serif}.facts span{color:var(--mut);font-size:.9rem}
.sec{padding:80px 0}.sec.alt{background:var(--ink);color:var(--paper)}.sec.alt .card{background:var(--ink2);border-color:#34465f;color:var(--paper)}.sec.alt .card p,.sec.alt .head p{color:#c6cdd8}.sec.alt h2,.sec.alt h3{color:var(--paper)}
.head{max-width:720px;margin-bottom:40px}.head p{color:var(--mut)}
.cards{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column}.card p{color:var(--mut);margin:0 0 16px;flex:1}
.svc-card{text-decoration:none;color:var(--ink);transition:.15s}.svc-card:hover{transform:translateY(-3px);box-shadow:6px 6px 0 var(--ink);border-color:var(--ink)}
.num{font:500 .8rem "IBM Plex Mono",monospace;color:var(--acc);margin-bottom:14px}.more{font-weight:600;color:var(--acc)}
.tag{font:500 .72rem "IBM Plex Mono",monospace!important;text-transform:uppercase;letter-spacing:.1em;color:var(--acc)!important;flex:0!important;margin-bottom:8px!important}
.links{display:flex;gap:16px;flex-wrap:wrap}.links a{font-weight:600;text-decoration:none}.links a::after{content:" \2197"}
.center{text-align:center;margin-top:36px}.sec.alt .btn-ghost{color:var(--paper);border-color:var(--paper)}
.group{display:grid;grid-template-columns:1fr 1fr;gap:20px}.entity{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--acc);border-radius:var(--r);padding:28px}.entity p{color:var(--ink2)}.cin{font:500 .8rem "IBM Plex Mono",monospace;color:var(--mut)!important;margin:0}
.two{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.ticks{list-style:none;padding:0}.ticks li{padding:8px 0 8px 30px;position:relative;border-bottom:1px dashed var(--line)}.ticks li::before{content:"";position:absolute;left:4px;top:17px;width:12px;height:6px;border-left:2px solid var(--acc);border-bottom:2px solid var(--acc);transform:rotate(-45deg)}
.sec.alt .ticks li{border-color:#34465f}
.proof{background:var(--card);border:2px solid var(--ink);border-radius:var(--r);padding:28px;box-shadow:6px 6px 0 var(--acc)}
.chips{display:flex;flex-wrap:wrap;gap:10px}.chips a{border:1px solid currentColor;border-radius:999px;padding:8px 16px;text-decoration:none;color:inherit}.chips a:hover{background:var(--acc);border-color:var(--acc);color:#fff}.chips.col{flex-direction:column;align-items:flex-start}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:s}.steps li{counter-increment:s;border-top:3px solid var(--acc);padding-top:14px;color:#c6cdd8}.steps li::before{content:"0" counter(s);font:500 .8rem "IBM Plex Mono",monospace;color:var(--acc);display:block}.steps b{display:block;color:var(--paper);font-family:Fraunces,serif;font-size:1.15rem}
.muted{color:var(--mut)}
.cta{background:var(--acc);color:#fff;padding:72px 0;text-align:center}.cta h2{color:#fff}.cta p{font-size:1.15rem;margin:0 0 24px}
.foot{background:#0a1322;color:#aab3c0;padding:64px 0 28px;font-size:.93rem}.foot .brand{color:#fff}.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}.foot h4{color:#fff;font:500 .78rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.12em}.foot a{display:block;color:#aab3c0;text-decoration:none;padding:3px 0}.foot a:hover{color:var(--acc)}
.legal{border-top:1px solid #22324a;margin-top:40px;padding-top:20px;font:500 .78rem "IBM Plex Mono",monospace}.legal p{margin:4px 0}
@media(max-width:860px){.bar nav{display:none}.group,.two,.three,.fgrid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.hero{padding:64px 0 48px}}
.logos{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-bottom:40px}.logos img{height:64px;width:auto;max-width:170px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;filter:grayscale(1);opacity:.85;transition:.2s}.logos img:hover{filter:none;opacity:1}
.quote{margin:0}.quote blockquote{margin:0 0 18px;font-family:Fraunces,serif;font-size:1.02rem;line-height:1.55;flex:1}.quote figcaption b{display:block}.quote figcaption span{color:var(--mut);font-size:.9rem}
.sub{margin:48px 0 20px}
.blogo{width:44px;height:44px;border-radius:10px;margin-bottom:12px;object-fit:contain}
.mark-img{width:32px;height:32px;display:block}
.blogo{height:44px;width:auto;max-width:180px;object-fit:contain;margin-bottom:12px;align-self:flex-start}
.pico{width:40px;height:40px;border-radius:10px;margin-bottom:12px;object-fit:contain}
.blogo[src$="1gamez.png"],.blogo[src$="lsitmedia.png"]{background:#fff;padding:4px 8px;border-radius:8px}
.bar{height:80px}.logo-tm{height:56px;width:auto;display:block;background:none;padding:0;border-radius:0;box-shadow:none;image-rendering:auto}
.foot .logo-tm{height:80px;padding:4px 8px;background:#fff;border-radius:8px}
.blogo[src$="launchship-studios.png"]{background:#fff;padding:4px 8px;border-radius:8px}
/* enquiry form */
.enq[hidden],.enq-done[hidden]{display:none!important}
.enq-modal{border:0;padding:0;background:transparent;max-width:640px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
.enq-modal::backdrop{background:rgba(15,27,45,.55);backdrop-filter:blur(3px)}
.enq-box{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:0 20px 60px rgba(15,27,45,.25)}
.enq-box h2{font-size:1.6rem;margin-bottom:.8em}
.enq-x{position:absolute;top:10px;right:12px;width:40px;height:40px;border:0;background:none;font-size:1.8rem;line-height:1;color:var(--mut);cursor:pointer;border-radius:50%}.enq-x:hover{background:var(--paper);color:var(--ink)}
.enq-page{max-width:720px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.enq{display:grid;gap:14px}.enq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.enq label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.9rem;color:var(--ink2)}.enq label em{color:var(--acc);font-style:normal}
.enq input,.enq select,.enq textarea{font:400 16px/1.4 "IBM Plex Sans",system-ui,sans-serif;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%}
.enq textarea{resize:vertical;min-height:110px}
.enq input:focus,.enq select:focus,.enq textarea:focus{outline:2px solid var(--acc);outline-offset:1px;border-color:var(--acc)}
.enq .bad{border-color:#c92a2a}.enq .err{color:#c92a2a;font-weight:500;min-height:0}.enq .err:empty{display:none}
.enq .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.enq button{justify-self:start;cursor:pointer;font:inherit;font-weight:600}.enq button:disabled{opacity:.6;cursor:wait}
.enq-msg{margin:0}.enq-msg:empty{display:none}.enq-msg.error{color:#c92a2a;background:#fff0f0;border:1px solid #f3c4c4;border-radius:10px;padding:10px 12px}
.enq-done{text-align:center;padding:24px 8px}.enq-done h3{font-size:1.5rem;color:var(--ink)}.enq-done h3:before{content:"\2713";display:grid;place-items:center;width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--acc);color:#fff;font:700 1.6rem system-ui}
@media(max-width:600px){.enq-grid{grid-template-columns:1fr}.enq-box,.enq-page{padding:22px 18px}.enq button{width:100%}.enq-modal{max-height:calc(100dvh - 16px);width:calc(100% - 16px)}}
.alt-mail,.cta .alt-mail{margin:.75rem 0 0;font-size:.85rem;opacity:.75}
.alt-mail a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.alt-mail.on-dark{color:inherit}
