@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--ink:#101b30;--blue:#2652eb;--soft:#f1f4fa;--muted:#536077;--line:#d8dfeb;--lime:#d5ff60;--paper:#fff;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}img{max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}h1,h2,h3,.brand,.footer-brand{font-family:'Space Grotesk',Arial,sans-serif;letter-spacing:-.045em}h1,h2,h3,p,figure{margin:0}h1{font-size:clamp(2.7rem,5.3vw,4.8rem);line-height:1.02;font-weight:600}h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.1;font-weight:600}h3{font-size:1.5rem;line-height:1.2;font-weight:600}p{line-height:1.65}p+p{margin-top:18px}.wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;min-height:105px;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;gap:13px;align-items:center;font-size:1.32rem;line-height:1.04;font-weight:700;text-decoration:none;letter-spacing:-.05em}.brand img{object-fit:contain;flex-shrink:0}.brand-dot{color:var(--blue)}nav{display:flex;gap:34px;font-size:.94rem;font-weight:600}nav a{text-decoration:none}nav a:hover{color:var(--blue)}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;align-items:end;padding-block:45px 36px}.eyebrow{font-size:.78rem;letter-spacing:.12em;font-weight:700;margin-bottom:14px}.intro h1 span{color:var(--blue)}.intro-side{max-width:380px;justify-self:end;padding-bottom:4px}.intro-side>p:first-child{font-size:1.25rem;line-height:1.4}.muted{color:var(--muted);font-size:1rem}.inline-link{display:inline-block;margin-top:18px;font-weight:600;text-decoration:none}.inline-link:hover{text-decoration:underline}.section-line{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.section-line h2{font-size:1.45rem;letter-spacing:-.035em}.section-line>span{font-size:.75rem;letter-spacing:.08em;font-weight:600;color:var(--muted)}.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.app-card{background:var(--soft);border:1px solid #e3e8f0;padding:26px;display:flex;flex-direction:column;border-radius:15px;transition:transform .18s,border-color .18s}.app-card:hover{transform:translateY(-3px);border-color:#a8baf8}.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.card-top img{border-radius:15px;object-fit:contain;width:68px;height:68px}.category{font-size:.68rem;letter-spacing:.08em;font-weight:700;text-align:right;line-height:1.5;color:var(--muted)}.app-card h3{margin-bottom:10px}.app-card h3 a{text-decoration:none}.app-card>p{color:var(--muted);font-size:1rem;line-height:1.55;max-width:32ch;flex:1}.card-actions{margin-top:24px;display:flex;flex-direction:column;gap:15px;align-items:flex-start}.button{display:inline-flex;gap:22px;justify-content:space-between;align-items:center;padding:13px 17px;border-radius:7px;background:var(--ink);color:white;text-decoration:none;font-size:.9rem;font-weight:600;line-height:1.3}.button:hover{background:var(--blue)}.detail{font-size:.87rem;font-weight:600;text-decoration:none}.detail:hover{color:var(--blue)}.catalog{padding-bottom:60px}.preview-strip{display:grid;grid-template-columns:1.25fr .6fr .6fr 1.4fr;gap:25px;align-items:center;padding-block:35px 70px}.preview-strip h2{margin-bottom:20px}.preview-strip p:not(.eyebrow){color:var(--muted)}.phone img{max-height:300px;width:auto;border-radius:13px;border:6px solid var(--ink);display:block;margin:auto}.game img{border:6px solid var(--ink);border-radius:13px;display:block}figcaption{font-size:.79rem;color:var(--muted);margin-top:12px;text-align:center}.upcoming{background:var(--ink);color:white;padding-block:50px}.upcoming .section-line>span{color:var(--lime)}.upcoming-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:30px}.upcoming article{display:flex;gap:22px;border-top:1px solid #394355;padding-top:26px}.project-num{font-size:.8rem;color:var(--lime);padding-top:5px}.upcoming h3{margin-bottom:12px}.upcoming p{color:#b7c3d8;font-size:.98rem;max-width:45ch}.story{display:grid;grid-template-columns:1fr 1.25fr;gap:90px;padding-block:85px;align-items:center}.story h2{font-size:clamp(2.2rem,4vw,3.6rem);margin-bottom:25px}.story p:not(.eyebrow):not(.large){color:var(--muted)}.large{font-size:1.3rem;line-height:1.5;margin-bottom:18px}.legacy{text-align:center;background:#f6f7fa;border-radius:18px;padding:25px}.legacy img{max-width:340px;display:block;margin:auto}.legacy p{font-size:.66rem;letter-spacing:.12em;font-weight:600;margin-top:12px}.contact{background:var(--blue);color:white;padding-block:60px}.contact>.wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:50px}.contact h2{font-size:clamp(2rem,3.6vw,3.3rem)}.contact-links{display:flex;flex-direction:column;gap:22px}.contact-links a{font-size:1.03rem;text-decoration:none;overflow-wrap:anywhere}.contact-links small{display:block;font-size:.68rem;letter-spacing:.1em;margin-bottom:4px;color:#d5dfff}.contact-links a:hover{text-decoration:underline}footer{padding-block:30px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}.footer-brand{font-size:1.15rem;font-weight:700;text-decoration:none}footer p,footer>div{font-size:.78rem;color:var(--muted)}footer>div{display:flex;gap:20px;flex-wrap:wrap}.skip{position:absolute;top:-100px;left:10px;background:var(--ink);color:white;padding:15px;z-index:10}.skip:focus{top:10px}.product{padding-block:35px 65px}.breadcrumb{font-size:.9rem;text-decoration:none}.product-hero{max-width:880px;padding-block:40px}.product-icon{float:right;margin:0 0 20px 30px;border-radius:25px}.product-hero h1{font-size:clamp(2.5rem,5vw,4.2rem);margin-bottom:20px}.product-hero>p:not(.eyebrow){max-width:650px}.product-hero .button{margin-top:20px}.product-body{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;border-top:1px solid var(--line);padding-top:40px}.product-body h2{font-size:1.6rem;margin-bottom:16px}.product-body p+h2{margin-top:32px}.product-shot{text-align:center}.product-shot img{max-height:510px;width:auto;max-width:100%;border:7px solid var(--ink);border-radius:18px}.policy-main{max-width:900px;padding-block:55px 80px;min-height:60vh}.policy-main h1{font-size:clamp(2.2rem,4vw,3.4rem);margin-bottom:25px}.policy-main h2{font-size:1.5rem;margin-block:32px 14px}.policy-main p,.policy-main li{line-height:1.75}.policy-main li+li{margin-top:8px}.policy-main ul{padding-left:24px}.policy-main address{font-style:normal;line-height:1.8}.policy-effective{color:var(--muted);margin-bottom:25px}.policy-summary{padding:22px;background:var(--soft);border-left:4px solid var(--blue);margin-block:28px}.policy-summary p{margin-top:8px}.policy-list{list-style:none;padding:0!important}.policy-list li{border-bottom:1px solid var(--line);padding:17px 0}.policy-list a{text-decoration:none}.policy-list a:hover{color:var(--blue)}
@media(min-width:1500px){.intro{padding-block:55px 45px}}@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.app-grid{grid-template-columns:repeat(2,1fr)}.preview-strip{grid-template-columns:1fr .65fr .65fr}.preview-strip .game{display:none}.story{gap:40px}.contact>.wrap{grid-template-columns:1fr 1fr}.button{gap:12px}.category{font-size:.65rem}.intro-side{max-width:320px}}@media(max-width:650px){.wrap{width:calc(100% - 36px)}.header{min-height:85px;gap:12px}.brand{font-size:1rem;gap:8px}.brand img{width:37px;height:37px}nav{gap:14px;font-size:.8rem}nav a:nth-child(2){display:none}.intro{display:block;padding-block:27px 26px}.intro .eyebrow{font-size:.67rem;margin-bottom:12px}.intro h1{font-size:2.8rem}.intro-side{margin-top:15px;max-width:none}.intro-side>p:first-child{font-size:1rem}.intro-side>p:first-child br{display:none}.intro-side .muted,.intro-side .inline-link{display:none}.section-line{gap:12px;align-items:flex-start}.section-line h2{font-size:1.15rem}.section-line>span{font-size:.61rem;max-width:105px;text-align:right;line-height:1.5}.app-grid{grid-template-columns:1fr;gap:14px}.app-card{padding:23px}.card-top{margin-bottom:16px}.app-card h3{font-size:1.5rem}.app-card>p{max-width:none}.card-actions{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.detail{font-size:.8rem}.button{font-size:.82rem;gap:10px}.preview-strip{grid-template-columns:1fr 1fr;gap:20px;padding-top:0;padding-bottom:40px}.preview-strip>div{grid-column:1/-1}.phone img{max-height:290px}.upcoming{padding-block:36px}.upcoming-grid{grid-template-columns:1fr;gap:25px}.upcoming h3{font-size:1.35rem}.story{grid-template-columns:1fr;gap:30px;padding-block:45px}.story>div:last-child{grid-row:1}.legacy{padding:15px}.legacy img{max-width:240px}.contact>.wrap{grid-template-columns:1fr;gap:28px}.contact{padding-block:40px}footer{padding-block:26px;flex-direction:column;align-items:flex-start;gap:13px}.product-icon{width:75px;height:75px;margin-left:15px}.product-hero{padding-top:28px}.product-body{grid-template-columns:1fr;gap:30px}.policy-main{padding-block:35px 50px}.policy-main h1{overflow-wrap:anywhere}.large{font-size:1.15rem}.contact-links a{font-size:.95rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.app-card{transition:none}.app-card:hover{transform:none}}

/* Readable labels and usable targets on narrow screens. */
.category,.eyebrow,.section-line>span,.project-num,.legacy p,.contact-links small,figcaption,footer p,footer>div{font-size:.875rem}.button,.detail,nav a{min-height:44px;display:inline-flex;align-items:center}.card-actions{flex-wrap:wrap}.app-card,.product-body>*{min-width:0}.policy-main,.product-hero{overflow-wrap:anywhere}@media(max-width:650px){.intro .eyebrow,.section-line>span,.category{font-size:.875rem}.intro h1{font-size:clamp(2.15rem,11vw,2.8rem)}.intro-side>p:first-child br{display:inline}.card-actions{align-items:flex-start;justify-content:flex-start}.detail{font-size:.875rem}.section-line>span{max-width:140px}.brand{letter-spacing:-.04em}nav{font-size:.875rem}}
