/* Page-specific CSS for q-helix-partners.html - extracted from the uploaded source. */
@keyframes qhflip{0%,55%{transform:rotateY(0)}100%{transform:rotateY(360deg)}}

.qh-hero{background:var(--ice);padding:clamp(2.5rem,6vw,4.5rem) 1.25rem 2rem}
.qh-wrap{max-width:1200px;margin:0 auto}
.qh-ring{height:6px;width:min(320px,100%);border-radius:3px;margin-bottom:1rem;background:linear-gradient(90deg,var(--orange) 0 25%,var(--green) 25% 50%,var(--cyan) 50% 75%,var(--blue) 75%)}
.qh h1{font-size:clamp(2.25rem,1.6rem + 2.6vw,3.5rem);line-height:1.1;color:var(--navy);margin:0 0 .4rem}
.qh-lead{font-size:1.15rem;font-weight:600;color:var(--blue);margin:0}
.qh-main{padding:2rem 1.25rem 3rem}
.qh-grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}

.qh-card{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#fff;border:1px solid #cfe0ee;border-top:4px solid var(--cyan);border-radius:8px;text-decoration:none;color:var(--text);transition:box-shadow .2s,border-color .2s}
.qh-card:hover,.qh-card:focus-visible{box-shadow:0 6px 18px rgba(25,52,103,.18);border-top-color:var(--orange)}
.qh-card:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.qh-cover{display:flex;align-items:center;justify-content:center;height:170px;padding:14px;background:#fff;border-bottom:1px solid #cfe0ee;overflow:hidden}
.qh-cover .qh-partner-logo{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.qh-body{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1rem 1.25rem 1.2rem;flex:1}
.qh-cname{font-size:1.1rem;font-weight:700;color:var(--navy);line-height:1.3}
.qh-country{font-size:.875rem}
.qh-more{margin-top:auto;padding-top:.4rem;font-size:.875rem;font-weight:600;color:var(--blue)}
.qh-badge{font-size:.8125rem;font-weight:600;padding:.1rem .6rem;border-radius:999px;background:var(--ice);color:var(--navy);border:1px solid var(--blue)}
.qh-assoc{border-top-color:var(--green)}.qh-assoc .qh-badge{background:#E3F5E8;border-color:var(--green)}
.qh-leader{border-top-color:var(--orange)}
.qh-leader .qh-badge{background:var(--orange);border-color:var(--orange)}
.qh-map{margin:2.5rem 0 0;padding:1rem;background:var(--ice);border-radius:8px}
.qh-map img{display:block;width:100%;height:auto;border-radius:4px}
.qh-modal{display:none;position:fixed;inset:0;z-index:100;overflow:auto;background:rgba(25,52,103,.65);padding:1.25rem}
.qh-modal:target{display:block}
.qh-panel{max-width:780px;margin:2vh auto;background:#fff;border-top:6px solid var(--green);border-radius:8px;padding:1.5rem clamp(1.25rem,4vw,2.25rem) 2rem}
.qh-panel h2{color:var(--navy);font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);line-height:1.2;margin:.5rem 0 .25rem}
.qh-panel h3{color:var(--blue);font-size:1.05rem;margin:1.5rem 0 .4rem}
.qh-panel ul{margin:0;padding-left:1.2rem}.qh-panel li::marker{color:var(--green)}
.qh-meta{color:var(--blue);font-weight:600;margin:0 0 1rem}
.qh-close{float:right;font-weight:600;text-decoration:none;color:var(--navy);background:var(--ice);padding:.3rem .8rem;border-radius:999px}
@media (max-width:900px){.qh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.qh-grid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.qh-card{transition:none}}

.qh-panel p{margin:.5rem 0}.qh-panel strong{color:var(--navy)}

/* polish: EU-standard readability (WCAG 2.1 AA, system fonts = no external font requests / GDPR-safe) */
.qh h1{letter-spacing:-.01em;font-weight:700}

.qh-cname{font-size:1.125rem}.qh-country{font-size:.9375rem}
.qh-panel{font-size:1.0625rem}
.qh-panel>*{max-width:72ch}
.qh-panel h2{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.1rem);letter-spacing:-.01em;border-bottom:1px solid #cfe0ee;padding-bottom:.6rem}
.qh-panel .qh-h3{font-size:1.2rem;font-weight:700;color:var(--blue);background:var(--ice);border-left:4px solid var(--cyan);border-radius:0 4px 4px 0;padding:.45rem .8rem;margin:1.9rem 0 .7rem;line-height:1.35}
.qh-panel .qh-h4{font-size:1rem;font-weight:700;color:var(--blue);margin:1.1rem 0 .3rem;letter-spacing:.01em}
.qh-panel p{margin:.65rem 0}
.qh-panel p.qh-item{position:relative;margin:.2rem 0;padding-left:1.1rem}
.qh-panel p.qh-item::before{content:"";position:absolute;left:.15rem;top:.78em;width:.4rem;height:.4rem;border-radius:50%;background:var(--cyan)}
.qh-panel strong{font-weight:700;color:var(--navy)}
.qh-meta{font-size:1rem}



.qh a:focus-visible,.qh button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}






.qh-fcta{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;max-width:1100px;margin:0 auto;padding:2.25rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.2)}
.qh-fcta h2{color:#fff;margin:0;font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem)}
.qh-fcta p{margin:.25rem 0 0;color:#dbe7f5}
.qh-fcta .qh-btns{display:flex;gap:.75rem;flex-wrap:wrap}














.qh-social{display:flex;gap:.6rem;margin-top:1.1rem}


.qh-contact{margin:0}.qh-contact dt{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:#7fe3f2;font-weight:700;margin-top:.9rem}
.qh-contact dt:first-child{margin-top:0}.qh-contact dd{margin:.15rem 0 0}.qh-contact address{font-style:normal}



.qh-sr{position:absolute;left:-9999px}

/* Partner logos use real img elements and remain proportional at every viewport. */
.qh-cover .qh-partner-logo{object-fit:contain}
@media (max-width:560px){.qh-cover{height:160px}}
