/* DockFlip nav: "Our tools" mega menu + Contact us button. Light theme only. */
html{color-scheme:light}
.n-header-in{grid-template-columns:auto 1fr auto}
.n-nav{display:flex!important;justify-self:end;margin:0}
/* Desktop: nav links sit on the right, next to the Contact button (was centered) */
@media(min-width:56rem){.n-header .n-nav{justify-self:end}}
.n-mega-btn{white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-size:.95rem;font-weight:500;color:var(--ink);background:none;border:0;padding:.5rem .8rem;border-radius:999px;cursor:pointer;transition:background .2s}
.n-mega-btn:hover,.n-mega-btn[aria-expanded=true]{background:var(--soft,#f1eeff)}
.n-mega-btn svg{transition:transform .25s}
.n-mega-btn[aria-expanded=true] svg{transform:rotate(180deg)}
.header-actions{display:flex;align-items:center;gap:.5rem}
.header-actions .n-pbtn{white-space:nowrap}

.n-mega{position:absolute;left:0;right:0;top:100%;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 30px 50px -30px rgba(20,18,40,.28);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s;max-height:calc(100vh - 4.5rem);overflow-y:auto}
.n-mega.is-open{opacity:1;visibility:visible;transform:none}
.n-mega-in{max-width:76rem;margin-inline:auto;display:grid;grid-template-columns:1fr}
@media(min-width:56rem){.n-mega-in{grid-template-columns:1.1fr 1fr 1fr}}
.n-mega-col{padding:1.75rem 1.5rem 2rem;display:flex;flex-direction:column}
@media(min-width:56rem){.n-mega-col+.n-mega-col{border-left:1px solid var(--line)}}
@media(max-width:55.99rem){.n-mega-col+.n-mega-col{border-top:1px solid var(--line)}}
.n-mega-h{font-size:.95rem;font-weight:500;letter-spacing:.01em;text-transform:uppercase;color:#85878f;margin:0 0 1.4rem}
.n-mega-item{display:flex;align-items:center;gap:1rem;padding:.5rem 0;text-decoration:none;color:var(--ink);border-radius:14px}
.n-mega-ic{flex:none;width:2.75rem;height:2.75rem;border-radius:12px;background:#f3f3f5;display:grid;place-items:center;color:#1b1b22;transition:background .2s}
.n-mega-item:hover .n-mega-ic{background:#e9e5ff;color:#4a2fe0}
.n-mega-ic svg{width:1.3rem;height:1.3rem}
.n-mega-item b{display:block;font-size:1.1rem;font-weight:500;letter-spacing:-.012em;line-height:1.25}
.n-mega-item small{display:block;font-size:.92rem;color:var(--muted);margin-top:.1rem}
.n-mega-all{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border-radius:16px;background:#f3f1ff;color:var(--ink);text-decoration:none;font-size:1.02rem;font-weight:500;transition:background .2s}
.n-mega-all:hover{background:#ebe7ff}
.n-mega-all small{display:block;font-size:.88rem;font-weight:400;color:var(--muted);margin-top:.15rem}
.n-mega-all i{flex:none;width:2.4rem;height:2.4rem;border-radius:50%;background:#fff;display:grid;place-items:center}
.n-mega-all i svg{width:1rem;height:1rem}
.n-mega-list{display:grid;gap:.35rem;margin-bottom:1.5rem}
.n-mega-col .n-mega-all{margin-top:auto}
@media(max-width:40rem){.header-actions .n-pbtn{padding:.4rem 1rem;font-size:.9rem}.n-mega-btn{padding:.5rem .5rem}}
.n-nav{gap:.25rem;align-items:center}
.n-nav-link{text-decoration:none}
@media(max-width:55.99rem){.n-nav-link{display:none}}
.n-mega-more{display:none;border-top:1px solid var(--line);padding:1rem 1.5rem 1.4rem;gap:1.5rem}
.n-mega-more a{color:var(--ink);text-decoration:none;font-weight:500}
@media(max-width:55.99rem){.n-mega-more{display:flex}}
.n-nav a.n-nav-link{color:var(--ink);padding:.5rem .8rem;border:0;border-radius:999px;font-size:.95rem;font-weight:500}
.n-nav a.n-nav-link:hover{background:var(--soft,#f1eeff);color:var(--ink)}
/* Mobile: logo + hamburger */
.n-burger,.n-mob{display:none}
@media(max-width:55.99rem){
 .n-nav,.header-actions,.n-mega{display:none!important}
 .n-header-in{grid-template-columns:1fr auto}
 .n-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:2.8rem;height:2.8rem;padding:0 .8rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer;grid-column:2;justify-self:end}
 .n-burger span{display:block;height:2px;border-radius:2px;background:var(--ink);transition:transform .25s,opacity .2s}
 .n-burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .n-burger[aria-expanded=true] span:nth-child(2){opacity:0}
 .n-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .n-mob{position:absolute;left:0;right:0;top:100%;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 30px 50px -30px rgba(20,18,40,.3);padding:.6rem 1.1rem 1.4rem;max-height:calc(100vh - 4.5rem);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s}
 .n-mob.is-open{display:block;opacity:1;visibility:visible;transform:none}
 .n-mob-tools summary,.n-mob-link{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:.95rem .2rem;font-size:1.08rem;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
 .n-mob-tools summary::-webkit-details-marker{display:none}
 .n-mob-tools summary:after{content:"";width:.6rem;height:.6rem;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);transition:transform .25s;margin-right:.3rem}
 .n-mob-tools[open] summary:after{transform:rotate(-135deg)}
 .n-mob-g{padding:.8rem .2rem .2rem}
 .n-mob-g .n-mob-h{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#85878f;font-weight:600;margin:0 0 .3rem}
 .n-mob-g a{display:block;padding:.5rem 0;color:var(--ink);text-decoration:none;font-size:1rem}
 .n-mob-contact{margin-top:1.1rem;display:grid;gap:.6rem}
 .n-mob-contact .n-mob-h{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#85878f;font-weight:600;margin:0}
 .n-mob-contact a{display:flex;align-items:center;gap:.8rem;padding:.7rem .8rem;border-radius:14px;background:#f3f1ff;color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem;word-break:break-all}
 .n-mob-contact small{display:block;font-size:.76rem;color:var(--muted);font-weight:400}
 .n-mob-ic{flex:none;width:2.4rem;height:2.4rem;border-radius:11px;background:#fff;display:grid;place-items:center}
 .n-mob-ic svg{width:1.15rem;height:1.15rem}
 .n-mob-cta{display:flex!important;margin-top:1rem;width:100%}
}

/* footer bar */
.n-ft-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.5rem;text-align:left}
.n-ft-priv{display:inline-flex;align-items:center;gap:.4rem}
.n-ft-legal{display:flex;gap:1.2rem}
.n-ft-bar a{color:inherit;text-decoration:none}
.n-ft-bar a:hover{color:#4b2fe3;text-decoration:underline}
@media(min-width:48rem){.n-ft-priv{margin-inline:auto}}
@media(max-width:47.99rem){.n-ft-bar{flex-direction:column;align-items:center;text-align:center}}

/* Compact, viewport-aware mega menu: keep it feeling like a menu, not a full-page dropdown. */
.n-mega{top:100%;max-height:80vh;border:1px solid var(--line);border-radius:0 0 22px 22px;left:max(1rem,calc((100vw - 76rem)/2));right:max(1rem,calc((100vw - 76rem)/2));overflow-y:auto;overscroll-behavior:contain}
.n-mega-in{grid-template-columns:1.1fr 1fr 1fr}
.n-mega-col{padding:1.15rem 1.25rem 1.25rem;min-width:0}
.n-mega-h{font-size:.78rem;margin-bottom:.7rem}
.n-mega-list{gap:.12rem;margin-bottom:.8rem}
.n-mega-item{gap:.7rem;padding:.35rem 0}
.n-mega-ic{width:2.25rem;height:2.25rem;border-radius:10px}
.n-mega-item b{font-size:.94rem}
.n-mega-item small{font-size:.8rem}
.n-mega-all{padding:.8rem .95rem;font-size:.9rem;border-radius:13px}
.n-mega-all i{width:2rem;height:2rem}
.n-mega-more{padding:.75rem 1.25rem;gap:1.25rem}
@media(max-width:55.99rem){.n-mega{top:100%;left:0;right:0;max-height:calc(100vh - 4.5rem);border-radius:0}}
@media(max-width:55.99rem){.n-mega-in{grid-template-columns:1fr}}
