/* HALVION INDUSTRIAL GROUP — BLOGGER V7.12 RIGHT-SIZED WEB SUPPORT */
:root{
  --hv-navy:#1B2A41;
  --hv-ink:#142033;
  --hv-blue:#3A86FF;
  --hv-orange:#D98A24;
  --hv-steel:#6B7280;
  --hv-soft:#EEF3F8;
  --hv-bg:#F7F9FC;
  --hv-line:#DDE3EC;
  --hv-white:#fff;
  --hv-shadow:0 14px 34px rgba(20,32,51,.08);
  --hv-heavy:0 24px 58px rgba(20,32,51,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Montserrat,Arial,sans-serif;
  color:var(--hv-ink);
  background:var(--hv-bg);
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
p{line-height:1.68}
.hv-wrap{width:min(100% - 40px,1120px);margin:0 auto}
.hv-kicker{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.085em;text-transform:uppercase;color:var(--hv-orange)}
.hv-kicker:before{content:"";width:26px;height:2px;background:var(--hv-orange);flex:0 0 auto}
.hv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 15px;border-radius:6px;background:var(--hv-navy);color:#fff;font-weight:750;border:1px solid var(--hv-navy);transition:.16s ease}
.hv-btn:hover{transform:translateY(-1px);background:#101a2b}
.hv-btn.secondary{background:#fff;color:var(--hv-navy);border-color:var(--hv-line)}
h1,h2,h3{font-family:Montserrat,Arial,sans-serif;margin:0;color:var(--hv-navy);letter-spacing:-.035em}
h1{font-size:clamp(36px,4vw,52px);line-height:1.1;font-weight:800}
h2{font-size:clamp(28px,3.1vw,42px);line-height:1.14;font-weight:780}
h3{font-size:20px;line-height:1.22;font-weight:760}
.hv-section{padding:58px 0}
.hv-white{background:#fff}
.hv-soft{background:var(--hv-soft)}
.hv-dark{background:var(--hv-navy);color:#fff}
.hv-dark h1,.hv-dark h2,.hv-dark h3{color:#fff}
.hv-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.hv-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hv-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hv-card{background:#fff;border:1px solid var(--hv-line);border-top:4px solid var(--hv-navy);border-radius:9px;padding:22px;box-shadow:var(--hv-shadow)}
.hv-card.blue{border-top-color:var(--hv-blue)}
.hv-card.orange{border-top-color:var(--hv-orange)}
.hv-card.dark{background:#17243A;color:#fff;border-color:rgba(255,255,255,.14)}
.hv-card.dark h3{color:#fff}
.hv-card p{margin:8px 0 0;color:var(--hv-steel);font-size:14px}
.hv-card.dark p{color:rgba(255,255,255,.75)}
.hv-label{display:block;color:var(--hv-blue);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.hv-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,480px);gap:30px;align-items:end;margin-bottom:30px}
.hv-head p{margin:0;color:var(--hv-steel)}
.hv-dark .hv-head p{color:rgba(255,255,255,.74)}

/* Header */
.hv-header{background:#fff;border-bottom:1px solid var(--hv-line);position:sticky;top:0;z-index:20;box-shadow:0 6px 18px rgba(20,32,51,.05)}
.hv-nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.hv-brand{display:flex;align-items:center;gap:12px;min-width:245px}
.hv-mark{display:grid;grid-template-columns:repeat(2,12px);grid-template-rows:repeat(2,12px);gap:5px;flex:0 0 auto}
.hv-mark span{display:block;border-radius:2px}
.hv-mark span:nth-child(1),.hv-mark span:nth-child(4){background:var(--hv-navy)}
.hv-mark span:nth-child(2){background:var(--hv-blue)}
.hv-mark span:nth-child(3){background:#6B7280}
.hv-word strong{display:block;color:var(--hv-navy);font-size:26px;line-height:1;font-weight:800;letter-spacing:-.045em}
.hv-word small{display:block;color:var(--hv-steel);font-size:10px;letter-spacing:.18em;font-weight:800;margin-top:4px;text-transform:uppercase}
.hv-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.hv-links a{font-size:11px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#263247;padding:10px 9px;border-radius:6px}
.hv-links a:hover{background:var(--hv-soft);color:var(--hv-navy)}
.hv-links a.cta{background:var(--hv-navy);color:#fff;padding:11px 13px}
.hv-mobile-toggle{display:none;background:#fff;border:1px solid var(--hv-line);padding:9px;border-radius:6px}
.hv-mobile-toggle span{display:block;width:21px;height:2px;background:var(--hv-navy);margin:4px 0}

/* Hero */
.hv-hero{
  background:
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(135deg,#111B2C 0%,#1B2A41 58%,#243B5A 100%);
  background-size:64px 64px,64px 64px,auto;
  color:#fff;
}
.hv-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:36px;align-items:center;min-height:520px;padding:54px 0 50px}
.hv-brandline{font-size:12px;color:#D8E1EE;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin:12px 0}
.hv-hero h1{color:#fff;max-width:760px}
.hv-lead{font-size:clamp(15px,1.35vw,18px);line-height:1.68;color:#D8E1EE;max-width:660px}
.hv-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px;max-width:690px}
.hv-pill{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);padding:10px;color:rgba(255,255,255,.82);font-size:12px;line-height:1.45}
.hv-pill strong{display:block;color:#fff;margin-bottom:2px}
.hv-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hv-hero .hv-btn.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.38)}
.hv-hero-card{background:#fff;color:var(--hv-ink);border:1px solid var(--hv-line);box-shadow:var(--hv-heavy);border-radius:9px;overflow:hidden}
.hv-hero-card-head{padding:16px 18px;background:var(--hv-soft);border-bottom:1px solid var(--hv-line)}
.hv-hero-card-head strong{display:block;color:var(--hv-navy);font-size:20px;font-weight:800;letter-spacing:-.025em}
.hv-hero-card-head span{color:var(--hv-steel);font-size:13px}
.hv-hero-card-body{padding:4px 18px 16px}
.hv-hero-line{padding:11px 0;border-bottom:1px solid var(--hv-line)}
.hv-hero-line:last-child{border-bottom:0}
.hv-hero-line strong{display:block;color:var(--hv-navy);font-size:14px;margin-bottom:2px}
.hv-hero-line span{color:var(--hv-steel);font-size:13px;line-height:1.5}

/* Inner pages hard-coded by route/title */
.hv-page-hero{background:linear-gradient(135deg,#111B2C,#1B2A41);color:#fff;padding:66px 0 58px}
.hv-page-hero h1{color:#fff}
.hv-page-hero p{color:#D8E1EE;max-width:780px;font-size:17px}
.hv-page-layout{padding:46px 0 70px}
.hv-callout{background:var(--hv-navy);color:#fff;border-radius:9px;padding:30px;box-shadow:var(--hv-heavy)}
.hv-callout h2{color:#fff}
.hv-callout p{color:rgba(255,255,255,.76);max-width:820px}

/* Footer */
.hv-footer{background:#111B2C;color:rgba(255,255,255,.75);padding:44px 0 26px}
.hv-footer-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr .85fr;gap:24px}
.hv-footer-logo{display:inline-flex;align-items:center;gap:12px;background:#fff;padding:12px 14px;border-radius:7px;box-shadow:0 10px 24px rgba(0,0,0,.18);margin-bottom:14px}
.hv-footer-logo strong{color:var(--hv-navy);font-size:24px;letter-spacing:-.045em;line-height:1}
.hv-footer-logo small{display:block;color:var(--hv-steel);font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;margin-top:4px}
.hv-footer p{margin:0;max-width:390px;line-height:1.65;font-size:14px}
.hv-footer h3{margin:0 0 10px;color:#fff;font-size:15px}
.hv-footer a{display:block;color:rgba(255,255,255,.76);margin:7px 0;font-size:14px}
.hv-footer a:hover{color:#fff}
.hv-bottom{margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.55);font-weight:800}

/* Hidden Blogger widget: pages are routes, theme renders content */
.hv-blog-hidden{display:none!important}

/* Demo table */
.hv-demo{border:1px solid var(--hv-line);border-radius:9px;overflow:hidden;box-shadow:var(--hv-shadow)}
.hv-demo-head{background:var(--hv-navy);color:#fff;padding:23px}
.hv-demo-head h2{color:#fff;margin:8px 0}
.hv-demo-head p{color:rgba(255,255,255,.76);margin:0}
.hv-controls{padding:16px;background:var(--hv-soft);border-bottom:1px solid var(--hv-line);display:flex;gap:10px;flex-wrap:wrap}
.hv-controls input,.hv-controls select{border:1px solid var(--hv-line);padding:10px 12px;border-radius:6px;font-family:Montserrat,Arial,sans-serif;min-height:42px}
.hv-controls input{flex:1;min-width:220px}
.hv-table{width:100%;border-collapse:collapse;background:#fff}
.hv-table th,.hv-table td{padding:12px;border-bottom:1px solid var(--hv-line);text-align:left;font-size:14px}
.hv-table th{background:#F7F9FC;color:var(--hv-navy);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.hv-table td{color:#374151}
.hv-badge{display:inline-flex;background:var(--hv-soft);color:var(--hv-navy);padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}


/* V7.1 subtle motion / haptic hover layer */
.hv-card,
.hv-hero-card,
.hv-demo,
.hv-footer-logo,
.hv-pill,
.hv-btn,
.hv-links a {
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background-color .18s ease,
    color .18s ease,
    filter .18s ease;
}

.hv-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 46px rgba(20,32,51,.14);
  border-color: rgba(58,134,255,.42);
}

.hv-card.blue:hover {
  border-top-color: #3A86FF;
}

.hv-card.orange:hover {
  border-top-color: #D98A24;
}

.hv-card.dark:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 54px rgba(0,0,0,.24);
  border-color: rgba(255,255,255,.22);
}

.hv-card:hover h3 {
  color: var(--hv-navy);
}

.hv-card.dark:hover h3 {
  color: #fff;
}

.hv-hero-card:hover,
.hv-demo:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 74px rgba(20,32,51,.20);
}

.hv-pill:hover {
  transform: translateY(-3px);
  background: rgba(255,255,255,.095);
  border-color: rgba(255,255,255,.28);
}

.hv-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(20,32,51,.16);
}

.hv-links a:hover {
  transform: translateY(-1px);
}

.hv-footer-logo:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(0,0,0,.24);
}

.hv-table tbody tr {
  transition: background-color .14s ease, transform .14s ease;
}

.hv-table tbody tr:hover {
  background: #F7F9FC;
}

/* Tiny press effect for clickable elements */
.hv-btn:active,
.hv-links a:active {
  transform: translateY(0) scale(.99);
}

/* Optional subtle section reveal */
.hv-card,
.hv-demo,
.hv-callout,
.hv-hero-card {
  will-change: transform;
}

/* Respect accessibility settings */
@media (prefers-reduced-motion: reduce) {
  .hv-card,
  .hv-hero-card,
  .hv-demo,
  .hv-footer-logo,
  .hv-pill,
  .hv-btn,
  .hv-links a,
  .hv-table tbody tr {
    transition: none !important;
  }

  .hv-card:hover,
  .hv-hero-card:hover,
  .hv-demo:hover,
  .hv-footer-logo:hover,
  .hv-pill:hover,
  .hv-btn:hover,
  .hv-links a:hover {
    transform: none !important;
  }
}









/* V7.7.1 Flowlu confirmation message cleanup */
.hv-flowlu-card .leadforms-notification {
  font-family: Montserrat, Arial, sans-serif !important;
  color: #1B2A41 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  background: #EEF3F8 !important;
  border: 1px solid #DDE3EC !important;
  border-left: 4px solid #3A86FF !important;
  border-radius: 7px !important;
  padding: 10px 12px !important;
  min-height: 0 !important;
}

/* V7.7 Flowlu contact form layout */
.hv-contact-layout {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(360px, 1.1fr);
  gap: 26px;
  align-items: start;
}
.hv-contact-intro,
.hv-flowlu-card {
  background: #fff;
  border: 1px solid var(--hv-line);
  border-radius: 9px;
  box-shadow: var(--hv-shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.hv-contact-intro {
  border-top: 4px solid var(--hv-navy);
  padding: 24px;
}
.hv-contact-intro h2 { margin-top: 12px; }
.hv-contact-intro p { color: var(--hv-steel); }
.hv-flowlu-card { overflow: hidden; }
.hv-flowlu-card-head {
  background: var(--hv-soft);
  border-bottom: 1px solid var(--hv-line);
  padding: 20px 24px;
}
.hv-flowlu-card-head h3 { margin-top: 7px; }
.hv-flowlu-card:hover,
.hv-contact-intro:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 46px rgba(20,32,51,.14);
  border-color: rgba(58,134,255,.32);
}
.hv-flowlu-card .leadforms-form {
  margin: 0 !important;
  border: 0 !important;
  border-top: 4px solid var(--hv-orange) !important;
  padding: 26px !important;
  max-width: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: #fff !important;
  font-family: Montserrat, Arial, sans-serif !important;
}
.hv-flowlu-card .flow-img,
.hv-flowlu-card .leadforms-form-title { display: none !important; }
.hv-flowlu-card .leadforms-row { margin-bottom: 16px !important; }
.hv-flowlu-card .leadforms-label {
  display: block !important;
  color: var(--hv-navy) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}
.hv-flowlu-card .leadforms-required { color: var(--hv-orange) !important; }
.hv-flowlu-card input.leadforms-input,
.hv-flowlu-card textarea.leadforms-input,
.hv-flowlu-card .leadforms-input {
  width: 100% !important;
  border: 1px solid var(--hv-line) !important;
  border-radius: 7px !important;
  padding: 11px 12px !important;
  min-height: 42px !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 14px !important;
  color: var(--hv-ink) !important;
  background: #fff !important;
  box-shadow: none !important;
  outline: none !important;
}
.hv-flowlu-card textarea.leadforms-input { min-height: 140px !important; }
.hv-flowlu-card input.leadforms-input:focus,
.hv-flowlu-card textarea.leadforms-input:focus {
  border-color: var(--hv-blue) !important;
  box-shadow: 0 0 0 3px rgba(58,134,255,.13) !important;
}
.hv-flowlu-card .leadforms-table-rows,
.hv-flowlu-card .leadforms-table-rows td { border: 0 !important; }
.hv-flowlu-card .leadforms-row-submit {
  text-align: left !important;
  margin-top: 18px !important;
}
.hv-flowlu-card .leadforms-submit,
.hv-flowlu-card .leadforms-btn,
.hv-flowlu-card button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 12px 18px !important;
  border-radius: 7px !important;
  background: var(--hv-navy) !important;
  color: #fff !important;
  border: 1px solid var(--hv-navy) !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}
.hv-flowlu-card .leadforms-submit:hover,
.hv-flowlu-card .leadforms-btn:hover,
.hv-flowlu-card button:hover {
  transform: translateY(-2px) !important;
  background: #101a2b !important;
  box-shadow: 0 12px 26px rgba(20,32,51,.16) !important;
}
.hv-flowlu-card .leadforms-notification {
  font-family: Montserrat, Arial, sans-serif !important;
  color: var(--hv-steel) !important;
  font-size: 13px !important;
}
@media(max-width:920px) {
  .hv-contact-layout { grid-template-columns: 1fr; }
}
@media(max-width:760px){
  .hv-flowlu-card .leadforms-form { padding: 20px !important; }
  .hv-flowlu-card .leadforms-table-rows,
  .hv-flowlu-card .leadforms-table-rows tbody,
  .hv-flowlu-card .leadforms-table-rows tr,
  .hv-flowlu-card .leadforms-table-rows td {
    display: block !important;
    width: 100% !important;
  }
  .hv-flowlu-card .leadforms-table-rows td:nth-child(2) { display: none !important; }
}

/* V7.6 subpage polish and footer expansion */
.hv-detail-row,
.hv-positioning-item,
.hv-footer a {
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background-color .18s ease,
    color .18s ease;
}

.hv-detail-row:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(20,32,51,.10);
  border-color: rgba(58,134,255,.38);
}

.hv-detail-row:hover .hv-detail-num {
  background: var(--hv-blue);
  color: #fff;
}

.hv-positioning-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(20,32,51,.08);
  position: relative;
  z-index: 1;
}

.hv-footer-grid {
  grid-template-columns: 1.15fr .9fr .9fr .9fr;
}

.hv-footer a {
  padding: 2px 0;
}

.hv-footer a:hover {
  transform: translateX(3px);
}

.hv-footer .hv-sub-link {
  font-size: 13px;
  margin: 6px 0;
  color: rgba(255,255,255,.68);
}

.hv-footer .hv-sub-link:hover {
  color: #fff;
}

.hv-footer .hv-footer-more {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.10);
}

@media(max-width:980px){
  .hv-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media(max-width:640px){
  .hv-footer-grid {
    grid-template-columns: 1fr;
  }
}

/* V7.5 dropdown item detail pages */
.hv-detail-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
.hv-detail-row {
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--hv-line);
  background: #fff;
  border-radius: 8px;
}
.hv-detail-num {
  display: inline-flex;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  background: var(--hv-soft);
  color: var(--hv-blue);
  font-size: 12px;
  font-weight: 800;
}
.hv-detail-row strong {
  display: block;
  color: var(--hv-navy);
  margin-bottom: 3px;
}
.hv-detail-row span {
  color: var(--hv-steel);
  font-size: 14px;
  line-height: 1.55;
}
.hv-page-cta {
  margin-top: 26px;
}

/* V7.4.2 Dropdown usability fix
   Makes dropdowns easier to select and prevents the hover menu from closing too quickly. */

.hv-nav-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-bottom: 14px;
  margin-bottom: -14px;
}

.hv-nav-item > a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
}

.hv-dropdown {
  top: 100%;
  left: 0;
  min-width: 310px;
  padding: 10px;
  z-index: 9999;
}

.hv-dropdown:before {
  content: "";
  position: absolute;
  top: -14px;
  left: 0;
  right: 0;
  height: 14px;
}

.hv-dropdown a {
  padding: 12px 13px;
  min-height: 48px;
}

.hv-dropdown a span {
  line-height: 1.35;
}

.hv-links {
  overflow: visible;
}

.hv-header {
  overflow: visible;
}

@media(max-width:980px){
  .hv-nav-item {
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .hv-dropdown:before {
    display: none;
  }

  .hv-dropdown a {
    min-height: 0;
  }
}

/* V7.4 refined dropdown navigation */
.hv-nav-item {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.hv-nav-item > a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.hv-nav-item > a:after {
  content: "";
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  opacity: .68;
  transform: translateY(1px);
  margin-left: 2px;
}
.hv-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 265px;
  background: #fff;
  border: 1px solid var(--hv-line);
  border-radius: 8px;
  box-shadow: 0 22px 54px rgba(20,32,51,.16);
  padding: 8px;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease;
  z-index: 100;
}
.hv-nav-item:hover .hv-dropdown,
.hv-nav-item:focus-within .hv-dropdown {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.hv-dropdown a {
  display: block;
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--hv-ink);
  padding: 10px 11px;
  border-radius: 6px;
}
.hv-dropdown a span {
  display: block;
  color: var(--hv-steel);
  font-size: 11px;
  font-weight: 600;
  margin-top: 2px;
}
.hv-dropdown a:hover {
  background: var(--hv-soft);
  transform: none;
}
.hv-positioning-strip {
  background: #fff;
  border-top: 1px solid var(--hv-line);
  border-bottom: 1px solid var(--hv-line);
}
.hv-positioning-strip-inner {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 1px;
  background: var(--hv-line);
  border-left: 1px solid var(--hv-line);
  border-right: 1px solid var(--hv-line);
}
.hv-positioning-item {
  background: #fff;
  padding: 18px;
}
.hv-positioning-item strong {
  display: block;
  color: var(--hv-navy);
  font-size: 14px;
  margin-bottom: 4px;
}
.hv-positioning-item span {
  color: var(--hv-steel);
  font-size: 13px;
  line-height: 1.45;
}
.hv-pe-note {
  background: linear-gradient(135deg,#111B2C,#1B2A41);
  color: #fff;
  border-radius: 9px;
  padding: 28px;
  box-shadow: var(--hv-heavy);
}
.hv-pe-note h2 {
  color: #fff;
  margin-top: 12px;
}
.hv-pe-note p {
  color: rgba(255,255,255,.76);
}
@media(max-width:980px){
  .hv-nav-item {
    display: block;
    width: 100%;
  }
  .hv-nav-item > a:after {
    content: "";
  }
  .hv-dropdown {
    position: static;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    box-shadow: none;
    border: 1px solid var(--hv-line);
    margin: 4px 0 8px;
    min-width: 0;
    width: 100%;
  }
  .hv-positioning-strip-inner {
    grid-template-columns: 1fr;
  }
}

/* V7.3 service architecture refinements */
.hv-card h3 { text-wrap: balance; }
.hv-card p { text-wrap: pretty; }
.hv-form-shell .hv-btn.secondary { background: #fff; }

/* V7.2 founder headshot + safer click-to-load form */
.hv-founder-card {
  display: grid;
  grid-template-columns: minmax(220px, 310px) minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--hv-line);
  border-top: 4px solid var(--hv-navy);
  border-radius: 9px;
  padding: 22px;
  box-shadow: var(--hv-shadow);
}
.hv-founder-photo-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 9px;
  background: var(--hv-soft);
  box-shadow: 0 16px 36px rgba(20,32,51,.12);
}
.hv-founder-photo {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
}
.hv-founder-copy p {
  color: var(--hv-steel);
  max-width: 760px;
}
.hv-founder-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.hv-founder-meta span {
  display: inline-flex;
  border: 1px solid var(--hv-line);
  background: var(--hv-soft);
  color: var(--hv-navy);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 750;
}
.hv-form-shell {
  background: #fff;
  border: 1px solid var(--hv-line);
  border-top: 4px solid var(--hv-orange);
  border-radius: 9px;
  padding: 24px;
  box-shadow: var(--hv-shadow);
}
.hv-form-shell p {
  color: var(--hv-steel);
  max-width: 780px;
}
.hv-form-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.hv-form-mount {
  margin-top: 22px;
  display: none;
}
.hv-form-mount.is-loaded {
  display: block;
}
.hv-lead-iframe {
  width: 100%;
  height: 1120px;
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(20,32,51,.10);
  background: #fff;
}
.hv-form-note {
  margin-top: 12px;
  font-size: 13px;
  color: var(--hv-steel);
}
@media(max-width:800px) {
  .hv-founder-card {
    grid-template-columns: 1fr;
  }
  .hv-founder-photo {
    max-height: 520px;
  }
  .hv-lead-iframe {
    height: 1250px;
  }
}

@media(max-width:980px){
  .hv-nav{align-items:flex-start;flex-direction:column;padding:14px 0}
  .hv-links{justify-content:flex-start}
  .hv-links a{font-size:10px;padding:8px 7px}
  .hv-hero-inner{grid-template-columns:1fr;min-height:auto;padding:42px 0}
  .hv-pills{grid-template-columns:1fr}
  .hv-hero-card{max-width:560px}
  .hv-grid-2,.hv-grid-3,.hv-grid-4,.hv-head,.hv-footer-grid{grid-template-columns:1fr}
  .hv-section{padding:44px 0}
}
@media(max-width:700px){
  .hv-wrap{width:min(100% - 30px,1120px)}
  .hv-footer-grid{grid-template-columns:1fr}
  .hide-sm{display:none}
}


/* V7.8 mobile navigation fix */
.hv-mobile-menu-button {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 40px;
  border: 1px solid var(--hv-line);
  border-radius: 7px;
  background: #fff;
  cursor: pointer;
  padding: 8px;
}

.hv-mobile-menu-button span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--hv-navy);
  margin: 3px 0;
  border-radius: 99px;
  transition: transform .18s ease, opacity .18s ease;
}

.hv-header.is-mobile-open .hv-mobile-menu-button span:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}

.hv-header.is-mobile-open .hv-mobile-menu-button span:nth-child(2) {
  opacity: 0;
}

.hv-header.is-mobile-open .hv-mobile-menu-button span:nth-child(3) {
  transform: translateY(-5px) rotate(-45deg);
}

@media(max-width:980px) {
  .hv-header {
    position: sticky;
    top: 0;
    z-index: 99999;
    overflow: visible;
  }

  .hv-nav {
    min-height: 70px;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 10px 0;
  }

  .hv-brand {
    min-width: 0;
    flex: 1 1 auto;
  }

  .hv-word strong {
    font-size: 23px;
  }

  .hv-mobile-menu-button {
    display: inline-flex;
    flex-direction: column;
    flex: 0 0 auto;
  }

  .hv-links {
    display: none;
    flex: 1 0 100%;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 6px;
    padding: 12px 0 6px;
    overflow: visible;
    border-top: 1px solid var(--hv-line);
    margin-top: 10px;
  }

  .hv-header.is-mobile-open .hv-links {
    display: flex;
  }

  .hv-links > a,
  .hv-nav-item > a {
    display: flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    padding: 11px 12px;
    border: 1px solid var(--hv-line);
    background: #fff;
    border-radius: 7px;
    font-size: 11px;
  }

  .hv-links a.cta {
    background: var(--hv-navy);
    color: #fff;
    border-color: var(--hv-navy);
  }

  .hv-nav-item {
    display: block;
    width: 100%;
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .hv-nav-item > a:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    opacity: .7;
    transform: rotate(0deg);
    transition: transform .18s ease;
    margin-left: auto;
  }

  .hv-nav-item.is-open > a:after {
    transform: rotate(180deg);
  }

  .hv-dropdown {
    display: none;
    position: static;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    width: 100%;
    min-width: 0;
    margin: 6px 0 8px;
    padding: 8px;
    border: 1px solid var(--hv-line);
    border-radius: 8px;
    box-shadow: none;
    background: var(--hv-soft);
  }

  .hv-nav-item.is-open .hv-dropdown {
    display: block;
  }

  .hv-dropdown:before {
    display: none;
  }

  .hv-dropdown a {
    min-height: 0;
    padding: 11px 12px;
    margin: 0 0 6px;
    background: #fff;
    border: 1px solid var(--hv-line);
    border-radius: 7px;
    font-size: 13px;
  }

  .hv-dropdown a:last-child {
    margin-bottom: 0;
  }

  .hv-dropdown a span {
    font-size: 11px;
  }

  .hv-links a:hover,
  .hv-nav-item > a:hover,
  .hv-dropdown a:hover {
    transform: none;
  }
}


/* V7.9 Launch Systems productized offer */
.hv-launch-band {
  background: #fff;
}

.hv-launch-feature {
  background: linear-gradient(135deg,#111B2C,#1B2A41);
  color: #fff;
  border-radius: 9px;
  padding: 30px;
  box-shadow: var(--hv-heavy);
  position: relative;
  overflow: hidden;
}

.hv-launch-feature:after {
  content: "";
  position: absolute;
  right: -80px;
  top: -80px;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  border: 42px solid rgba(58,134,255,.14);
}

.hv-launch-feature h2,
.hv-launch-feature h3 {
  color: #fff;
}

.hv-launch-feature p {
  color: rgba(255,255,255,.76);
  max-width: 850px;
}

.hv-launch-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 22px;
  align-items: stretch;
}

.hv-launch-pricing {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}

.hv-price-card {
  background: #fff;
  border: 1px solid var(--hv-line);
  border-top: 4px solid var(--hv-navy);
  border-radius: 9px;
  padding: 22px;
  box-shadow: var(--hv-shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.hv-price-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 46px rgba(20,32,51,.14);
  border-color: rgba(58,134,255,.42);
}

.hv-price-card.featured {
  border-top-color: var(--hv-orange);
}

.hv-price {
  display: block;
  color: var(--hv-navy);
  font-size: 34px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.04em;
  margin: 14px 0 8px;
}

.hv-price small {
  color: var(--hv-steel);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
}

.hv-price-card ul {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.hv-price-card li {
  border-top: 1px solid var(--hv-line);
  padding: 10px 0;
  color: var(--hv-steel);
  font-size: 14px;
  line-height: 1.45;
}

.hv-small-note {
  color: var(--hv-steel);
  font-size: 13px;
  line-height: 1.55;
  margin-top: 12px;
}

.hv-launch-fit {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}

.hv-fit-item {
  border: 1px solid var(--hv-line);
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: var(--hv-shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.hv-fit-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(20,32,51,.10);
  border-color: rgba(58,134,255,.38);
}

.hv-fit-item strong {
  display: block;
  color: var(--hv-navy);
  margin-bottom: 5px;
}

.hv-fit-item span {
  display: block;
  color: var(--hv-steel);
  font-size: 14px;
  line-height: 1.5;
}

.hv-footer-grid {
  grid-template-columns: 1.1fr .8fr .8fr .9fr .75fr;
}

@media(max-width:1100px){
  .hv-footer-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media(max-width:900px){
  .hv-launch-grid,
  .hv-launch-pricing,
  .hv-launch-fit {
    grid-template-columns: 1fr;
  }
}

@media(max-width:640px){
  .hv-footer-grid {
    grid-template-columns: 1fr;
  }
}


/* V7.9.1 header spacing, footer legal, and privacy polish */
@media(min-width:981px){
  .hv-header {
    min-height: 96px;
  }

  .hv-nav {
    min-height: 96px;
    align-items: center;
    padding: 10px 0;
    gap: 18px;
  }

  .hv-brand {
    min-width: 300px;
  }

  .hv-links {
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    overflow: visible;
  }

  .hv-links a,
  .hv-nav-item > a {
    white-space: nowrap;
    line-height: 1;
  }

  .hv-links a {
    padding: 11px 8px;
  }

  .hv-links a.cta {
    padding: 12px 14px;
    margin-left: 4px;
  }

  .hv-dropdown a {
    white-space: normal;
    line-height: 1.35;
  }
}

@media(min-width:981px) and (max-width:1220px){
  .hv-brand {
    min-width: 250px;
  }

  .hv-word strong {
    font-size: 24px;
  }

  .hv-word small {
    font-size: 9px;
  }

  .hv-links a {
    font-size: 10px;
    padding: 10px 6px;
  }

  .hv-links a.cta {
    padding: 11px 10px;
  }
}

.hv-privacy-content {
  max-width: 920px;
}

.hv-privacy-content h3 {
  margin-top: 26px;
}

.hv-privacy-content p,
.hv-privacy-content li {
  color: var(--hv-steel);
  font-size: 15px;
  line-height: 1.7;
}

.hv-privacy-content ul {
  padding-left: 20px;
}


/* V7.10 homepage rebuild */
.hv-home-sequence{background:#fff}
.hv-complexity-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hv-complexity-card{background:#fff;border:1px solid var(--hv-line);border-left:4px solid var(--hv-navy);border-radius:9px;padding:22px;box-shadow:var(--hv-shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.hv-complexity-card:hover{transform:translateY(-5px);box-shadow:0 20px 46px rgba(20,32,51,.14);border-color:rgba(58,134,255,.42)}
.hv-complexity-card strong{display:block;color:var(--hv-navy);font-size:17px;margin-bottom:6px}
.hv-complexity-card span{display:block;color:var(--hv-steel);line-height:1.6;font-size:14px}
.hv-visual-panel{min-height:100%;border-radius:9px;background:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(135deg,#111B2C 0%,#1B2A41 60%,#243B5A 100%);background-size:44px 44px,44px 44px,auto;color:#fff;padding:28px;box-shadow:var(--hv-heavy);position:relative;overflow:hidden}
.hv-visual-panel:after{content:"";position:absolute;right:-90px;bottom:-90px;width:260px;height:260px;border-radius:50%;border:44px solid rgba(58,134,255,.12)}
.hv-visual-panel h3{color:#fff;font-size:28px;max-width:460px}
.hv-visual-panel p{color:rgba(255,255,255,.76);max-width:520px;position:relative;z-index:1}
.hv-metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;position:relative;z-index:1}
.hv-metric{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);border-radius:8px;padding:14px}
.hv-metric strong{display:block;color:#fff;font-size:20px;letter-spacing:-.03em}
.hv-metric span{display:block;color:rgba(255,255,255,.72);font-size:12px;margin-top:3px}
.hv-proof-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:stretch}
.hv-proof-card{background:#fff;border:1px solid var(--hv-line);border-top:4px solid var(--hv-navy);border-radius:9px;padding:24px;box-shadow:var(--hv-shadow)}
.hv-proof-card p{color:var(--hv-steel)}
.hv-proof-list{display:grid;gap:10px}
.hv-proof-item{background:#fff;border:1px solid var(--hv-line);border-radius:8px;padding:16px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.hv-proof-item:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(20,32,51,.10);border-color:rgba(58,134,255,.38)}
.hv-proof-item strong{display:block;color:var(--hv-navy);margin-bottom:4px}
.hv-proof-item span{color:var(--hv-steel);font-size:14px;line-height:1.55}
.hv-launch-contained{border:1px solid var(--hv-line);border-radius:9px;overflow:hidden;box-shadow:var(--hv-shadow);background:#fff}
.hv-launch-contained-head{background:#F7F9FC;border-bottom:1px solid var(--hv-line);padding:26px}
.hv-launch-contained-body{padding:26px}
.hv-launch-contained h2{max-width:780px}
.hv-launch-contained p{color:var(--hv-steel);max-width:820px}
.hv-launch-contained .hv-grid-3{margin-top:18px}
@media(max-width:920px){.hv-complexity-grid,.hv-proof-grid,.hv-metric-row{grid-template-columns:1fr}}


/* V7.11 Launch Systems refinement */
.hv-launch-industries {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin-top: 18px;
}

.hv-launch-industry {
  background: #fff;
  border: 1px solid var(--hv-line);
  border-radius: 8px;
  padding: 16px;
  box-shadow: var(--hv-shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.hv-launch-industry:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(20,32,51,.10);
  border-color: rgba(58,134,255,.38);
}

.hv-launch-industry strong {
  display: block;
  color: var(--hv-navy);
  margin-bottom: 5px;
}

.hv-launch-industry span {
  display: block;
  color: var(--hv-steel);
  font-size: 13px;
  line-height: 1.5;
}

.hv-platform-note {
  background: #fff;
  border: 1px solid var(--hv-line);
  border-left: 4px solid var(--hv-orange);
  border-radius: 9px;
  padding: 24px;
  box-shadow: var(--hv-shadow);
}

.hv-platform-note p {
  color: var(--hv-steel);
}

.hv-support-options {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin-top: 18px;
}

.hv-support-option {
  border: 1px solid var(--hv-line);
  background: #fff;
  border-radius: 8px;
  padding: 16px;
}

.hv-support-option strong {
  display: block;
  color: var(--hv-navy);
  margin-bottom: 5px;
}

.hv-support-option span {
  display: block;
  color: var(--hv-steel);
  font-size: 13px;
  line-height: 1.5;
}

@media(max-width:920px){
  .hv-launch-industries,
  .hv-support-options {
    grid-template-columns: 1fr;
  }
}


/* V7.12 right-sized web support */
.hv-rightsize-panel {
  background: linear-gradient(135deg,#111B2C,#1B2A41);
  color: #fff;
  border-radius: 9px;
  padding: 30px;
  box-shadow: var(--hv-heavy);
  position: relative;
  overflow: hidden;
}

.hv-rightsize-panel:after {
  content: "";
  position: absolute;
  right: -90px;
  top: -90px;
  width: 240px;
  height: 240px;
  border-radius: 999px;
  border: 42px solid rgba(58,134,255,.12);
}

.hv-rightsize-panel h2,
.hv-rightsize-panel h3 {
  color: #fff;
}

.hv-rightsize-panel p {
  color: rgba(255,255,255,.76);
  max-width: 920px;
  position: relative;
  z-index: 1;
}

.hv-rightsize-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin-top: 22px;
  position: relative;
  z-index: 1;
}

.hv-rightsize-card {
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  border-radius: 8px;
  padding: 16px;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}

.hv-rightsize-card:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255,.095);
  border-color: rgba(255,255,255,.28);
}

.hv-rightsize-card strong {
  display: block;
  color: #fff;
  margin-bottom: 5px;
}

.hv-rightsize-card span {
  display: block;
  color: rgba(255,255,255,.74);
  font-size: 13px;
  line-height: 1.55;
}

@media(max-width:920px){
  .hv-rightsize-grid {
    grid-template-columns: 1fr;
  }
}

/* WordPress full-width template adjustments */
body.halvion-full-width { margin: 0; }
body.admin-bar .hv-header { top: 32px; }
@media(max-width:782px){ body.admin-bar .hv-header { top: 46px; } }
.hv-wp-content { margin: 0; padding: 0; }
.hv-wp-content > p:empty { display: none; }
