/* PQL NEXUS V6.2 | enterprise visual consistency, public UI */
:root{--pql-gold:#b9975b;--pql-navy:#071b35;--pql-ink:#152b49;--pql-muted:#53657e;--pql-line:#e1e7ef}
html{scroll-padding-top:110px}
body{overflow-x:hidden;text-rendering:optimizeLegibility}
.container{width:min(calc(100% - 64px),1200px)}
.public-header{box-shadow:0 1px 0 rgba(13,29,52,.10)}
.nav-shell{width:min(calc(100% - 48px),1440px);min-height:86px;gap:20px}
.brand{gap:12px}.brand img{width:51px;height:51px}
.brand strong{font-weight:780;letter-spacing:.09em}
.desktop-menu{gap:clamp(11px,1.15vw,20px);flex-wrap:nowrap}
.desktop-menu>.navlink,.desktop-menu .nav-dropdown>summary{display:inline-flex;align-items:center;min-height:48px;gap:5px;font-weight:650;font-size:12px;letter-spacing:.005em}
.nav-dropdown>summary span{display:inline-block;transition:transform .2s}
.nav-dropdown[open]>summary span{transform:rotate(180deg)}
.nav-pop{top:100%;left:-17px;width:248px;min-width:248px;border-radius:10px;box-shadow:0 20px 50px rgba(12,29,59,.13);padding:8px;border:1px solid #e1e7ef}
.nav-pop .navlink,.nav-pop .nav-subitem{min-height:40px;display:flex;align-items:center;width:100%;padding:10px 12px;border-radius:6px;color:#30445e;font-size:12px;font-weight:600;letter-spacing:0;white-space:normal}
.nav-pop .navlink:hover,.nav-pop .nav-subitem:hover{background:#f0f4f8;color:#0b3565}
.nav-pop .nav-subitem{padding-left:24px!important;border-left:2px solid #c5a771;border-radius:0 6px 6px 0;margin-left:4px;width:calc(100% - 4px);font-size:12px;color:#3d5c7e;letter-spacing:0}
.nav-pop .navlink.current:after{display:none}
.head-actions{flex-shrink:0}.lang-switch{border-left:1px solid #dfe5ec;padding-left:13px}
.hero-content>p,.page-hero p{max-width:650px}.hero-buttons{gap:12px;flex-wrap:wrap}
.btn,.primary-button,.ghost-button,.top-preview{transition:background-color .2s,border-color .2s,color .2s,transform .2s}
.btn:hover,.primary-button:hover{transform:translateY(-1px)}
.section{padding-top:clamp(64px,6.4vw,100px);padding-bottom:clamp(64px,6.4vw,100px)}
.section-heading,.section-heading-with-link{margin-bottom:32px}
.section-heading p{max-width:790px;line-height:1.76;color:var(--pql-muted)}
.cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cards-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-card{border:1px solid var(--pql-line);border-radius:10px;box-shadow:0 7px 22px rgba(13,39,71,.035);overflow:hidden;min-width:0}
.project-card:hover{box-shadow:0 18px 38px rgba(13,39,71,.09);transform:translateY(-3px)}
.project-image{overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover}
.project-copy{padding:22px;gap:5px}.project-copy h3{font-size:19px;line-height:1.27;letter-spacing:-.02em;overflow-wrap:anywhere}
.project-copy p{font-size:13px;line-height:1.65;color:#60718a;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.project-copy small,.eyebrow,.kicker{line-height:1.5}
.node-team{gap:18px}.node-person{border-radius:10px;padding:29px;min-height:220px;align-items:flex-start;gap:20px}
.node-person>div:last-child{min-width:0}.node-person strong{display:block;line-height:1.6;margin-bottom:10px}
.node-person p{line-height:1.7}
.node-pillars article{border:1px solid #e5e9ef;border-top:3px solid var(--pql-gold);border-radius:8px;box-shadow:none}
.node-faq{max-width:1000px}.node-faq details{border-bottom:1px solid #dce4ed}.node-faq summary{padding:22px 34px 22px 8px;line-height:1.55}.node-faq p{padding-left:8px;line-height:1.8}
.pql-footer .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.3fr;gap:clamp(20px,2.5vw,36px);padding-top:60px;padding-bottom:47px}
.pql-footer .footer-grid>div{min-width:0}.pql-footer .footer-grid a{overflow-wrap:anywhere}
.pql-footer .footer-grid h3{margin-bottom:18px;line-height:1.4}
.pql-footer .footer-grid a:not(.footer-brand){line-height:1.65}
.footer-bottom{flex-wrap:wrap;line-height:1.7}
.legal-layout{grid-template-columns:minmax(230px,267px) minmax(0,1fr);gap:clamp(28px,4vw,66px)}
.legal-sidebar{border-radius:10px;padding:24px 20px}.legal-sidebar nav a{font-size:13px;min-height:43px}
.legal-card{border-radius:9px;min-height:210px}.legal-card p{font-size:13px}.legal-section h3{line-height:1.4}.legal-section p{font-size:15px;line-height:1.83}
.privacy-banner{border-radius:12px;overflow:hidden}.privacy-banner-inner{gap:20px}.privacy-banner button{border-radius:7px;font-size:12px}
@media(max-width:1350px){.pql-footer .footer-grid{grid-template-columns:1.7fr repeat(3,minmax(0,1fr));gap:25px}.pql-footer .footer-grid>div:last-child{grid-column:2 / span 3;max-width:100%}}
@media(max-width:1100px){.desktop-menu{display:none}.menu-toggle{display:flex}.nav-shell{min-height:75px}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cards-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.container{width:calc(100% - 36px)}.nav-shell{width:calc(100% - 30px)}.brand img{width:44px;height:44px}.brand strong{font-size:12px}.brand small{font-size:8px}.hero-grid{grid-template-columns:1fr}.cards-grid,.cards-grid-three{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.project-copy{padding:18px}.project-copy h3{font-size:17px}.project-copy p{font-size:12px}.pql-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.pql-footer .footer-grid>div:first-child{grid-column:1/-1}.pql-footer .footer-grid>div:last-child{grid-column:auto}.legal-sidebar{position:static}.node-team{grid-template-columns:1fr}
.mobile-menu{padding:12px 17px 20px;border-top:1px solid #e4e9f0;box-shadow:0 14px 25px rgba(9,31,60,.09)}
.mobile-menu>.navlink{padding:13px 8px;border-bottom:1px solid #e8edf4;font-size:14px;color:#213857}
.mobile-menu .nav-dropdown{border-bottom:1px solid #e8edf4}
.mobile-menu .nav-dropdown>summary{padding:14px 8px;color:#213857;font-size:14px;font-weight:650;line-height:1.5}
.mobile-menu .nav-dropdown .nav-pop{position:static;min-width:0;width:100%;margin:0 0 9px;border:0;border-left:2px solid #c7aa75;border-radius:0;background:#f4f7fb;box-shadow:none;display:flex;flex-direction:column;padding:5px 8px}
.mobile-menu .nav-dropdown:not([open]) .nav-pop{display:none}
.mobile-menu .nav-dropdown .nav-pop .navlink,.mobile-menu .nav-dropdown .nav-pop .nav-subitem{padding:10px 12px!important;min-height:40px;font-size:13px;color:#284667;border:0;border-radius:6px;background:transparent;width:100%;margin:0}
.mobile-menu .nav-dropdown .nav-pop .nav-subitem{padding-left:26px!important;color:#134d88;font-weight:650}
.mobile-menu .nav-dropdown .nav-pop a:hover{background:#e6edf5}
.mobile-menu .mobile-langs{padding-top:12px;gap:12px}.mobile-menu .mobile-langs a{display:inline-flex;border:1px solid #d9e0e9;border-radius:6px;padding:9px 15px}
}
@media(max-width:520px){.container{width:calc(100% - 32px)}.hero-content{padding-top:48px}.hero-nexus h1{font-size:clamp(36px,10vw,43px);line-height:1.13}.hero-buttons{gap:10px}.cards-grid,.cards-grid-three{grid-template-columns:1fr}
.project-card{display:grid;grid-template-columns:minmax(0,38%) minmax(0,62%);min-height:170px}.project-image{height:100%;min-height:170px}.project-copy{padding:15px;justify-content:center}.project-copy h3{font-size:16px}.project-copy p{font-size:12px;-webkit-line-clamp:3}.project-copy small{font-size:9px}
.node-person{padding:20px;gap:14px}.node-person h2{font-size:22px}.node-person-icon{width:66px;height:66px;flex:0 0 66px}
.pql-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.pql-footer .footer-grid>div:first-child{grid-column:1/-1}.pql-footer .footer-grid>div:last-child{grid-column:1/-1}
.legal-layout{gap:24px}.legal-sidebar{padding:19px}.legal-heading h2{font-size:32px}.legal-section{grid-template-columns:25px minmax(0,1fr);gap:12px}.legal-section p{font-size:14px}.privacy-banner-inner{padding:16px}.privacy-banner-actions{flex-direction:column}
}
/* Correct tablet and mobile grid behavior after layered stylesheet overrides. */
@media(max-width:960px){.legal-layout{grid-template-columns:minmax(0,1fr);gap:28px}.legal-sidebar{position:static}.legal-main{width:100%;min-width:0}}
@media(max-width:760px){.mobile-menu .mobile-langs a{border:1px solid #d9e0e9}}

/* V6.6 / PQL discreet WhatsApp access.
   ONE authoritative declaration; replaces the conflicting V6.3/V6.4 sizes.
   A small circular control does not cover navigation or footer content. */
.chat-float{
  position:fixed;z-index:39;
  right:14px;bottom:calc(14px + env(safe-area-inset-bottom, 0px));
  width:42px;height:42px;min-width:42px;min-height:42px;
  display:flex;align-items:center;justify-content:center;
  padding:0;margin:0;gap:0;border-radius:50%;
  border:1px solid rgba(230,212,165,.6);
  background:linear-gradient(145deg,#064a49,#0b6a52);
  color:#fff;box-shadow:0 4px 14px rgba(7,32,41,.18);
  text-decoration:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease,box-shadow .18s ease;
}
.chat-float::before,.chat-float::after{content:none!important;display:none!important}
.chat-float:hover{background:#075d50;box-shadow:0 6px 18px rgba(7,32,41,.23);transform:translateY(-1px)}
.chat-float:focus-visible{outline:3px solid #bfa16d;outline-offset:3px}
.chat-float .chat-icon,.chat-float .chat-icon svg{display:block;flex:0 0 auto}
.chat-float .chat-icon{width:24px;height:24px;border:0;padding:0;border-radius:0;background:transparent}
.chat-float .chat-icon svg{width:24px;height:24px;color:currentColor}
/* Keep the accessible name on the anchor; do not render a large text pill. */
.chat-float .chat-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.chat-float.is-hidden,.chat-float.is-hidden:hover{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px);box-shadow:none}
@media(max-width:760px){.chat-float{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:40px;height:40px;min-height:40px;min-width:40px}}
@media(prefers-reduced-motion:reduce){.chat-float{transition:none}.chat-float:hover{transform:none}}
/* V6.5 / Why choose PQL. Accessible layout, uncluttered cards. */
.why-snapshot{padding-top:42px;padding-bottom:70px}
.why-snapshot-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:25px}
.why-snapshot-head h2,.why-lead h2,.why-scope h2{font-size:clamp(28px,3.5vw,42px);line-height:1.16;letter-spacing:-.035em;color:#13294c;margin:10px 0 16px}
.why-snapshot-head p,.why-lead p,.why-scope p{max-width:780px;color:#4d5f77;line-height:1.75}
.why-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.why-snapshot-grid article,.why-advantage{background:#fff;border:1px solid #e0e7f0;border-radius:10px;padding:26px;box-shadow:0 8px 30px rgba(15,40,73,.045);min-width:0}
.why-counter,.why-number{color:#ac8751;font-size:12px;font-weight:750;letter-spacing:.11em}
.why-snapshot-grid h3,.why-advantage h3{font-size:19px;line-height:1.28;color:#163457;margin:12px 0 10px}
.why-snapshot-grid p,.why-advantage p{font-size:14px;line-height:1.77;color:#596b81;margin:0}
.why-lead{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:clamp(25px,5vw,75px)}
.why-lead-image{border-radius:10px;overflow:hidden;min-height:280px}
.why-lead-image img{width:100%;height:100%;max-height:480px;object-fit:cover;display:block}
.why-advantages-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.why-advantage{padding:30px 27px}.why-detail{border-top:1px solid #e7eaf0;margin-top:20px;padding-top:16px}
.why-detail p{font-size:13px}.why-scope{display:flex;align-items:center;justify-content:space-between;gap:36px}
.why-scope>div{flex:1;min-width:0}.why-scope .fine-print{font-size:12px;max-width:790px}
@media(max-width:980px){.why-advantages-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.why-lead{grid-template-columns:1fr}.why-snapshot-head{align-items:flex-start;flex-direction:column}.why-scope{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.why-snapshot-grid,.why-advantages-grid{grid-template-columns:1fr}.why-snapshot-grid article,.why-advantage{padding:21px}.why-snapshot{padding-top:30px;padding-bottom:50px}.why-lead-image{min-height:180px}.why-snapshot-head h2,.why-lead h2,.why-scope h2{font-size:29px}}
