
.hp-infoBox{
  position: fixed;
  left: 12px;
  top: 12px;
  width: min(320px, calc(100vw - 24px));
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(16,24,40,0.08);
  border-radius: 12px;
  box-shadow: 0 6px 14px rgba(2,10,30,.08);
  padding: 10px 12px;
  z-index: 9999;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

/* Header */
.hp-infoBox__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
}

.hp-infoBox__title{
  margin:0;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
}

.hp-infoBox__meta{
  margin:2px 0 0;
  font-size:12px;
  color:#6b7280;
}

/* Locations */
.hp-infoBox__list{
  margin:6px 0 0 14px;
  padding:0;
  font-size:13px;
}
.hp-infoBox__list li{
  margin:2px 0;
}

/* Close */
.hp-infoBox__close{
  background:none;
  border:none;
  font-size:16px;
  cursor:pointer;
  line-height:1;
  color:#6b7280;
}
.hp-infoBox__close:hover{
  color:#111827;
}

/* -------------------------
   US Map
   ------------------------- */
/* Base state shape */
#us-map .state {
  transition: fill 120ms ease-in-out, stroke 120ms ease-in-out, opacity 120ms ease-in-out;
  stroke: #ffffff;
  stroke-width: 1;
}

/* Inactive: grey + no hover + no click */
#us-map .state--inactive {
  fill: #18519c;
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

/* Active: highlighted and selectable */
#us-map .state--active {
  fill: #18519c;
  opacity: 0.92;
  cursor: pointer;
  pointer-events: auto;
}

/* Active hover/focus styling */
#us-map .state--active:hover,
#us-map .state--active:focus {
  fill: #1f66c2;
}

.map-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

/* Optional: control max size */
#us-map {
  max-width: 1000px;
  width: 100%;
  height: auto;
}

/* -------------------------
   Global tokens + base
   ------------------------- */
:root{
  /* dial back overall size */
  --ui-scale: 1.10;

  --hp-ink:#2f3b41;
  --hp-blue:#0b63d1;
  --hp-bg:#f6f7f9;
  --hp-white:#ffffff;

  --border: rgba(16,24,40,0.10);

  /* softer shadows */
  --shadow: 0 10px 22px rgba(2,10,30,.10);
  --shadow-soft: 0 6px 16px rgba(2,10,30,.08);

  --radius: calc(14px * var(--ui-scale));
  --container: calc(1200px * var(--ui-scale));
}

*{box-sizing:border-box}
html, body{margin:0; padding:0}

body{
  font-family: Arial, sans-serif;
  background-color: var(--hp-bg);
  color: var(--hp-ink);
  line-height: 1.5;
  font-size: calc(16px * var(--ui-scale));
}

a{color:inherit; text-decoration:none}
img{max-width:100%; height:auto; display:block}

.container{
  width: min(var(--container), calc(100% - calc(40px * var(--ui-scale))));
  margin: 0 auto;
}

/* -------------------------
   Header / Nav
   ------------------------- */
header.hp-header{
  background: linear-gradient(90deg, #2f3b41 0%, #0b63d1 100%);
  color:#fff;
  box-shadow: 0 4px 14px rgba(0,0,0,0.12);
}

.hp-header__inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding: calc(12px * var(--ui-scale)) 0;
  gap: calc(16px * var(--ui-scale));
}

.hp-brand{
  display:flex;
  align-items:center;
  gap: calc(12px * var(--ui-scale));
}

.hp-brand img{
  height: calc(50px * var(--ui-scale));
}

.hp-brand__name{
  font-weight: 800;
  letter-spacing: -0.02em;
  font-size: calc(16px * var(--ui-scale));
}

.hp-brand__tag{
  font-weight: 650;
  font-size: calc(12px * var(--ui-scale));
  opacity: .9;
}

.nav-links{
  list-style:none;
  display:flex;
  gap: calc(20px * var(--ui-scale));
  margin:0;
  padding:0;
  align-items:center;
}

.nav-links a{
  color: rgba(255,255,255,.92);
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: calc(6px * var(--ui-scale));
  transition: color .2s ease, text-decoration-color .2s ease;
}

.nav-links a:hover{
  color:#fff;
  text-decoration-color: rgba(255,255,255,.8);
}

.hp-nav-toggle{
  display:none;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  padding: calc(10px * var(--ui-scale));
  border-radius: calc(10px * var(--ui-scale));
  cursor:pointer;
}

.hp-nav-toggle span{
  display:block;
  width: calc(22px * var(--ui-scale));
  height: 2px;
  background:#fff;
  margin: calc(4px * var(--ui-scale)) 0;
  border-radius: 2px;
}

/* -------------------------
   Hero
   ------------------------- */
.hero{
  padding: calc(54px * var(--ui-scale)) 0 calc(42px * var(--ui-scale));
}

.hero.has-bg,
.hero.has-EMP{
  position:relative;
  color:#fff;
  background-position:center;
  background-size:cover;
}

.hero.has-bg{
  background-image:url("Pictures/BG.png");
}

.hero.has-EMP{
  background-image:url("Pictures/670N2Fleet.jpg");
}

.hero.has-bg::before,
.hero.has-EMP::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.65) 10%,
    rgba(0,0,0,0) 200%
  );
  opacity:.78;
  z-index:1;
}

.hero > *{
  position:relative;
  z-index:2;
}

.hero *{position:relative; z-index:1}

.hero__inner{
  display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: calc(22px * var(--ui-scale));
  align-items:start;
}

.hero h1{
  font-size: clamp(
    calc(30px * var(--ui-scale)),
    3.1vw,
    calc(48px * var(--ui-scale))
  );
  line-height:1.06;
  margin:0 0 calc(12px * var(--ui-scale));
  font-weight: 850;
}

.hero__lead{
  font-size: calc(16px * var(--ui-scale));
  max-width:70ch;
  margin:0 0 calc(16px * var(--ui-scale));
  opacity:.95;
}

/* -------------------------
   Buttons (mellower)
   ------------------------- */
.actions{
  display:flex;
  gap: calc(12px * var(--ui-scale));
  flex-wrap:wrap;
  margin: 0 0 calc(14px * var(--ui-scale));
}

.btn{
  position: relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: calc(11px * var(--ui-scale)) calc(15px * var(--ui-scale));
  border-radius: calc(12px * var(--ui-scale));
  font-weight: 750;
  font-size: calc(14px * var(--ui-scale));
  cursor:pointer;
  border: 1px solid transparent;
  transition: transform .12s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

/* underline for ALL buttons */
.btn::after{
  content:"";
  position:absolute;
  left: 50%;
  bottom: calc(8px * var(--ui-scale));
  width: 70%;
  height: 2px;
  background: currentColor; /* auto adapts to button text color */
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}

.btn:hover::after{
  transform: translateX(-50%) scaleX(1);
}

.btn.primary{
  background: var(--hp-blue);
  color:#fff;
  box-shadow: 0 8px 18px rgba(0,115,230,.14);
}

.btn.primary:hover{
  box-shadow: 0 10px 22px rgba(0,115,230,.16);
}

.btn.secondary{
  background: rgba(11,99,209,.10);
  color: var(--hp-ink);
  border-color: rgba(11,99,209,.22);
  box-shadow: none;
}

.btn.secondary:hover{
  background: rgba(11,99,209,.14);
}

.btn.ghost{
  background: rgba(255,255,255,.12);
  color:#fff;
  border-color: rgba(255,255,255,.18);
}

.btn.ghost:hover{
  background: rgba(255,255,255,.18);
}

/* -------------------------
   Pills (calmer / less glass)
   ------------------------- */
.pills{
  display:flex;
  flex-wrap:wrap;
  gap: calc(10px * var(--ui-scale));
  margin-top: calc(12px * var(--ui-scale));
}

.pill{
  display:inline-flex;
  align-items:center;
  white-space: nowrap;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.18);
  padding: calc(7px * var(--ui-scale)) calc(10px * var(--ui-scale));
  border-radius: 999px;
  font-weight: 700;
  font-size: calc(13px * var(--ui-scale));
  color:#fff;
  backdrop-filter: none;
}

/* -------------------------
   Sections / Grid / Boxes
   ------------------------- */
.section{
  padding: calc(52px * var(--ui-scale)) 0;
  background: var(--hp-bg);
}

.section.alt{
  background:#fff;
  border-top:1px solid rgba(51,65,71,.08);
  border-bottom:1px solid rgba(51,65,71,.08);
}

.grid{
  display:grid;
  gap: calc(16px * var(--ui-scale));
}

.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}

.box{
  background:#fff;
  padding: calc(18px * var(--ui-scale));
  border-radius: var(--radius);
  border: 1px solid rgba(51,65,71,0.12);
  box-shadow: var(--shadow-soft);
}

/* -------------------------
   Partners strip
   ------------------------- */
.partnerstrip{
  display:grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: calc(12px * var(--ui-scale));
  align-items:center;
}

.partner{
  background:#fff;
  border:1px solid rgba(51,65,71,0.10);
  border-radius: calc(14px * var(--ui-scale));
  padding: calc(12px * var(--ui-scale));
  display:flex;
  align-items:center;
  justify-content:center;
  min-height: calc(72px * var(--ui-scale));
  box-shadow: 0 calc(6px * var(--ui-scale)) calc(14px * var(--ui-scale)) rgba(0,0,0,0.05);
}

.partner img{
  max-height: calc(40px * var(--ui-scale));
  width:auto;
  object-fit:contain;
}

/* -------------------------
   Gallery
   ------------------------- */
.gallery{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: calc(12px * var(--ui-scale));
}

.gitem{
  border-radius: calc(16px * var(--ui-scale));
  overflow:hidden;
  border:1px solid rgba(51,65,71,0.12);
  background:#fff;
  box-shadow: 0 calc(8px * var(--ui-scale)) calc(16px * var(--ui-scale)) rgba(0,0,0,0.06);
  min-height: calc(170px * var(--ui-scale));
}

.gitem img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.gitem.tall{
  grid-row: span 2;
  min-height: calc(360px * var(--ui-scale));
}

/* -------------------------
   Footer
   ------------------------- */
footer.hp-footer{
  background: linear-gradient(90deg, #2f3b41 0%, #0b63d1 100%);
  color:#fff;
  padding: calc(20px * var(--ui-scale));
}

.hp-footer__inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: calc(12px * var(--ui-scale));
  flex-wrap:wrap;
}

.hp-footer__social{
  display:flex;
  align-items:center;
  gap: calc(8px * var(--ui-scale));
}

.hp-footer__social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.social-icon{
  height: calc(25px * var(--ui-scale));
  width:auto;
  background-color: transparent;
  transition: filter 0.2s ease;
  display:block;
}

.social-icon:hover{
  filter: invert(1) brightness(0);
}

/* -------------------------
   Responsive
   ------------------------- */
@media (max-width: 980px){
  .hero__inner{grid-template-columns:1fr}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .nav-links{display:none}
  .hp-nav-toggle{display:block}

  .partnerstrip{ grid-template-columns: repeat(3, minmax(0,1fr)); }
  .gallery{ grid-template-columns: 1fr; }
  .gitem.tall{ grid-row: auto; min-height: calc(260px * var(--ui-scale)); }

  .hp-footer__inner{
    justify-content:center;
    text-align:center;
  }
}

/* =========================
   Ticket Page (lighter / less bulky)
   ========================= */

/* Keep section spacing tighter on ticket page */
#ticket.section,
#ticket.section.alt{
  padding: calc(34px * var(--ui-scale)) 0;
}

/* Slightly tighter grid + boxes for this page */
#ticket .hp-ticketGrid{
  gap: calc(12px * var(--ui-scale));
}

#ticket .box{
  padding: calc(14px * var(--ui-scale));
}

/* Reduce header spacing in the section head */
#ticket .section__head{
  margin-bottom: calc(12px * var(--ui-scale));
}
#ticket .section__head h2{
  margin: 0 0 calc(6px * var(--ui-scale));
}
#ticket .section__head p{
  margin: 0;
  max-width: 72ch;
  color: #4a5a61;
}

/* Form: tighter rhythm */
#ticket label{
  display:block;
  margin: calc(10px * var(--ui-scale)) 0 calc(5px * var(--ui-scale));
  font-weight: 750;
  color: var(--hp-ink);
}

#ticket small{
  display:block;
  margin-top: calc(-3px * var(--ui-scale));
  margin-bottom: calc(6px * var(--ui-scale));
  color:#667085;
  font-size: calc(12px * var(--ui-scale));
  line-height: 1.35;
}

/* Inputs: smaller padding + slightly smaller radius */
#ticket input,
#ticket select,
#ticket textarea{
  width:100%;
  padding: calc(9px * var(--ui-scale)) calc(10px * var(--ui-scale));
  border-radius: calc(10px * var(--ui-scale));
  border: 1px solid rgba(16,24,40,0.14);
  font-size: calc(14px * var(--ui-scale));
  background:#fff;
}

/* Subtle focus */
#ticket input:focus,
#ticket select:focus,
#ticket textarea:focus{
  outline: none;
  border-color: rgba(11,99,209,.40);
  box-shadow: 0 0 0 calc(3px * var(--ui-scale)) rgba(11,99,209,.12);
}

#ticket textarea{
  resize: vertical;
  min-height: calc(130px * var(--ui-scale));
}

/* Steps */
#ticket .form-step{ display:none; }
#ticket .form-step.active{ display:block; }

/* Actions: tighter and keep buttons from looking oversized */
#ticket .hp-ticketActions{
  display:flex;
  justify-content: space-between;
  gap: calc(10px * var(--ui-scale));
  margin-top: calc(10px * var(--ui-scale));
  align-items:center;
}

/* Override .btn padding slightly only inside ticket section */
#ticket .btn{
  padding: calc(10px * var(--ui-scale)) calc(14px * var(--ui-scale));
  border-radius: calc(11px * var(--ui-scale));
  font-size: calc(13.5px * var(--ui-scale));
}

/* Optional: make the info box text feel less “blocky” */
#ticket .hp-ticketInfo p,
#ticket .hp-ticketInfo li{
  color:#4a5a61;
  line-height: 1.55;
}
#ticket .hp-ticketInfo h3{
  margin-top: 0;
  margin-bottom: calc(8px * var(--ui-scale));
}

/* =========================
   Logistics section (softened)
   ========================= */
#logistics .hp-logisticsStatRow{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: calc(14px * var(--ui-scale));
  margin-top: calc(12px * var(--ui-scale));
}

#logistics .hp-logisticsStat{
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: calc(16px * var(--ui-scale));
  padding: calc(12px * var(--ui-scale)) calc(14px * var(--ui-scale));
  backdrop-filter: none;
}

#logistics .hp-logisticsStat b{
  display:block;
  font-size: calc(18px * var(--ui-scale));
  letter-spacing: -0.02em;
  line-height: 1.15;
}

#logistics .hp-logisticsStat span{
  display:block;
  font-size: calc(12.5px * var(--ui-scale));
  opacity: .95;
  margin-top: calc(3px * var(--ui-scale));
}

#logistics .hp-logisticsKickers{
  display:flex;
  flex-wrap:wrap;
  gap: calc(10px * var(--ui-scale));
  margin-top: calc(12px * var(--ui-scale));
}

#logistics .hp-kicker{
  display:inline-flex;
  align-items:center;
  gap: calc(8px * var(--ui-scale));
  background:#fff;
  border: 1px solid rgba(51,65,71,0.12);
  border-radius: 999px;
  padding: calc(8px * var(--ui-scale)) calc(12px * var(--ui-scale));
  box-shadow: var(--shadow-soft);
  font-weight: 750;
  font-size: calc(13px * var(--ui-scale));
  color: var(--hp-ink);
}

#logistics .hp-kickerDot{
  width: calc(10px * var(--ui-scale));
  height: calc(10px * var(--ui-scale));
  border-radius: 999px;
  background: var(--hp-blue);
  box-shadow: 0 0 0 calc(3px * var(--ui-scale)) rgba(11,99,209,.10);
  flex: 0 0 auto;
}

#logistics .hp-serviceList{
  margin: calc(10px * var(--ui-scale)) 0 0;
  padding-left: calc(18px * var(--ui-scale));
  color: #4a5a61;
  line-height: 1.55;
}
#logistics .hp-serviceList li{ margin: calc(6px * var(--ui-scale)) 0; }

/* callout: soften the “flash” */
#logistics .hp-callout{
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid rgba(11,99,209,.18);
  position: relative;
  overflow:hidden;
}
#logistics .hp-callout::before{
  content:"";
  position:absolute;
  inset:-40% -30%;
  background: radial-gradient(circle at 30% 30%, rgba(11,99,209,.12), transparent 55%);
  transform: rotate(8deg);
  pointer-events:none;
}
#logistics .hp-callout > *{ position:relative; }

#logistics .hp-miniGrid{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: calc(16px * var(--ui-scale));
  align-items:start;
}

#logistics .hp-steps{
  counter-reset: step;
  margin: 0;
  padding: 0;
  list-style: none;
  display:grid;
  gap: calc(10px * var(--ui-scale));
}
#logistics .hp-steps li{
  counter-increment: step;
  background:#fff;
  border: 1px solid rgba(51,65,71,0.12);
  border-radius: calc(14px * var(--ui-scale));
  padding: calc(12px * var(--ui-scale)) calc(14px * var(--ui-scale));
  box-shadow: var(--shadow-soft);
}
#logistics .hp-steps li b{
  display:flex;
  align-items:center;
  gap: calc(10px * var(--ui-scale));
  font-size: calc(14px * var(--ui-scale));
  font-weight: 800;
}
#logistics .hp-steps li b::before{
  content: counter(step);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: calc(26px * var(--ui-scale));
  height: calc(26px * var(--ui-scale));
  border-radius: 999px;
  background: rgba(11,99,209,.08);
  border: 1px solid rgba(11,99,209,.16);
  color: var(--hp-blue);
  font-weight: 900;
  flex: 0 0 auto;
}
#logistics .hp-steps li p{
  margin: calc(6px * var(--ui-scale)) 0 0;
  color:#4a5a61;
}

#logistics .hp-formRow{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(12px * var(--ui-scale));
}

#logistics .hp-form label{
  display:block;
  margin: calc(10px * var(--ui-scale)) 0 calc(5px * var(--ui-scale));
  font-weight: 750;
  color: var(--hp-ink);
}

#logistics .hp-form input,
#logistics .hp-form select,
#logistics .hp-form textarea{
  width:100%;
  padding: calc(9px * var(--ui-scale)) calc(10px * var(--ui-scale));
  border-radius: calc(10px * var(--ui-scale));
  border: 1px solid rgba(16,24,40,0.14);
  font-size: calc(14px * var(--ui-scale));
  background:#fff;
}

#logistics .hp-form input:focus,
#logistics .hp-form select:focus,
#logistics .hp-form textarea:focus{
  outline: none;
  border-color: rgba(11,99,209,.40);
  box-shadow: 0 0 0 calc(3px * var(--ui-scale)) rgba(11,99,209,.12);
}

#logistics .hp-form textarea{
  min-height: calc(120px * var(--ui-scale));
  resize: vertical;
}

#logistics .hp-formActions{
  display:flex;
  gap: calc(10px * var(--ui-scale));
  align-items:center;
  margin-top: calc(12px * var(--ui-scale));
  flex-wrap:wrap;
}

#logistics .hp-note{
  font-size: calc(12.5px * var(--ui-scale));
  color:#667085;
  margin: calc(10px * var(--ui-scale)) 0 0;
  line-height: 1.4;
}

@media (max-width: 980px){
  #logistics .hp-logisticsStatRow{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  #logistics .hp-miniGrid{ grid-template-columns: 1fr; }
  #logistics .hp-formRow{ grid-template-columns: 1fr; }
}

/* Utility */
.center-btn { text-align: center; }
  .hp-loginGrid{
  width:100%;
  max-width:1100px;
  margin:40px auto 80px;   /* ← increase last value */
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:24px;
  padding:0 20px;
}
  .hp-loginHelp{
  display:block;
  margin-top:12px;
  padding-top:10px;

  font-size:13px;
  color:#5b6b73;
  text-decoration:none;

  border-top:1px solid rgba(0,0,0,.08);   /* ← this is the line */
  text-align:center;
}

.hp-loginHelp:hover{
  text-decoration:underline;
  color:#1e63e9;
}
  .hp-loginNote{
  font-size:13px;
  color:#5b6b73;
  text-align:center;
  line-height:1.45;
  max-width:260px;
  border-top:1px solid rgba(0,0,0,.06);
  padding-top:10px;
  margin-top:4px;
}


.hp-loginCard{
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
  border-radius:18px;
  padding:36px 28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  transition:.18s ease;
}

.hp-loginCard:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.hp-loginLogo{
  height:46px;
  object-fit:contain;
}

.hp-loginTitle{
  font-weight:800;
  font-size:18px;
  color:#0f1720;
}

.hp-loginBtn{
  margin-top:6px;
  background:#1e63e9; /* your hp blue */
  color:#fff;
  border:none;
  border-radius:10px;
  padding:10px 18px;
  font-weight:700;
  cursor:pointer;
}

.hp-loginBtn:hover{
  background:#174fc2;
}

/* mobile */
@media (max-width:700px){
  .hp-loginGrid{
    grid-template-columns:1fr;
  }
}
  .hp-signinBanner{
    position: relative;
    overflow: hidden;
    background: rgba(0,0,0,.02);
    min-height: 150px;
  }
.hp-signinBanner img{
  width: 100%;
  height: clamp(200px, 38vw, 500px);
  object-fit: cover;
}
.hp-signinBanner__overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:22px;

  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.65) 10%,
    rgba(0,0,0,0) 200%
  );
}
  .hp-signinBanner__title{
    color:#fff;
    font-weight: 900;
    letter-spacing: -0.02em;
    font-size: 40px;
    line-height: 1.1;
  }
  .hp-signinBanner__sub{
    color: rgba(255,255,255,.92);
    font-weight: 700;
    font-size: 15px;
    margin-top: 4px;
  }

  .hp-authRow{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid rgba(16,24,40,.08);
  }
  .hp-authRow:first-of-type{
    border-top: 1px solid rgba(16,24,40,.08);
  }
  .hp-authRow__name{
    font-weight: 850;
    margin: 0 0 3px;
  }
  .hp-authRow__desc{
    color:#4a5a61;
    font-size: 13.5px;
    line-height: 1.45;
  }
  .hp-authRow__right{
    display:flex;
    gap: 10px;
    flex-wrap:wrap;
    justify-content:flex-end;
    align-items:center;
    min-width: 220px;
  }

  .hp-sidePhoto{
    border-radius: 14px;
    overflow:hidden;
    border: 1px solid rgba(16,24,40,.10);
    background: rgba(0,0,0,.02);
    height: 150px;
  }
  .hp-sidePhoto img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display:block;
  }

  @media (max-width: 980px){
    .grid[style*="grid-template-columns"]{
      grid-template-columns: 1fr !important;
    }
    .hp-authRow__right{
      min-width: 0;
      justify-content:flex-start;
    }
  }

.hp-signinWrap{
  width: 100%;
  max-width: 520px;
  margin: 28px auto 80px;
  padding: 0 20px;
}

.hp-signinCard{
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
  border-radius:18px;
  padding:28px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}

.hp-signinHeader{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom: 14px;
}

.hp-signinLogo{
  height:42px;
  width:auto;
  object-fit:contain;
}

.hp-signinTitle{
  margin:0;
  font-weight:900;
  letter-spacing:-0.02em;
  font-size:22px;
  color:#0f1720;
}

.hp-signinForm{
  margin-top: 14px;
}

.hp-signinLabel{
  display:block;
  font-weight:750;
  color: var(--hp-ink);
  margin: 12px 0 6px;
  font-size: 13.5px;
}

.hp-signinInput{
  width:100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(16,24,40,0.14);
  font-size: 14px;
  background:#fff;
}

.hp-signinInput:focus{
  outline:none;
  border-color: rgba(11,99,209,.40);
  box-shadow: 0 0 0 calc(3px * var(--ui-scale)) rgba(11,99,209,.12);
}

.hp-signinActions{
  margin-top: 16px;
}

.hp-signinError{
  display:none;
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff0f0;
  border: 1px solid #ffd0d0;
  color: #8a1f1f;
  font-size: 13px;
  line-height: 1.35;
}

.hp-signinMeta{
  margin-top: 10px;
}
/* Stack logo above title + make logo bigger */
.hp-signinHeader--stack{
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}

.hp-signinLogo--lg{
  height: 68px;      /* increase/decrease as you like */
}

.hp-signinTitle{
  text-align:center;
}
/* ===============================
   HEADER USER AREA (FINAL CLEAN)
   =============================== */

/* portal link + username alignment */
.hp-portalItem{
  display:flex;
  align-items:center;
}

.hp-portalWrap{
  display:inline-flex;
  align-items:center;
  gap:14px;
}

/* username container */
.hp-userArea{
  position: relative;
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  color: rgba(255,255,255,.92);
  font-weight:500;
}

/* username line */
.hp-userBtn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;

  background:transparent;
  border:0;
  padding:0;
  border-radius:0;

  color:inherit;
  font-weight:500;
}

/* arrow */
.hp-userCaret{
  font-size:12px;
  opacity:.85;
}

/* dropdown text only (NO BOX) */
.hp-userMenu{
  position:absolute;
  top:100%;
  left:0;
  padding-top:6px;

  background:transparent;
  box-shadow:none;
  border-radius:0;
  min-width:0;

  display:none;
  z-index:9999;
}

.hp-userMenu button{
  border:none;
  background:none;
  padding:0;
  color:#fff;
  font-size:14px;
  cursor:pointer;
  opacity:.85;
}

.hp-userMenu button:hover{
  text-decoration:underline;
  opacity:1;
}

/* hover behavior */
.hp-userArea:hover .hp-userMenu{
  display:block;
}

/* ===============================
   MOBILE NAV FIXES
   =============================== */

.hp-mobileNavInner{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px 0;
}

.hp-mobile-nav a{
  display:block;
  padding:10px 0;
  color: rgba(255,255,255,.92);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.hp-mobile-nav a:last-of-type{
  border-bottom:none;
}

/* mobile username (optional) */
.hp-userArea--mobile{
  margin-top:10px;
}
/* =========================
   Contact form mobile fixes
   ========================= */
@media (max-width: 700px){
  /* Give the section more breathing room */
  #ticket.section,
  #ticket.section.alt{
    padding: 22px 0;
  }

  /* Make the card fit smaller screens better */
  #ticket .box{
    padding: 14px;
    border-radius: 14px;
  }

  /* Reduce label spacing */
  #ticket label{
    margin: 10px 0 6px;
    font-size: 13.5px;
  }

  #ticket small{
    font-size: 12px;
    margin-bottom: 8px;
  }

  /* Inputs: reduce height + remove iOS zoom issues */
  #ticket input,
  #ticket select,
  #ticket textarea{
    padding: 10px 12px;
    font-size: 16px; /* prevents iOS Safari auto-zoom */
    border-radius: 10px;
  }

  #ticket textarea{
    min-height: 120px;
  }

  /* Actions: stack button + hint */
  #ticket .hp-ticketActions{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 12px;
  }

  #ticket .hp-ticketActions .btn{
    width: 100%;
    justify-content: center;
  }

  #ticket #hpFormHint{
    text-align: left;
  }

  /* Turnstile: keep it from looking cramped */
  #ticket .cf-turnstile{
    transform-origin: 0 0;
    /* If it still feels wide on very small devices, uncomment:
       transform: scale(0.95);
    */
  }

  /* Success/error message spacing */
  #ticket #hpFormMsg{
    font-size: 13.5px;
  }
}
.hp-EmpResourceGrid {
  width: 100%;
  max-width: 800px;
  margin: 40px auto 80px;
  display: grid;
  grid-template-columns: 1fr; /* phones: single column */
  gap: 24px;
  padding: 0 20px;
}

/* tablets / desktops */
@media (min-width: 768px) {
  .hp-EmpResourceGrid {
    grid-template-columns: repeat(2, 1fr); /* 3 columns */
  }
}
.hp-EmpResourcesTitle{
  font-weight:800;
  font-size:16px;
  color:#0f1720;
  text-align: center;
}

/* =========================
   Support Portal
   ========================= */

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

#support-portal{
  padding: calc(34px * var(--ui-scale)) 0;
}

.hp-supportTop{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:16px;
  flex-wrap:wrap;
}

.hp-supportBrand{
  display:flex;
  align-items:center;
  gap:12px;
}

.hp-supportLogo{
  width: 40px;;
  height: 40px;;
  border-radius:10px;
  background:var(--hp-blue);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.hp-supportLogo svg{
  width:18px;
  height:18px;
  fill:#fff;
  display:block;
}

.hp-supportBrand h1{
  margin:0;
  font-size:20px;
  line-height:1.1;
}

.hp-supportBrand p{
  margin:3px 0 0;
  font-size:13px;
  color:#667085;
}

.hp-supportActions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}

.hp-supportActions .pill{
  background:rgba(11,99,209,.08);
  color:var(--hp-ink);
  border-color:rgba(11,99,209,.16);
}

.hp-btnDanger{
  color:#8a1f1f;
  background:#fff0f0;
  border-color:#ffd0d0;
}

.hp-supportGrid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:16px;
}

.hp-cardHead{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
  flex-wrap:wrap;
}

.hp-cardHead h2{
  margin:0;
  font-size:18px;
}

.hp-muted{
  font-size:12.5px;
  color:#667085;
}

.hp-chipRow{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.hp-chip,
.hp-slaPill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(11,99,209,.08);
  border:1px solid rgba(11,99,209,.14);
  font-size:12px;
  font-weight:750;
}

.hp-dot{
  width:8px;
  height:8px;
  border-radius:999px;
}

.hp-dotOpen{ background:#22c55e; }
.hp-dotProgress{ background:#f59e0b; }
.hp-dotWaiting{ background:#6366f1; }

.hp-formGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.hp-formFull{
  grid-column:1 / -1;
}

#support-portal label{
  display:block;
  margin:8px 0 5px;
  font-weight:750;
  color:var(--hp-ink);
  font-size:13.5px;
}

#support-portal input,
#support-portal select,
#support-portal textarea{
  width:100%;
  padding:9px 10px;
  border-radius:10px;
  border:1px solid rgba(16,24,40,.14);
  font-size:14px;
  background:#fff;
}

#support-portal textarea{
  min-height:120px;
  resize:vertical;
}

#support-portal small{
  display:block;
  margin-top:5px;
  color:#667085;
  font-size:12px;
}

.hp-lockTag{
  font-size:10px;
  color:#98a2b3;
  margin-left:4px;
}

.hp-divider{
  height:1px;
  background:rgba(16,24,40,.08);
  margin:18px 0;
}

.hp-sectionLabel{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}

.hp-sectionLabel h3{
  margin:0;
  font-size:15px;
}

.hp-badge{
  font-size:11px;
  background:rgba(11,99,209,.08);
  color:var(--hp-ink);
  padding:4px 9px;
  border-radius:999px;
}

.hp-attachBox{
  border:1px dashed rgba(16,24,40,.22);
  border-radius:12px;
  padding:12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.hp-attachName{
  font-weight:750;
}

.hp-miniBtns{
  display:flex;
  gap:8px;
}

/* =========================
   Messages (FINAL)
   ========================= */

.hp-thread{
  max-height:420px;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding-right:6px;
}

/* Base message row */
.hp-msg{
  display:flex;
  gap:10px;
  align-items:flex-start;
}

/* Content wrapper */
.hp-msgContent{
  max-width:75%;
  display:flex;
  flex-direction:column;
}

/* LEFT (requester) */
.hp-msg{
  justify-content:flex-start;
}

/* RIGHT (support) */
.hp-msgMine{
  justify-content:flex-end;
  flex-direction:row-reverse;
}

.hp-msgMine .hp-msgContent{
  max-width:75%;
  align-items:flex-end;
  text-align:right;
}

/* Name + meta */
.hp-msgName{
  font-weight:800;
  font-size:13px;
}

.hp-msgMeta{
  font-size:11.5px;
  color:#667085;
}

/* MESSAGE BUBBLES */

/* requester (LEFT) — yellow */
.hp-msg:not(.hp-msgMine) .hp-msgBody{
  background:#fff6cc;
  border:1px solid #f5e3a3;
  border-radius:12px;
  padding:8px 10px;
}

/* support (RIGHT) — blue */
.hp-msgMine .hp-msgBody{
  background:rgba(11,99,209,.08);
  border:1px solid rgba(11,99,209,.18);
  border-radius:12px;
  padding:8px 10px;
}

/* internal notes */
.hp-msgInternal .hp-msgBody{
  background:#f2f4f7;
  border:1px dashed #d0d5dd;
}

/* Avatar */
.hp-avatar{
  width:34px;
  height:34px;
  border-radius:999px;
  background:var(--hp-blue);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:800;
  flex:0 0 auto;
}

/* Message text */
.hp-msgBody{
  margin-top:4px;
  font-size:14px;
  line-height:1.45;
  overflow-wrap:anywhere;
}

/* =========================
   Messages (FINAL CLEAN)
   ========================= */

.hp-thread{
  max-height:420px;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding-right:6px;
}

/* Base row */
.hp-msg{
  display:flex;
  gap:10px;
  align-items:flex-start;
  width:100%;
}

/* Content wrapper */
.hp-msgContent{
  max-width:75%;
  display:flex;
  flex-direction:column;
}

/* LEFT (requester / system) */
.hp-msg{
  justify-content:flex-start;
}

/* THIS is what actually fixes your issue */
.hp-msgMine .hp-msgContent{
  width:75%;
  max-width:75%;
  align-items:flex-end;
  text-align:right;
}

/* Name + meta */
.hp-msgName{
  font-weight:800;
  font-size:13px;
}

.hp-msgMeta{
  font-size:11.5px;
  color:#667085;
}

.hp-msg:not(.hp-msgMine) .hp-msgBody{
  background:#fff6cc;
  border:1px solid #f5e3a3;
  border-radius:12px;
  padding:8px 10px;
}

.hp-msgMine .hp-msgBody{
  background:rgba(11,99,209,.08);
  border:1px solid rgba(11,99,209,.18);
  border-radius:12px;
  padding:8px 10px;
  max-width:100%;
}

.hp-msgInternal .hp-msgBody{
  background:#f2f4f7;
  border:1px dashed #d0d5dd;
}

/* Avatar */
.hp-avatar{
  width:34px;
  height:34px;
  border-radius:999px;
  background:var(--hp-blue);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:800;
  flex:0 0 auto;
}

/* Message text */
.hp-msgBody{
  margin-top:4px;
  font-size:14px;
  line-height:1.45;
  overflow-wrap:anywhere;
}

/* Composer stays below */
.hp-composer{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(16,24,40,.08);
}
.hp-msgBody a {
  color: var(--hp-blue);
  font-weight: 600;
  text-decoration: underline;
}
.hp-uploadStatus{
  display:none;
  align-items:center;
  gap:8px;
  margin-top:10px;
  font-size:13px;
  color:#475467;
}

@keyframes hpSpin{
  to{
    transform:rotate(360deg);
  }
}
.hp-chatLoadingOverlay{
  position:absolute;
  inset:0;
  z-index:20;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(2px);
  border-radius:inherit;
}

.hp-chatLoadingBox{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(16,24,40,.12);
  box-shadow:0 8px 20px rgba(0,0,0,.10);
  font-weight:700;
  color:#344054;
}

.hp-spinner{
  width:18px;
  height:18px;
  border:2px solid rgba(11,99,209,.18);
  border-top-color:var(--hp-blue);
  border-radius:999px;
  animation:hpSpin .7s linear infinite;
}

@keyframes hpSpin{
  to{ transform:rotate(360deg); }
}