.gpx{--navy:#202549;--navy-deep:#14173a;--navy-ink:#0c0e26;--panel:#272c58;--line:rgba(150,170,230,.18);--cyan:#03b4ce;--cyan-hi:#5fe3f5;--amber:#ffc82b;--red:#e8303a;--text:#f4f6ff;--muted:#aeb6d8;--paper:#eef1f8;--paper-ink:#1c3867;--f-display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;--f-body:"Barlow","Segoe UI",system-ui,sans-serif;--f-data:"IBM Plex Mono",ui-monospace,Menlo,monospace;--ease:cubic-bezier(.2,.9,.2,1);color-scheme:dark;background:var(--navy-ink);color:var(--text);font:400 17px/1.6 var(--f-body);overflow-x:clip;}.gpx *,.gpx *::before,.gpx *::after{box-sizing:border-box}.gpx a{color:inherit}.gpx img{max-width:100%;display:block}.gpx .wrap{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.gpx h1,.gpx h2,.gpx h3{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.01em;line-height:.98;text-wrap:balance;margin:0}.gpx h2{font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;font-style:italic}.gpx h3{font-size:1.35rem;font-weight:700}.gpx p{margin:0}.gpx :focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:4px}.gpx .cheq{height:14px;background: conic-gradient(var(--text) 25%,transparent 0 50%,var(--text) 0 75%,transparent 0) 0 0/14px 14px;opacity:.9}.gpx .btn{position:relative;display:inline-flex;align-items:center;gap:.6em;padding:.9em 1.5em;font:800 1.05rem/1 var(--f-display);font-style:italic;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid var(--amber);color:var(--navy-ink);background:var(--amber);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);overflow:hidden;isolation:isolate;transition:color .3s var(--ease)}.gpx .btn::before{content:"";position:absolute;inset:0;background:var(--text);transform:translateX(-102%) skewX(-18deg);transform-origin:left;transition:transform .45s var(--ease);z-index:-1}.gpx .btn:hover::before,.gpx .btn:focus-visible::before{transform:translateX(0) skewX(0)}.gpx .btn .arr{transition:transform .3s var(--ease)}.gpx .btn:hover .arr{transform:translateX(5px)}.gpx .hero{position:relative;background: radial-gradient(900px 500px at 85% 20%,rgba(3,180,206,.18),transparent 60%),linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 70%);overflow:hidden}.gpx .hero::after{content:"";position:absolute;inset:auto -10% 0 -10%;height:42%;background:repeating-linear-gradient(-62deg,transparent 0 46px,rgba(255,255,255,.025) 46px 48px);pointer-events:none}.gpx .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:5fr 7fr;gap:clamp(24px,4vw,56px);align-items:center;padding-block:clamp(40px,7vw,88px) clamp(40px,6vw,72px)}.gpx .hero-copy{min-width:0;display:grid;gap:22px}.gpx .hero h1{font-size:clamp(2.6rem,5.6vw,4.6rem);font-weight:800;font-style:italic}.gpx .hero h1 .hl{color:var(--cyan);display:block}.gpx .hero-copy p{color:var(--muted);font-size:1.08rem;max-width:58ch}.gpx .hero-copy p a{color:var(--cyan-hi);text-underline-offset:3px}.gpx .hero-actions{display:flex;flex-wrap:wrap;gap:12px}.gpx .hero-shot{position:relative;min-width:0}.gpx .hero-shot .frame{position:relative;aspect-ratio:16/9;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%);overflow:hidden;background:var(--panel)}.gpx .hero-shot img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease)}.gpx .hero-shot:hover img{transform:scale(1.1)}.gpx .hero-shot .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(32,37,73,.55),transparent 45%,transparent 70%,rgba(3,180,206,.25))}.gpx .speed{position:absolute;inset:0;pointer-events:none;overflow:hidden;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}.gpx .speed i{position:absolute;left:-40%;height:2px;width:40%;background:linear-gradient(90deg,transparent,var(--cyan-hi));animation:streak 2.8s var(--ease) infinite;opacity:.8}.gpx .speed i:nth-child(1){top:22%;animation-delay:.2s}.gpx .speed i:nth-child(2){top:48%;animation-delay:1.1s;width:55%}.gpx .speed i:nth-child(3){top:71%;animation-delay:1.9s}@keyframes streak{0%{transform:translateX(0)}60%,100%{transform:translateX(360%)}}.gpx .hero .cheq{position:relative;z-index:1}@keyframes slideIn{from{opacity:.001;transform:translateX(-28px) skewX(-6deg)}to{opacity:1;transform:none}}@keyframes rise{from{opacity:.001;transform:translateY(16px)}to{opacity:1;transform:none}}.gpx .hero h1{animation:slideIn .8s var(--ease) both}.gpx .hero-copy p{animation:rise .8s .15s var(--ease) both}.gpx .hero-actions{animation:rise .8s .25s var(--ease) both}.gpx .hero-shot{animation:slideIn .9s .1s var(--ease) both}.gpx .tower{background:var(--navy-ink);border-block:1px solid var(--line)}.gpx .tower ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}.gpx .tower li{display:flex;align-items:center;gap:14px;padding:22px 18px;border-left:1px solid var(--line);position:relative;transition:background .3s var(--ease)}.gpx .tower li:last-child{border-right:1px solid var(--line)}.gpx .tower li::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.gpx .tower li:hover{background:rgba(3,180,206,.07)}.gpx .tower li:hover::after{transform:scaleX(1)}.gpx .tower svg{flex:none;width:42px;height:42px;color:var(--cyan)}.gpx .tower .num{display:block;font:800 2rem/1 var(--f-display);font-style:italic;font-variant-numeric:tabular-nums}.gpx .tower .lbl{display:block;font:600 .74rem/1.2 var(--f-data);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}@media (max-width:900px){.gpx .hero-grid{grid-template-columns:1fr}.gpx .tower ul{grid-template-columns:repeat(2,1fr)}.gpx .tower li:nth-child(2){border-right:1px solid var(--line)}.gpx .tower li:nth-child(n+3){border-top:1px solid var(--line)}}@media (max-width:560px){.gpx .tower li{padding:16px 12px;gap:10px}.gpx .tower svg{width:32px;height:32px}.gpx .tower .num{font-size:1.6rem}}@media (prefers-reduced-motion:reduce){.gpx *,.gpx *::before,.gpx *::after{animation:none!important;transition:none!important}.gpx .speed{display:none}}.section-preview:has(.gpx){margin:0!important;padding:0!important;border-radius:0!important;max-width:none!important;background:transparent!important;border:0!important;box-shadow:none!important}.section-preview:has(.gpx) .grid-preview,.section-preview:has(.gpx) .stack{gap:0!important}.faq-section{background:#202549!important;color:#f4f6ff;border:0!important;border-radius:0!important;box-shadow:0 0 0 100vmax #202549!important;clip-path:inset(0 -100vmax);margin:0 auto!important;padding:clamp(48px,7vw,88px) max(16px,env(safe-area-inset-right,0px)) clamp(48px,7vw,88px) max(16px,env(safe-area-inset-left,0px))!important;font:400 17px/1.6 "Barlow","Segoe UI",system-ui,sans-serif}.faq-section header{margin:0 0 26px!important}.faq-section header h2{text-transform:uppercase}.faq-section details,.faq-section details.faq-item,.faq-section details.faq-item[open]{background:#14173a!important;border:1px solid rgba(150,170,230,.18)!important;border-left:4px solid #03b4ce!important;border-radius:0!important;padding:0!important;margin:0 0 10px!important;max-width:900px;transition:border-color .3s}.faq-section details:hover{border-color:#03b4ce!important}.faq-section summary{padding:16px 18px;text-transform:uppercase;list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary::after{content:"+"!important;flex:none;width:30px;height:30px;display:grid;place-items:center;font:600 1.1rem/1 "IBM Plex Mono",monospace;color:#0c0e26;background:#ffc82b;transition:transform .3s}.faq-section details[open] summary::after{content:"\2212"!important;transform:rotate(180deg)}.faq-section details>div,.faq-section .faq-answer{padding:0 18px 18px!important;margin:0!important;max-width:75ch}.faq-section details>div a,.faq-section .faq-answer a{color:#5fe3f5}.gpx .feat{padding-block:clamp(56px,7vw,96px);position:relative;overflow:hidden}.gpx .feat.alt{background:var(--navy-deep)}.gpx .feat.navy{background:var(--navy)}.gpx .feat::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(var(--cyan),transparent)}.gpx .feat-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,72px);align-items:center}.gpx .feat .copy{display:grid;gap:18px;min-width:0}.gpx .feat .copy p{max-width:62ch}.gpx p a,.gpx li a{text-underline-offset:3px;font-weight:600}.gpx .feat.solo .feat-grid{grid-template-columns:minmax(0,1fr)}.gpx .feat.solo .copy{max-width:860px}.gpx .ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}.gpx .ticks li{position:relative;padding:12px 14px 12px 46px;background:rgba(255,255,255,.04);border:1px solid var(--line);transition:transform .3s var(--ease),border-color .3s,background .3s}.gpx .ticks li::before{content:"";position:absolute;left:14px;top:50%;width:18px;height:12px;transform:translateY(-50%);background:var(--amber);clip-path:polygon(0 0,55% 0,100% 50%,55% 100%,0 100%,45% 50%)}.gpx .ticks li:hover{transform:translateX(6px);border-color:var(--cyan);background:rgba(3,180,206,.08)}.gpx .related{background:var(--navy-ink);padding-block:clamp(48px,6vw,80px)}.gpx .related h2{margin-bottom:24px}.gpx .rel-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:10px}.gpx .rel-grid a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--line);background:var(--navy-deep);text-decoration:none;font-weight:600;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);transition:background .3s,color .3s,transform .3s var(--ease);color:#fff!important}.gpx .rel-grid a::after{content:"\2192";color:var(--cyan);transition:transform .3s var(--ease)}.gpx .rel-grid a:hover,.gpx .rel-grid a:focus-visible{background:var(--cyan);color:var(--navy-ink)!important;transform:translateY(-3px)}.gpx .rel-grid a:hover::after{color:var(--navy-ink);transform:translateX(4px)}.gpx .contact-solo{background:var(--navy-ink);padding-block:0 clamp(40px,6vw,72px)}.gpx .contact-solo img{margin:0 auto;transition:transform .5s var(--ease)}.gpx .contact-solo img:hover{transform:translateY(-4px) scale(1.01)}@media (max-width:900px){.gpx .feat-grid{grid-template-columns:1fr}}.gpx h1,.gpx h2,.gpx h3,.gpx h1 span,.gpx h2 span,.gpx .btn,.gpx .tower .num,.faq-section header h2,.faq-section summary{font-family:"Good Times","GoodTimes","Good Times Rg","goodtimes","Barlow Condensed",sans-serif!important;font-style:normal!important;letter-spacing:.02em}.gpx .hero h1{font-size:clamp(1.9rem,3.6vw,3.1rem)!important;line-height:1.08!important;font-weight:400!important}.gpx .hero h1 .hl{display:block;font-size:inherit!important;line-height:inherit!important}.gpx h2{font-size:clamp(1.45rem,2.7vw,2.25rem)!important;line-height:1.12!important;font-weight:400!important}.gpx h3{font-size:1.05rem!important;line-height:1.2!important;font-weight:400!important}.gpx .tower .num{font-size:1.6rem!important;font-weight:400!important}.gpx .btn{font-size:.9rem!important;font-weight:400!important}.faq-section summary{font-size:1rem!important;line-height:1.3!important;font-weight:400!important}.faq-section header h2{font-size:clamp(1.45rem,2.7vw,2.25rem)!important;font-weight:400!important}.gpx h1,.gpx h2,.gpx h3,.gpx p,.gpx li,.gpx li span,.gpx strong,.gpx .tower .num,.gpx .tower .lbl,.gpx .hero-copy p{color:#ffffff!important}.gpx .hero h1 .hl,.gpx .feat h2{color:#03b4ce!important}.gpx p a,.gpx li a,.gpx .hero-copy p a{color:#5fe3f5!important}.gpx p a:hover,.gpx li a:hover{color:#ffc82b!important}.gpx .btn{color:#0c0e26!important}.faq-section header h2,.faq-section summary{color:#ffffff!important}.faq-section details>div,.faq-section .faq-answer{color:#ffffff!important}.gpx .duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px)}.gpx .duo>div{display:grid;gap:18px;align-content:start;min-width:0}.gpx .feat h3{color:#ffc82b!important}.gpx .chips{display:flex;flex-wrap:wrap;gap:10px}.gpx .chip{font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;color:#fff!important;padding:12px 18px;border:1px solid var(--line);background:var(--navy-deep);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);transition:background .25s,color .25s,transform .3s var(--ease)}.gpx .chip:hover,.gpx .chip:focus-visible{background:var(--cyan);color:var(--navy-ink)!important;transform:translateY(-3px)}.gpx .sys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gpx .card{position:relative;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);transition:transform .35s var(--ease),border-color .35s,box-shadow .35s;min-width:0}.gpx .card:hover{transform:translateY(-6px);border-color:var(--cyan);box-shadow:0 22px 40px rgba(0,0,0,.45),0 0 0 1px var(--cyan)}.gpx .card .media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--navy-deep)}.gpx .card .media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s var(--ease)}.gpx .card .media::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(3,180,206,.35) 50%,transparent 65%);transform:translateX(-120%);transition:transform .8s var(--ease)}.gpx .card:hover .media img{transform:scale(1.08);filter:saturate(1.15)}.gpx .card:hover .media::after{transform:translateX(120%)}.gpx .card .tier{position:absolute;top:12px;left:12px;z-index:2;background:#ffc82b;color:#0c0e26!important;font:600 .72rem/1 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase;padding:7px 10px;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}.gpx .card .body{display:grid;gap:14px;padding:20px;flex:1;align-content:start}.gpx .card h3 a{color:#fff!important;text-decoration:none}.gpx .card h3 a:hover{color:#03b4ce!important}.gpx .card .btn{justify-self:start;margin-top:auto}.gpx .card .ticks li{padding:10px 12px 10px 40px;font-size:.95rem}.gpx .card .ticks li::before{left:12px}.gpx .triad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--line);margin-top:26px}.gpx .triad>div{background:var(--navy-deep);padding:26px 22px 28px;display:grid;gap:12px;align-content:start;transition:background .3s;position:relative}.gpx .triad>div::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.gpx .triad>div:hover{background:#1f2452}.gpx .triad>div:hover::after{transform:scaleX(1)}.gpx .tblhead{padding-block:clamp(56px,7vw,96px) 20px;background:var(--navy-deep)}.section-preview:has(.gpx-tbl)+.section-preview{background:#14173a!important;box-shadow:0 0 0 100vmax #14173a!important;clip-path:inset(0 -100vmax);border-radius:0!important;margin:0 auto!important;padding:0 max(16px,env(safe-area-inset-right,0px)) clamp(56px,7vw,96px) max(16px,env(safe-area-inset-left,0px))!important;font-family:"Barlow","Segoe UI",system-ui,sans-serif}.section-preview:has(.gpx-tbl)+.section-preview .table-widget{overflow-x:auto;border:1px solid rgba(150,170,230,.25)}.section-preview:has(.gpx-tbl)+.section-preview table{width:100%;min-width:720px;border-collapse:collapse;background:#202549!important;color:#fff!important;margin:0!important}.section-preview:has(.gpx-tbl)+.section-preview caption{caption-side:top;text-align:left;background:#03b4ce;color:#0c0e26!important;font:600 .76rem/1 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase;padding:12px 16px}.section-preview:has(.gpx-tbl)+.section-preview th,.section-preview:has(.gpx-tbl)+.section-preview td{padding:14px 16px!important;border-top:1px solid rgba(150,170,230,.18)!important;border-left:0!important;border-right:0!important;vertical-align:top;text-align:left;color:#fff!important;background:transparent!important}.section-preview:has(.gpx-tbl)+.section-preview tr:first-child th{background:#0c0e26!important;font-family:"Good Times","GoodTimes","Barlow Condensed",sans-serif;text-transform:uppercase;font-size:.95rem;letter-spacing:.03em;border-bottom:2px solid #03b4ce!important}.section-preview:has(.gpx-tbl)+.section-preview tr:first-child th a{color:#5fe3f5!important;text-decoration:none}.section-preview:has(.gpx-tbl)+.section-preview tr:first-child th a:hover{color:#ffc82b!important}.section-preview:has(.gpx-tbl)+.section-preview tr:not(:first-child) th{color:#ffc82b!important;font:600 .78rem/1.3 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.section-preview:has(.gpx-tbl)+.section-preview tr:not(:first-child):hover td{background:rgba(3,180,206,.08)!important}@media (max-width:900px){.gpx .duo,.gpx .sys,.gpx .triad{grid-template-columns:1fr}}