/* Shared brand lockup: the landing-page identity in the software site's blue palette. */
#header .brand,#footer .brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none}
#header .brand img,#footer .brand img{width:58px;height:58px;object-fit:contain;filter:none;mix-blend-mode:normal;clip-path:none}
#header .brand>span,#footer .brand>span{display:flex;flex-direction:column;gap:5px}
#header .brand strong,#footer .brand strong{font-size:23px;line-height:1.1;letter-spacing:-.6px;white-space:nowrap;color:#0058ff}
#header .brand .brand-treasure,#footer .brand .brand-treasure{color:#8a8d91}
#header .brand small,#footer .brand small{font-size:10px;font-weight:600;letter-spacing:.7px;line-height:1.4;color:#53677e;white-space:nowrap}
@media(min-width:1600px){#header .brand img,#footer .brand img{width:68px;height:68px}#header .brand strong,#footer .brand strong{font-size:27px}#header .brand small,#footer .brand small{font-size:12px}}
@media(max-width:700px){#header .brand img,#footer .brand img{width:44px;height:44px}#header .brand strong,#footer .brand strong{font-size:20px}#header .brand small,#footer .brand small{font-size:9px;letter-spacing:.35px}}
/* Compact wordmark and accessible small-screen navigation. */
#header .brand>span,#footer .brand>span{gap:1px}
#header .brand small,#footer .brand small{margin:0;line-height:1.25}
#header .brand strong,#footer .brand strong{max-width:none}
#header .mobile-menu-toggle{display:none}
@media(max-width:1000px){
 #header nav.wrap{display:flex;flex-wrap:wrap;align-items:center;min-height:80px;padding-top:14px;padding-bottom:14px;gap:0 12px;background:#fff}
 #header .brand{margin-right:auto;gap:8px}
 #header .brand img{width:46px;height:46px}
 #header .brand strong{font-size:21px}
 #header .brand small{font-size:9px;letter-spacing:.35px}
 #header .mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;flex-shrink:0;width:46px;height:46px;padding:10px;background:#f2f7ff;border:1px solid #cddff7;border-radius:9px;color:#0058ff;cursor:pointer}
 #header .mobile-menu-toggle span{display:block;width:22px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
 #header .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 #header .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 #header .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 #header nav .nav-links,#header nav>.button{display:none}
 #header nav.menu-open .nav-links{display:flex;flex-direction:column;align-items:stretch;order:3;width:100%;gap:0;margin-top:16px;padding:8px 0;border-top:1px solid #dce7f5}
 #header nav.menu-open .nav-links a{display:block;padding:15px 12px;font-size:19px;font-weight:600;line-height:1.3;border-radius:6px}
 #header nav.menu-open .nav-links a:hover{background:#edf5ff}
 #header nav.menu-open>.button{display:flex;order:4;justify-content:center;width:100%;margin-top:8px;font-size:17px;padding:15px}
 #header .mobile-menu-toggle:focus-visible{outline:3px solid #82b2ff;outline-offset:3px}
}
@media(max-width:360px){#header .brand strong{font-size:18px}#header .brand small{font-size:8px}#header .brand img{width:39px;height:39px}#header .mobile-menu-toggle{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){#header .mobile-menu-toggle span{transition:none}}

/* Project previews are requested through WhatsApp, with no automatic unlock. */
.locked-preview{position:relative;overflow:hidden;background:#10254a;min-height:240px}.locked-preview .dialog-image{filter:blur(12px);transform:scale(1.05);opacity:.42;width:100%;height:100%;min-height:240px;object-fit:cover}.preview-lock{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;text-align:center;color:white;padding:30px}.preview-lock strong{font-size:24px}.preview-lock span{font-size:16px}#preview-request{display:grid;gap:10px;margin-top:24px}#preview-request label{font-weight:600;font-size:15px}#preview-request input{width:100%;box-sizing:border-box;padding:13px;border:1px solid #b8cce5;border-radius:8px;font:inherit;background:white;color:#10254a}#preview-request input:focus{outline:2px solid #0058ff;outline-offset:2px}#preview-request .preview-note{font-size:13px;line-height:1.6;color:#53677e;margin:4px 0}#preview-request .button{justify-content:center;cursor:pointer}#project-dialog{max-height:90dvh;overflow-y:auto}

#project-dialog .locked-preview{height:240px}#project-dialog .dialog-close{z-index:4}@media(min-width:800px){#project-dialog #dialog-body{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:stretch}#project-dialog .locked-preview{height:100%;min-height:450px}#project-dialog .dialog-copy{padding:0}#project-dialog .dialog-copy h2{margin:8px 0;font-size:30px}#project-dialog .dialog-copy>p{margin:10px 0}#project-dialog #preview-request{margin-top:16px}}

/* Keep shared navigation available while the page scrolls. */
#header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e3ebf5;box-shadow:0 3px 16px #10254a08}
html{scroll-padding-top:120px}
@media(max-width:1000px){html{scroll-padding-top:96px}#header{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}}
