/* ── Our Apps pages (apx-*) — themed per app via CSS vars set inline ── */
.apx{background:var(--a-bg);color:var(--a-ink);font-family:var(--font-body,'Plus Jakarta Sans',system-ui,sans-serif)}
.apx h1,.apx h2,.apx h3{color:var(--a-ink);letter-spacing:-.025em}
.apx p{color:var(--a-muted)}
.apx a{color:inherit}
.apx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.apx-crumbs{display:flex;gap:.5rem;align-items:center;font-size:.8rem;padding-top:1.25rem;color:var(--a-muted)}
.apx-crumbs a{color:var(--a-muted);text-decoration:none}.apx-crumbs a:hover{color:var(--a-accent)}
.apx-eyebrow{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--a-accent);margin-bottom:.9rem}
.apx-light .apx-eyebrow{color:color-mix(in srgb,var(--a-accent) 70%,#000)}
.apx-h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.04;font-weight:800;margin:0 0 1.25rem}
.apx-h1 em{font-style:normal;color:var(--a-accent);display:block}
.apx-light .apx-h1 em{color:color-mix(in srgb,var(--a-accent) 82%,#000)}
.apx-h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.12;font-weight:800;margin:0 0 1rem}
.apx-h2.center{text-align:center}
.apx-h3{font-size:1.25rem;font-weight:700;margin:0 0 1.25rem}
.apx-lead{font-size:1.12rem;line-height:1.7;max-width:36rem}
.apx-intro{font-size:1.05rem;line-height:1.7;max-width:46rem;margin-bottom:2.25rem}
.apx-sec{padding:5.5rem 0}
.apx-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.95rem 1.6rem;border-radius:12px;font-weight:700;font-size:.95rem;text-decoration:none;border:1.5px solid transparent;transition:transform .15s,box-shadow .15s;cursor:pointer}
.apx-btn:hover{transform:translateY(-1px)}
.apx-btn-accent{background:var(--a-accent);color:var(--a-accent-ink)!important;box-shadow:0 10px 30px color-mix(in srgb,var(--a-accent) 30%,transparent)}
.apx-btn-ghost{border-color:var(--a-line);color:var(--a-ink)!important;background:transparent}
.apx-btn-ghost:hover{border-color:var(--a-accent)}
/* hero */
.apx-hero{padding:3rem 0 5rem;position:relative;overflow:hidden;background:radial-gradient(1000px 500px at 85% 10%,color-mix(in srgb,var(--a-accent) 14%,transparent),transparent 60%),var(--a-bg)}
.apx-dark .apx-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--a-line) 1px,transparent 1px),linear-gradient(90deg,var(--a-line) 1px,transparent 1px);background-size:56px 56px;opacity:.25;mask-image:radial-gradient(ellipse at 70% 30%,#000 20%,transparent 70%);pointer-events:none}
.apx-hero-grid{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:3.5rem;align-items:center}
.apx-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}
.apx-logo{height:48px;width:48px;object-fit:contain;border-radius:10px}
.apx-logo-wide{width:auto;height:40px;border-radius:0}
.apx-brand-name{font-weight:800;font-size:1.15rem;color:var(--a-ink)}
.apx-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0 1.5rem}
.apx-chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.apx-chips li{font-size:.78rem;font-weight:600;padding:.4rem .75rem;border-radius:999px;border:1px solid var(--a-line);color:var(--a-muted);background:color-mix(in srgb,var(--a-surface) 70%,transparent)}
.apx-shot{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--a-line);background:var(--a-surface);box-shadow:0 30px 80px rgba(0,0,0,.28)}
.apx-light .apx-shot{box-shadow:0 30px 70px rgba(19,38,63,.14)}
.apx-shot img{display:block;width:100%;height:auto}
.apx-shot-phone{max-width:300px;margin:0 auto;border-radius:28px;border-width:6px;border-color:color-mix(in srgb,var(--a-ink) 12%,var(--a-surface))}
.apx-hero-visual{position:relative}
.apx-hero-visual:after{content:"";position:absolute;inset:-12% -8%;background:radial-gradient(closest-side,color-mix(in srgb,var(--a-accent) 22%,transparent),transparent);z-index:-1}
.apx-hero-visual .apx-shot{transform:perspective(1600px) rotateY(-6deg) rotateX(2deg);transition:transform .5s}
.apx-hero-visual .apx-shot:hover{transform:none}
/* what is */
.apx-what{background:var(--a-bg2);border-top:1px solid var(--a-line);border-bottom:1px solid var(--a-line);padding:4rem 0}
.apx-what-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:center}
.apx-answer{font-size:1.15rem;line-height:1.75;color:var(--a-ink)!important;opacity:.92}
.apx-facts{width:100%;border-collapse:collapse;background:var(--a-surface);border:1px solid var(--a-line);border-radius:14px;overflow:hidden}
.apx-facts th,.apx-facts td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--a-line);font-size:.9rem;vertical-align:top}
.apx-facts tr:last-child th,.apx-facts tr:last-child td{border-bottom:0}
.apx-facts th{color:var(--a-muted);font-weight:600;width:38%}
.apx-facts td{color:var(--a-ink);font-weight:600}
/* agents */
.apx-agent-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(4,1fr)}
.apx-agent-grid.n6{grid-template-columns:repeat(3,1fr)}
.apx-agent-grid.n3{grid-template-columns:repeat(3,1fr)}
.apx-agent{background:var(--a-surface);border:1px solid var(--a-line);border-radius:16px;padding:1.5rem;position:relative;transition:border-color .2s,transform .2s}
.apx-agent:hover{border-color:var(--a-accent);transform:translateY(-3px)}
.apx-agent-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.1rem}
.apx-agent-num{font-family:ui-monospace,Menlo,monospace;font-size:.75rem;color:var(--a-muted)}
.apx-pulse{width:10px;height:10px;border-radius:50%;background:var(--a-accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--a-accent) 60%,transparent);animation:apxPulse 2.2s infinite}
@keyframes apxPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--a-accent) 55%,transparent)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.apx-agent h3{font-size:1.12rem;margin:0 0 .2rem}
.apx-agent-role{font-size:.8rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--a-accent)!important;margin:0 0 .7rem}
.apx-light .apx-agent-role{color:color-mix(in srgb,var(--a-accent) 70%,#000)!important}
.apx-agent p{font-size:.93rem;line-height:1.6;margin:0}
/* features */
.apx-feature.alt{background:var(--a-bg2)}
.apx-feature-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:4rem;align-items:center}
.apx-feature-grid.rev .apx-feature-copy{order:2}
.apx-feature-copy p{font-size:1.05rem;line-height:1.75}
.apx-checks{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.7rem}
.apx-checks li{position:relative;padding-left:1.9rem;color:var(--a-ink);font-weight:500}
.apx-checks li:before{content:"";position:absolute;left:0;top:.2rem;width:1.15rem;height:1.15rem;border-radius:50%;background:color-mix(in srgb,var(--a-accent) 20%,transparent)}
.apx-checks li:after{content:"";position:absolute;left:.38rem;top:.42rem;width:.38rem;height:.62rem;border:solid var(--a-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}
.apx-light .apx-checks li:after{border-color:color-mix(in srgb,var(--a-accent) 70%,#000)}
/* steps */
.apx-steps{list-style:none;padding:0;margin:3rem 0 0;display:grid;gap:1rem;counter-reset:s;grid-template-columns:repeat(4,1fr)}
.apx-steps.n5{grid-template-columns:repeat(5,1fr)}
.apx-steps li{counter-increment:s;background:var(--a-surface);border:1px solid var(--a-line);border-radius:16px;padding:1.5rem;position:relative}
.apx-steps li:before{content:counter(s,decimal-leading-zero);display:block;font-family:ui-monospace,Menlo,monospace;font-weight:700;color:var(--a-accent);font-size:1.6rem;margin-bottom:.6rem}
.apx-light .apx-steps li:before{color:color-mix(in srgb,var(--a-accent) 75%,#000)}
.apx-steps h3{font-size:1.05rem;margin:0 0 .4rem}
.apx-steps p{font-size:.92rem;line-height:1.6;margin:0}
/* control */
.apx-control{background:var(--a-bg2)}
.apx-control-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
.apx-control-card{background:var(--a-surface);border:1px solid var(--a-accent);border-radius:20px;padding:2.25rem;box-shadow:0 0 0 6px color-mix(in srgb,var(--a-accent) 10%,transparent)}
.apx-rules{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.75rem}
.apx-rules li{padding:.8rem 1rem;border-radius:10px;background:color-mix(in srgb,var(--a-accent) 9%,transparent);color:var(--a-ink);font-weight:600;font-size:.95rem}
.apx-aud{display:grid;gap:1rem;margin-top:1.25rem}
.apx-aud-item{border-left:3px solid var(--a-accent);padding:.25rem 0 .25rem 1.1rem}
.apx-aud-item h3{font-size:1.05rem;margin:0 0 .25rem}
.apx-aud-item p{margin:0;font-size:.95rem;line-height:1.6}
/* faq */
.apx-faq-wrap{max-width:860px}
.apx-qa{border-bottom:1px solid var(--a-line);padding:1.1rem 0}
.apx-qa summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.apx-qa summary::-webkit-details-marker{display:none}
.apx-qa summary:after{content:"+";font-size:1.5rem;color:var(--a-accent);line-height:1}
.apx-qa[open] summary:after{content:"–"}
.apx-qa h3{font-size:1.08rem;margin:0;font-weight:700}
.apx-qa p{margin:.75rem 0 0;line-height:1.7}
/* demo */
.apx-demo{background:radial-gradient(900px 400px at 10% 0%,color-mix(in srgb,var(--a-accent) 16%,transparent),transparent 60%),var(--a-bg2);border-top:1px solid var(--a-line)}
.apx-demo-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:3.5rem;align-items:start}
.apx-demo-copy p{font-size:1.05rem;line-height:1.75}
.apx-site-link a{color:var(--a-accent);font-weight:700}
.apx-light .apx-site-link a{color:color-mix(in srgb,var(--a-accent) 70%,#000)}
.apx-form-card{background:#fff;color:#13263f;border-radius:20px;padding:2rem;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.apx-form-card .apx-form-h{color:#13263f;font-size:1.5rem;margin:0 0 .4rem}
.apx-form-card .apx-form-sub{color:#56627a;font-size:.95rem;margin:0 0 1.25rem}
.apx-demo-form{display:grid;gap:.85rem}
.apx-demo-form label{display:grid;gap:.35rem;font-size:.85rem;font-weight:600;color:#13263f}
.apx-demo-form input,.apx-demo-form textarea,.apx-demo-form select{font:inherit;font-weight:400;padding:.75rem .85rem;border:1.5px solid #d9dee7;border-radius:10px;background:#fff;color:#13263f;width:100%;box-sizing:border-box}
.apx-demo-form input:focus,.apx-demo-form textarea:focus,.apx-demo-form select:focus{outline:none;border-color:#13263f}
.apx-grid2{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.apx-opt{font-weight:400;color:#7a8597}
.apx-hp{position:absolute;left:-9999px}
.apx-submit{justify-content:center;width:100%;margin-top:.25rem;background:#13263f!important;color:#fff!important;box-shadow:none}
.apx-form-fine{font-size:.78rem;color:#7a8597!important;margin:0;text-align:center}
.apx-form-ok,.apx-form-err{border-radius:12px;padding:1rem;font-size:.92rem;line-height:1.5}
.apx-form-ok{background:#e9f7ef;color:#14532d;display:grid;gap:.25rem}
.apx-form-err{background:#fdecec;color:#7f1d1d}
.apx-form-ok a,.apx-form-err a{color:inherit;font-weight:700}
/* related */
.apx-related{padding:4rem 0;background:var(--a-bg);border-top:1px solid var(--a-line)}
.apx-related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.apx-related-card{display:grid;gap:.4rem;padding:1.25rem;border-radius:14px;text-decoration:none;background:var(--a-bg);border:1px solid var(--a-line);transition:transform .2s,border-color .2s}
.apx-related-card:hover{transform:translateY(-3px);border-color:var(--a-accent)}
.apx-related-card strong{color:var(--a-ink)}
.apx-related-card span{color:var(--a-muted);font-size:.85rem;line-height:1.5}
.apx-related-logo{width:36px;height:36px;object-fit:contain;border-radius:8px}
.apx-related-all a{color:var(--a-accent);font-weight:700;text-decoration:none}
.apx-light .apx-related-all a{color:color-mix(in srgb,var(--a-accent) 70%,#000)}
/* hub */
.hub-hero{background:radial-gradient(900px 500px at 80% 0%,rgba(224,185,94,.18),transparent 60%),#0f1e33;color:#fff;padding:5rem 0 4rem}
.hub-hero h1{color:#fff;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.05;margin:0 0 1.25rem;letter-spacing:-.03em}
.hub-hero h1 em{font-style:normal;color:#e0b95e}
.hub-hero p{color:#c9d5e2;font-size:1.12rem;line-height:1.7;max-width:46rem}
.hub-stats{display:flex;flex-wrap:wrap;gap:2.5rem;margin-top:2.25rem}
.hub-stats div{display:grid}.hub-stats b{font-size:2rem;color:#e0b95e}.hub-stats span{color:#c9d5e2;font-size:.85rem}
.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.hub-card{display:grid;grid-template-rows:auto 1fr;border-radius:20px;overflow:hidden;text-decoration:none;background:var(--a-bg);border:1px solid var(--a-line);transition:transform .25s,box-shadow .25s}
.hub-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px rgba(15,30,51,.2)}
.hub-card-img{aspect-ratio:16/9;overflow:hidden;background:var(--a-bg2);border-bottom:1px solid var(--a-line)}
.hub-card-img img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block}
.hub-card-body{padding:1.5rem 1.6rem 1.75rem;display:grid;gap:.5rem;align-content:start}
.hub-card-brand{display:flex;align-items:center;gap:.6rem}
.hub-card-brand img{width:34px;height:34px;object-fit:contain;border-radius:8px}
.hub-card-brand img.wide{width:auto;height:26px;border-radius:0}
.hub-card-brand strong{color:var(--a-ink);font-size:1.15rem}
.hub-card-body p{color:var(--a-muted);margin:0;line-height:1.6}
.hub-card-cta{color:var(--a-accent);font-weight:700;font-size:.9rem}
.apx-light .hub-card-cta,.hub-card.light .hub-card-cta{color:color-mix(in srgb,var(--a-accent) 70%,#000)}
.hub-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem}
.hub-principles div{background:#fff;border:1px solid var(--color-bg-border,#e4e0d8);border-radius:16px;padding:1.5rem}
.hub-principles h3{margin:0 0 .4rem;font-size:1.1rem}
.hub-principles p{margin:0;color:var(--color-text-muted,#64748b);line-height:1.6}
/* nav dropdown */
.nav-dropdown{position:relative}
.nav-drop-btn{background:none;border:0;font:inherit;cursor:pointer;color:inherit;display:inline-flex;align-items:center;gap:.3rem}
.nav-drop-btn:after{content:"";width:.4rem;height:.4rem;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px)}
.nav-drop-menu{position:absolute;top:calc(100% + .6rem);left:50%;transform:translateX(-50%);width:380px;background:#fff;border:1px solid #e4e0d8;border-radius:16px;box-shadow:0 24px 60px rgba(15,30,51,.18);padding:.5rem;display:none;z-index:200}
.nav-dropdown.open .nav-drop-menu{display:grid}
@media (hover:hover){.nav-dropdown:hover .nav-drop-menu{display:grid}.nav-dropdown:hover:before{content:"";position:absolute;left:0;right:0;top:100%;height:.8rem}}
.nav-drop-menu a{display:flex!important;gap:.75rem;align-items:flex-start;padding:.6rem .7rem!important;border-radius:10px;text-decoration:none}
.nav-drop-menu a:hover{background:#f8f7f4}
.nav-drop-menu img{width:30px;height:30px;object-fit:contain;border-radius:7px;flex:0 0 auto;margin-top:.1rem}
.nav-drop-menu b{display:block;color:#13263f;font-size:.9rem}
.nav-drop-menu small{display:block;color:#64748b;font-size:.76rem;line-height:1.35;font-weight:400}
.nav-drop-sep{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#a07c30;padding:.7rem .7rem .3rem;border-top:1px solid #eee;margin-top:.3rem}
.nav-drop-all{justify-content:center;color:#a07c30!important;font-weight:700;font-size:.85rem;border-top:1px solid #eee;margin-top:.3rem;border-radius:0 0 10px 10px!important}
.nav-mobile .nav-mobile-sub{padding-left:1rem;font-size:.95rem!important}
.nav-mobile .nav-mobile-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#a07c30;padding:.9rem 0 .2rem}
/* events */
.ev-card{background:#fff;border:1px solid #e4e0d8;border-radius:20px;padding:2rem;display:grid;gap:.75rem;box-shadow:0 10px 30px rgba(15,30,51,.06)}
.ev-card h3{margin:0;font-size:1.3rem}
.ev-card p{margin:0;color:#56627a;line-height:1.65}
.ev-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#a07c30}
.ev-meta{display:flex;flex-wrap:wrap;gap:.5rem}
.ev-meta span{font-size:.8rem;font-weight:600;padding:.35rem .7rem;border-radius:999px;background:#f5edd8;color:#13263f}
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.ev-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem;align-items:center;background:#0f1e33;color:#fff;border-radius:24px;padding:3rem}
.ev-feature h2{color:#fff;margin:.5rem 0 1rem;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.15}
.ev-feature p{color:#c9d5e2;line-height:1.7}
.ev-date{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:1.75rem;display:grid;gap:.5rem;text-align:center}
.ev-date b{font-size:3rem;color:#e0b95e;line-height:1}
.ev-date span{color:#c9d5e2}
/* responsive */
@media (max-width:1024px){
  .apx-hero-grid,.apx-what-grid,.apx-feature-grid,.apx-control-grid,.apx-demo-grid,.ev-feature{grid-template-columns:1fr;gap:2.25rem}
  .apx-feature-grid.rev .apx-feature-copy{order:0}
  .apx-agent-grid,.apx-agent-grid.n6,.apx-agent-grid.n3{grid-template-columns:repeat(2,1fr)}
  .apx-steps,.apx-steps.n5{grid-template-columns:repeat(2,1fr)}
  .apx-related-grid{grid-template-columns:repeat(2,1fr)}
  .apx-hero-visual .apx-shot{transform:none}
  .hub-grid,.ev-grid,.hub-principles{grid-template-columns:1fr}
}
@media (max-width:640px){
  .apx-sec{padding:3.75rem 0}
  .apx-agent-grid,.apx-agent-grid.n6,.apx-agent-grid.n3,.apx-steps,.apx-steps.n5,.apx-related-grid,.apx-grid2{grid-template-columns:1fr}
  .apx-form-card{padding:1.4rem}
  .ev-feature{padding:2rem 1.4rem}
}
@media (prefers-reduced-motion:reduce){.apx-pulse{animation:none}.apx-hero-visual .apx-shot{transform:none}}
.nav-links .nav-drop-btn{font-size:.88rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);padding:.6rem .65rem;border-radius:var(--radius);white-space:nowrap}
.nav-links .nav-drop-btn:hover,.nav-links .nav-dropdown.open .nav-drop-btn{color:var(--color-navy);background:var(--color-bg-soft)}
.nav-links .nav-drop-btn.active{color:var(--color-navy);font-weight:600}
.nav-links .nav-drop-menu a{text-transform:none;letter-spacing:0;white-space:normal;color:#13263f}
.home-apps{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2.25rem}
.home-app{display:grid;gap:.5rem;align-content:start;padding:1.25rem;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);text-decoration:none;transition:transform .2s,border-color .2s}
.home-app:hover{transform:translateY(-3px);border-color:#e0b95e}
.home-app img{width:40px;height:40px;object-fit:contain;border-radius:9px;background:#fff1}
.home-app strong{color:#fff;font-size:1rem}
.home-app span{color:#c9d5e2;font-size:.85rem;line-height:1.5}
@media (max-width:1024px){.home-apps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.home-apps{grid-template-columns:1fr}}

.apx-form-ok[hidden],.apx-form-err[hidden]{display:none!important}
.apx-demo-form label>span{display:block}
.nav-drop-menu a{flex-direction:row!important}
.nav-drop-menu{width:620px;grid-template-columns:1fr 1fr;left:auto;right:-140px;transform:none}
.nav-dropdown.open .nav-drop-menu{display:grid}
.nav-drop-sep,.nav-drop-all{grid-column:1/-1}
.nav-inner{max-width:1320px}
.nav-links a,.nav-links .nav-drop-btn{padding:.6rem .5rem;font-size:.82rem}
.nav-cta{margin-left:.6rem!important}
@media (max-width:1320px){.nav-links a,.nav-links .nav-drop-btn{padding:.55rem .38rem;font-size:.76rem;letter-spacing:.02em}.nav-logo-img{width:210px;height:auto}}
@media (max-width:1180px){.nav-links,.nav-cta{display:none!important}.nav-hamburger{display:flex!important}}
