/* Q-Helix shared site styles: header, footer, global defaults and responsive behavior. */
:root { color-scheme: light; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; }
img, svg, video, canvas, iframe { max-width: 100%; }
img { height: auto; }
.qh {
  --navy:#193467; --blue:#057BA9; --cyan:#06B1CC; --green:#35A755;
  --orange:#F47726; --ice:#E8F5FD; --text:#263746;
  box-sizing:border-box; width:100%; max-width:100%; margin:0 auto;
  color:var(--text); font-family:'Segoe UI','Helvetica Neue',Arial,'Noto Sans',sans-serif;
  font-size:1.0625rem; line-height:1.7; -webkit-font-smoothing:antialiased;
}
.qh *, .qh *::before, .qh *::after { box-sizing:border-box; }
.qh a { color:var(--blue); }
.qh :where(img,video,iframe) { max-width:100%; }
.qh :where(input,select,textarea,button) { font:inherit; max-width:100%; }
.qh :where(input,select,textarea) { min-width:0; }
.qh :where(p,li,dd,dt,address,a,figcaption) { overflow-wrap:anywhere; }
.qh .qh-skip { position:absolute; left:-10000px; top:0; z-index:2000; padding:.65rem 1rem; color:#fff!important; background:var(--navy); border-radius:.25rem; }
.qh .qh-skip:focus { left:.5rem; top:.5rem; outline:3px solid var(--cyan); outline-offset:3px; }

/* Original Q-Helix logo flip animation: 6-second infinite Y-axis rotation. */
@keyframes qhflip {
  0%, 55% { transform: rotateY(0deg); }
  100% { transform: rotateY(360deg); }
}

/* Shared responsive navigation */
.qh .qh-nav {
  position:sticky; top:0; z-index:1000; width:100%;
  display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center; gap:clamp(.5rem,1.3vw,1.25rem);
  padding:.55rem clamp(.85rem,2.2vw,1.6rem);
  background:#fff; border-bottom:3px solid var(--navy);
  box-shadow:0 2px 8px rgba(25,52,103,.06);
}
.qh .qh-nav .qh-burger { display:none; }
.qh .qh-nav .qh-left { grid-column:1; justify-content:flex-end; min-width:0; }
.qh .qh-nav .qh-logo { grid-column:2; justify-self:center; display:block; flex:none; line-height:0; text-decoration:none; perspective:700px; transform-style:preserve-3d; }
.qh .qh-nav .qh-right { grid-column:3; justify-content:flex-start; min-width:0; }
.qh .qh-nav nav { display:flex; min-width:0; align-items:center; }
.qh .qh-nav nav ul { display:flex; flex-direction:row; align-items:center; justify-content:inherit; flex-wrap:wrap; gap:clamp(.15rem,.45vw,.5rem); list-style:none; margin:0; padding:0; }
.qh .qh-nav nav li { min-width:0; margin:0; padding:0; }
.qh .qh-nav nav a { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:.35rem .42rem; border:1px solid transparent; border-bottom:3px solid transparent; border-radius:6px; color:var(--navy); background:transparent; text-decoration:none; text-align:center; font-size:clamp(.875rem,.92vw,1rem); font-weight:650; line-height:1.25; white-space:normal; }
.qh .qh-nav nav a:hover { color:var(--blue); border-bottom-color:var(--cyan); background:#f4fbfe; }
.qh .qh-nav nav a[aria-current="page"], .qh .qh-nav nav a.is-active { color:var(--navy); background:#fff2e9; border-color:var(--orange); }
.qh .qh-nav nav a.qh-req { padding:.55rem .85rem; border-color:var(--navy); border-radius:999px; background:var(--navy); color:#fff; }
.qh .qh-nav nav a.qh-req:hover { border-color:var(--blue); background:var(--blue); color:#fff; }
.qh .qh-nav .qh-logo img { display:block; width:auto; height:54px; max-width:182px; object-fit:contain; transform-origin:center; backface-visibility:visible; animation:qhflip 6s ease-in-out infinite; }
.qh .qh-nav a:focus-visible, .qh .qh-nav button:focus-visible { outline:3px solid var(--cyan); outline-offset:3px; }
.qh .qh-nav .qh-burger {
  grid-area:toggle; align-items:center; justify-content:center; flex-direction:column; gap:5px;
  width:44px; height:44px; min-width:44px; padding:0; margin:0;
  border:1px solid #d5e2eb; border-radius:8px; background:#fff; color:var(--navy);
  cursor:pointer; line-height:1;
}
.qh .qh-nav .qh-burger span { display:block; width:22px; height:2px; border-radius:2px; background:currentColor; transition:transform .18s ease, opacity .18s ease; }
.qh .qh-nav .qh-burger[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.qh .qh-nav .qh-burger[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.qh .qh-nav .qh-burger[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Shared footer */
.qh .qh-foot { width:100%; background:var(--navy); color:#fff; font-size:1em; position:relative; isolation:isolate; }
.qh .qh-foot .qh-ring { width:100%; height:6px; margin:0; border-radius:0; }
.qh .qh-foot a { color:#fff; text-decoration:none; }
.qh .qh-foot a:hover { color:#7fe3f2; text-decoration:underline; text-underline-offset:3px; }
.qh .qh-foot a:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.qh .qh-fgrid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1.4fr) minmax(0,1.4fr); gap:clamp(1.25rem,2.5vw,2.25rem); width:100%; max-width:1240px; margin:0 auto; padding:clamp(1.75rem,3.5vw,2.75rem) clamp(1rem,2.5vw,1.5rem); }
.qh .qh-fbrand { min-width:0; }
.qh .qh-fbrand > img { display:block; width:min(100%,170px); height:auto; object-fit:contain; object-position:left center; background:#fff; border-radius:8px; padding:.6rem .8rem; }
.qh .qh-fbrand p { margin:1rem 0 0; max-width:34ch; color:#dbe7f5; }
.qh .qh-fbrand .qh-eu { display:block; margin-top:.75rem; font-size:.875rem; letter-spacing:.08em; text-transform:uppercase; color:#7fe3f2; font-weight:700; }
.qh .qh-foot .qh-fbtn { margin-top:1.25rem; }
.qh .qh-foot h3 { color:#fff; font-size:1rem; letter-spacing:.06em; text-transform:uppercase; margin:0 0 .9rem; padding-bottom:.5rem; border-bottom:2px solid var(--cyan); display:inline-block; }
.qh .qh-foot ul { list-style:none; margin:0; padding:0; }
.qh .qh-foot li { margin:.4rem 0; }
.qh .qh-foot .qh-social { display:flex; flex-wrap:wrap; gap:.6rem; margin:1.25rem 0 0; padding:0; }
.qh .qh-foot .qh-social a { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:2px solid #fff; border-radius:50%; }
.qh .qh-foot .qh-social a:hover { background:#fff; color:var(--navy); text-decoration:none; }
.qh .qh-foot a.qh-btn { display:inline-block; font-weight:700; padding:.7rem 1.25rem; border-radius:999px; border:2px solid var(--orange); background:var(--orange); color:var(--navy); text-decoration:none; }
.qh .qh-foot a.qh-btn:hover { background:#fff; border-color:#fff; color:var(--navy); }
.qh .qh-flegal { border-top:1px solid rgba(255,255,255,.2); background:#122850; }
.qh .qh-flegal > div { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; width:100%; max-width:1140px; margin:0 auto; padding:1rem clamp(1rem,2.5vw,1.5rem); font-size:.9375rem; color:#dbe7f5; }
.qh .qh-flegal ul { display:flex; gap:1rem 1.5rem; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
.qh .qh-flegal li { margin:0; }
.qh .qh-flegal a[aria-current="page"] { color:#7fe3f2; text-decoration:underline; text-underline-offset:3px; }

/* Content-level responsive safety nets shared by every page */
.qh main, .qh section, .qh article, .qh figure, .qh .qh-card, .qh .qh-grid > *, .qh [class*="grid"] > * { min-width:0; }
.qh img { max-width:100%; }
.qh table { max-width:100%; }
.qh .qh-scroll, .qh .qh-table-wrap { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.qh pre, .qh code { overflow-wrap:anywhere; }

@media (max-width:1050px) {
  .qh .qh-nav { grid-template-columns:minmax(0,1fr) 44px; grid-template-areas:"logo toggle" "left left" "right right"; gap:.25rem .75rem; padding:.5rem clamp(.75rem,2.5vw,1.25rem); }
  .qh .qh-nav .qh-logo { grid-area:logo; grid-column:1; justify-self:start; }
  .qh { font-size:1rem; }
  .qh .qh-nav .qh-logo img { height:44px; max-width:min(52vw,180px); }
  .qh .qh-nav .qh-burger { display:flex!important; grid-area:toggle; grid-column:2; justify-self:end; }
  .qh .qh-nav .qh-left { grid-area:left; grid-column:1 / -1; display:none; width:100%; justify-content:stretch; }
  .qh .qh-nav .qh-right { grid-area:right; grid-column:1 / -1; display:none; width:100%; justify-content:stretch; }
  .qh .qh-nav.is-menu-open .qh-left, .qh .qh-nav.is-menu-open .qh-right { display:flex; }
  .qh .qh-nav nav ul { display:flex; width:100%; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:.2rem; padding:.2rem 0 .45rem; }
  .qh .qh-nav nav li { width:100%; }
  .qh .qh-nav nav a { display:flex; justify-content:flex-start; width:100%; min-height:44px; padding:.65rem .8rem; text-align:left; font-size:1rem; white-space:normal; }
  .qh .qh-nav nav a.qh-req { justify-content:center; }
  .qh .qh-fgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  body { min-width:320px; }
  .qh .qh-fgrid { grid-template-columns:minmax(0,1fr); gap:1.5rem; padding:1.75rem 1rem; }
  .qh .qh-flegal > div { align-items:flex-start; flex-direction:column; padding:1rem; }
  .qh .qh-flegal ul { gap:.5rem 1rem; }
  .qh .qh-foot h3 { margin-bottom:.65rem; }
  .qh .qh-nav { padding:.45rem .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .qh *, .qh *::before, .qh *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
  .qh .qh-nav .qh-logo img { animation:none!important; transform:none!important; }
}


/* Floating Back to Top control, injected once on each page by site.js */
.qh-back-to-top {
  position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 950;
  display: inline-flex; align-items: center; justify-content: center;
  width: 54px; height: 54px; padding: 0; margin: 0;
  border: 2px solid #fff; border-radius: 50%;
  background: #193467; color: #fff; box-shadow: 0 8px 24px rgba(11, 30, 64, .28);
  cursor: pointer; opacity: 1; transform: translateY(0);
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.qh-back-to-top[hidden] { display: none !important; }
.qh-back-to-top:hover { background: #057BA9; box-shadow: 0 10px 28px rgba(11, 30, 64, .32); transform: translateY(-3px); }
.qh-back-to-top:focus-visible { outline: 3px solid #F47726; outline-offset: 4px; }
@media (max-width: 620px) {
  .qh-back-to-top { right: .85rem; bottom: .85rem; width: 48px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .qh-back-to-top { transition: none; }
}

@media (prefers-reduced-motion: reduce) { .qh-back-to-top { transition: none !important; } }


/* Guide V3.2: two always-accessible learning gateways; preserve original Q-Helix identity. */
.qh .qh-guide-actions{display:flex;gap:.65rem;align-items:center;justify-content:center;flex-wrap:wrap;padding:0 .5rem}
.qh .qh-guide-actions a,.qh .qh-hero-launch a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.5rem 1rem;border:2px solid #F47726;border-radius:999px;background:#F47726;color:#193467!important;font:700 .88rem/1.2 'Segoe UI',Arial,sans-serif;text-decoration:none!important}
.qh .qh-guide-actions a:hover,.qh .qh-hero-launch a:hover{background:#fff;color:#193467!important}
.qh .qh-hero-launch{position:relative;z-index:4;display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin:1.2rem auto 0}
.qh .qh-original-hero-content{z-index:2}
@media(max-width:1050px){.qh .qh-nav{gap:.65rem!important}.qh .qh-nav nav ul{gap:.65rem!important}.qh .qh-guide-actions a{font-size:.78rem;padding:.48rem .7rem}}
@media(max-width:900px){.qh .qh-guide-actions{order:1;width:100%;justify-content:flex-start;padding:.5rem 0}.qh .qh-guide-actions a{flex:1;min-width:125px}.qh .qh-hero-launch a{font-size:.84rem}}
@media(max-width:440px){.qh .qh-original-hero{min-height:420px!important}.qh .qh-original-hero h2{font-size:clamp(2.1rem,9vw,3.2rem)!important}.qh .qh-hero-launch{gap:.5rem}.qh .qh-hero-launch a{min-width:100%;min-height:42px}}
.qh .qh-news .qh-nimg img{font-size:0;color:transparent}
.qh .qh-footer-warning{font-size:.8rem}



/* HERO ACTION BUTTONS — DESKTOP */
.qh .qh-hero-launch {
  position: relative;
  z-index: 4;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0.85rem;
  width: 100%;
  max-width: 720px;
  margin: 1.25rem auto 0;
  padding: 0 1rem;
  box-sizing: border-box;
}

.qh .qh-hero-launch a.qh-original-hero-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  flex: 1 1 240px;
  min-width: 0;
  min-height: 48px;
  padding: 0.75rem 1.25rem;
  box-sizing: border-box;

  border: 2px solid #F47726;
  border-radius: 999px;
  background: #F47726;
  color: #193467 !important;

  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: none !important;

  overflow-wrap: anywhere;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
}

.qh .qh-hero-launch a.qh-original-hero-button:hover {
  background: #FFFFFF;
  border-color: #F47726;
  color: #193467 !important;
  transform: translateY(-2px);
}

.qh .qh-hero-launch a.qh-original-hero-button:focus-visible {
  outline: 3px solid #193467;
  outline-offset: 4px;
}

.qh .qh-hero-launch .qh-button-arrow {
  flex-shrink: 0;
  font-size: 1.2em;
  line-height: 1;
  transition: transform 0.2s ease;
}

.qh .qh-hero-launch a:hover .qh-button-arrow {
  transform: translateX(3px);
}

/* TABLETS */
@media (max-width: 900px) {
  .qh .qh-hero-launch {
    gap: 0.7rem;
    max-width: 600px;
    margin-top: 1rem;
    padding: 0 1.25rem;
  }

  .qh .qh-hero-launch a.qh-original-hero-button {
    flex: 1 1 210px;
    min-height: 48px;
    padding: 0.7rem 1rem;
    font-size: 0.9rem;
  }
}

/* MOBILE PHONES */
@media (max-width: 520px) {
  .qh .qh-hero-launch {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    width: 100%;
    margin-top: 2rem;
    padding: 0 2rem;
  }

  .qh .qh-hero-launch a.qh-original-hero-button {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: 0.8rem 1rem;
    font-size: 0.92rem;
    white-space: normal;
  }
}

/* SMALL PHONES */
@media (max-width: 360px) {
  .qh .qh-hero-launch {
    padding: 0 0.75rem;
  }

  .qh .qh-hero-launch a.qh-original-hero-button {
    gap: 0.45rem;
    padding: 0.75rem 0.65rem;
    font-size: 0.85rem;
  }
}

/* RESPECT REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
  .qh .qh-hero-launch a.qh-original-hero-button,
  .qh .qh-hero-launch .qh-button-arrow {
    transition: none;
  }

  .qh .qh-hero-launch a.qh-original-hero-button:hover {
    transform: none;
  }
}

/* EXISTING SUPPORTING STYLES */
.qh .qh-original-hero-content {
  position: relative;
  z-index: 2;
}

.qh .qh-news .qh-nimg img {
  font-size: 0;
  color: transparent;
}

.qh .qh-footer-warning {
  font-size: 0.8rem;
}
