/*
 * HAH Software - shared stylesheet
 *
 * Generated by site/tools/merge-css.php from the ten original design
 * mockups. It is the union of their inline <style> blocks, deduped.
 * Edit the generator or the mockups, never this file.
 */

:root { --bg: #000000; --bg-raised: #131313; --bg-raised-2: #1c1c1c; --border: #2e2e2e; --text: #f3f4f5; --text-dim: #a9adb1; --teal: #4EC5BA; --teal-tint: rgba(78,197,186,0.12); --orange: #F28C38; --orange-tint: rgba(242,140,56,0.12); }
body.hah-page, body.hah-page * { box-sizing:border-box;margin:0;padding:0; }
body.hah-page { background:var(--bg);color:var(--text);font-family:"Aptos",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased; }
body.hah-page a { color:inherit;text-decoration:none; }
body.hah-page .wrap { max-width:1240px;margin:0 auto;padding:0 32px; }
body.hah-page header { position:sticky;top:0;z-index:10;background:rgba(0,0,0,0.97);border-bottom:1px solid var(--border); }
body.hah-page .topbar { display:flex;justify-content:flex-end;gap:22px;font-size:12px;color:var(--text-dim);padding:8px 0;border-bottom:1px solid var(--border); }
body.hah-page .topbar .wrap { display:flex;justify-content:flex-end;gap:22px; }
body.hah-page .topbar a:hover { color:var(--text); }
body.hah-page nav { display:flex;align-items:center;justify-content:space-between;height:84px; }
body.hah-page .logo img { display:block;height:57px; }
body.hah-page .navlinks { display:flex;align-items:center;gap:30px;font-size:14px;color:var(--text-dim); }
body.hah-page .navlinks a { display:flex;align-items:center;gap:5px; }
body.hah-page .navlinks a:hover { color:var(--text); }
body.hah-page .chev { width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.6;margin-top:-3px; }
body.hah-page .navlinks .contact-btn { color:#1B2836;background:var(--teal);padding:9px 20px;border-radius:4px;font-weight:600; }
body.hah-page .navlinks .contact-btn:hover { background:#7fdcd3; }
body.hah-page .hero { padding:96px 0 0;border-bottom:1px solid var(--border); }
body.hah-page .hero-inner { display:grid;grid-template-columns:1.15fr 0.85fr;gap:56px;align-items:start;padding-bottom:64px; }
body.hah-page .eyebrow { display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:var(--teal);margin-bottom:22px; }
body.hah-page .eyebrow::before { content:"";width:22px;height:2px;background:var(--teal);display:block; }
body.hah-page h1 { font-size:46px;font-weight:700;letter-spacing:-0.02em;line-height:1.12; }
body.hah-page .hero p.sub { font-size:17px;color:var(--text-dim);margin-top:22px;line-height:1.65;max-width:560px; }
body.hah-page .hero-cta { margin-top:34px;display:flex;gap:14px; }
body.hah-page .btn-primary { background:var(--teal);color:#1B2836;font-weight:700;font-size:14px;padding:13px 26px;border-radius:4px; }
body.hah-page .btn-primary:hover { background:#7fdcd3; }
body.hah-page .btn-ghost { border:1px solid var(--border);font-weight:600;font-size:14px;padding:13px 26px;border-radius:4px; }
body.hah-page .btn-ghost:hover { border-color:var(--teal);color:var(--teal); }
body.hah-page .hero-panel { background:linear-gradient(155deg,var(--bg-raised) 0%,var(--bg-raised-2) 100%);border:1px solid var(--border);border-radius:12px;padding:30px; }
body.hah-page .hero-panel h5 { font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-dim);margin-bottom:20px; }
body.hah-page .stat-block { padding:18px 0;border-bottom:1px solid var(--border); }
body.hah-page .stat-block:last-child { border-bottom:none; }
body.hah-page .stat-block strong { display:block;font-size:34px;font-weight:700;color:var(--text);letter-spacing:-0.01em; }
body.hah-page .stat-block span { font-size:13px;color:var(--text-dim); }
body.hah-page .list-block { padding:16px 0;border-bottom:1px solid var(--border); }
body.hah-page .list-block:last-child { border-bottom:none; }
body.hah-page .list-block strong { display:block;font-size:15px;font-weight:700;color:var(--text);margin-bottom:5px; }
body.hah-page .list-block span { font-size:13px;color:var(--text-dim);line-height:1.55; }
body.hah-page .hero-visual { display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 20px 22px; }
body.hah-page .hero-visual svg { width:100%;max-width:400px;height:auto; }
body.hah-page .hero-visual .visual-caption { margin-top:6px;font-size:12.5px;color:var(--text-dim);text-align:center;letter-spacing:0.01em; }
body.hah-page .hero-panel.hero-photo { padding:0;overflow:hidden;display:flex;flex-direction:column; }
body.hah-page .hero-photo img { width:100%;height:320px;object-fit:cover;display:block; }
body.hah-page .hero-photo .visual-caption { margin:0;padding:16px 24px;font-size:12.5px;color:var(--text-dim);letter-spacing:0.01em; }
body.hah-page .pcard.with-media { padding:0;overflow:hidden; }
body.hah-page .pcard.with-media .pcard-media { width:100%;height:170px;object-fit:cover;display:block; }
body.hah-page .pcard.with-media .pcard-body { padding:24px 28px 28px;display:flex;flex-direction:column;flex:1; }
body.hah-page .pcard.with-media .pcard-body p { margin-bottom:20px; }
body.hah-page .section { padding:88px 0; }
body.hah-page .section.alt { background:var(--bg-raised); }
body.hah-page .section-head { margin-bottom:44px;max-width:680px;display:flex;flex-direction:column; }
body.hah-page .section-head .eyebrow { color:var(--orange); }
body.hah-page .section-head .eyebrow::before { background:var(--orange); }
body.hah-page .section-head h2 { font-size:30px;font-weight:700;letter-spacing:-0.01em;margin-bottom:14px; }
body.hah-page .section-head p { color:var(--text-dim);font-size:15.5px;line-height:1.65; }
body.hah-page .grid3 { display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
body.hah-page .grid2 { display:grid;grid-template-columns:repeat(2,1fr);gap:22px; }
body.hah-page .grid1 { display:grid;grid-template-columns:1fr;gap:22px;max-width:520px; }
body.hah-page .pcard { background:var(--bg-raised);border:1px solid var(--border);border-top:3px solid var(--teal);border-radius:8px;padding:28px;display:flex;flex-direction:column;transition:transform .15s ease,border-color .15s ease; }
body.hah-page .pcard:hover { transform:translateY(-3px);border-top-color:var(--orange); }
body.hah-page .section.alt .pcard { background:var(--bg-raised-2); }
body.hah-page .logo-plate { background:#fff;border-radius:6px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:22px;align-self:flex-start;min-height:24px; }
body.hah-page .logo-plate img { max-height:22px;max-width:130px;object-fit:contain;display:block; }
body.hah-page .logo-plate.on-dark { background:transparent;border:1px solid var(--border);padding:8px 14px; }
body.hah-page .logo-plate.text-badge { background:#fff;font-weight:700;font-size:15px;color:#1a2733;letter-spacing:-0.01em; }
body.hah-page .pcard h4 { font-size:17px;font-weight:700;margin-bottom:9px; }
body.hah-page .pcard p { font-size:13.5px;color:var(--text-dim);line-height:1.6;margin-bottom:20px;flex:1; }
body.hah-page .pcard .learn { font-size:13px;font-weight:700;color:var(--teal);margin-top:auto; }
body.hah-page .pcard .learn:hover { color:#7fdcd3; }
body.hah-page .pcard .badge-new { font-size:10px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--orange);background:var(--orange-tint);padding:3px 8px;border-radius:3px;margin-left:8px;vertical-align:middle; }
body.hah-page .strip { border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:72px 0;background:var(--bg-raised); }
body.hah-page .strip-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:40px; }
body.hah-page .strip-item .mark { width:44px;height:44px;border-radius:8px;background:var(--teal-tint);border:1px solid rgba(78,197,186,0.35);display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:19px;color:var(--teal);font-weight:700; }
body.hah-page .strip-item h4 { font-size:17px;font-weight:700;margin-bottom:10px; }
body.hah-page .strip-item p { font-size:14px;color:var(--text-dim);line-height:1.6; }
body.hah-page .closing { padding:92px 0;text-align:center; }
body.hah-page .closing p.lead { font-size:20px;color:var(--text-dim);max-width:780px;margin:0 auto 26px;line-height:1.65; }
body.hah-page .closing .tagline { font-size:30px;font-weight:700;letter-spacing:-0.01em;color:var(--teal); }
body.hah-page footer { padding:64px 0 40px;border-top:1px solid var(--border); }
body.hah-page .footer-top { display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;margin-bottom:44px; }
body.hah-page .footer-brand .logo { margin-bottom:14px; }
body.hah-page .footer-brand .logo img { height:22px; }
body.hah-page .footer-brand p { font-size:13.5px;color:var(--text-dim);max-width:280px;line-height:1.6; }
body.hah-page .footer-cols { display:flex;gap:60px;flex-wrap:wrap; }
body.hah-page .footer-col h5 { font-size:12px;text-transform:uppercase;letter-spacing:0.07em;color:var(--text-dim);margin-bottom:16px; }
body.hah-page .footer-col a { display:block;font-size:14px;color:var(--text);margin-bottom:11px; }
body.hah-page .footer-col a:hover { color:var(--teal); }
body.hah-page .footer-bottom { border-top:1px solid var(--border);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--text-dim); }
body.hah-page .footer-bottom-text { display:flex;flex-direction:column;gap:4px; }
body.hah-page .footer-social { display:flex;align-items:center;gap:10px; }
body.hah-page .social-icon { width:32px;height:32px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-dim);transition:color .15s ease,border-color .15s ease; }
body.hah-page .social-icon:hover { color:var(--teal);border-color:var(--teal); }
body.hah-page .social-icon svg { width:16px;height:16px;fill:currentColor; }
body.hah-page .draft-banner { background:var(--orange);color:#241505;text-align:center;font-size:13px;font-weight:700;padding:11px 16px;letter-spacing:0.02em; }
body.hah-page .pcard.note { border-top-color:var(--orange); }
body.hah-page .navlinks a.current { color:var(--teal); }
body.hah-page .story-grid { display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:start; }
body.hah-page .story-copy p { font-size:15.5px;color:var(--text-dim);line-height:1.75;margin:0 0 18px; }
body.hah-page .story-copy p:last-child { margin-bottom:0; }
body.hah-page .milestones { background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;padding:8px 28px; }
body.hah-page .milestone { display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--border); }
body.hah-page .milestone:last-child { border-bottom:none; }
body.hah-page .milestone .when { flex:0 0 92px;font-size:13px;font-weight:700;color:var(--teal);letter-spacing:0.01em; }
body.hah-page .milestone .what { font-size:14px;color:var(--text-dim);line-height:1.6; }
body.hah-page .mark { width:44px;height:44px;border-radius:8px;background:var(--teal-tint);border:1px solid rgba(78,197,186,0.35);display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:17px;color:var(--teal);font-weight:700; }
body.hah-page .contact-line { padding:16px 0;border-bottom:1px solid var(--border); }
body.hah-page .contact-line:last-child { border-bottom:none;padding-bottom:0; }
body.hah-page .contact-line .label { font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-dim);margin-bottom:6px; }
body.hah-page .contact-line .value { font-size:15px;color:var(--text);font-weight:600;line-height:1.5; }
body.hah-page .contact-line a.value:hover { color:var(--teal); }
body.hah-page .form-grid { display:grid;grid-template-columns:1.2fr 0.8fr;gap:56px;align-items:start; }
body.hah-page .form-card { background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;padding:36px; }
body.hah-page .field-row { display:grid;grid-template-columns:1fr 1fr;gap:18px; }
body.hah-page .field { display:flex;flex-direction:column;gap:8px;margin-bottom:20px; }
body.hah-page .field label { font-size:12px;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-dim); }
body.hah-page .field input, body.hah-page .field select, body.hah-page .field textarea { background:var(--bg-raised-2);border:1px solid var(--border);border-radius:6px;padding:12px 14px;color:var(--text);font-family:inherit;font-size:14px; }
body.hah-page .field input:focus, body.hah-page .field select:focus, body.hah-page .field textarea:focus { outline:none;border-color:var(--teal); }
body.hah-page .field textarea { resize:vertical;min-height:110px; }
body.hah-page .form-submit { margin-top:6px; }
body.hah-page .next-steps { display:flex;flex-direction:column;gap:26px; }
body.hah-page .next-step { display:flex;gap:16px; }
body.hah-page .next-step .mark { width:36px;height:36px;flex:0 0 36px;border-radius:8px;background:var(--teal-tint);border:1px solid rgba(78,197,186,0.35);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--teal);font-weight:700; }
body.hah-page .next-step h4 { font-size:15px;font-weight:700;margin:0 0 6px; }
body.hah-page .next-step p { font-size:13.5px;color:var(--text-dim);line-height:1.6;margin:0; }
body.hah-page .section.alt .mark { background:var(--orange-tint);border:1px solid rgba(242,140,56,0.35);color:var(--orange); }
body.hah-page .pcard .meta { font-size:14px;color:var(--text);font-weight:600;margin:-5px 0 12px; }
body.hah-page .faq { border-top:1px solid var(--border); }
body.hah-page .faq-item { padding:26px 0;border-bottom:1px solid var(--border); }
body.hah-page .faq-item h4 { font-size:16px;font-weight:700;margin:0 0 10px; }
body.hah-page .faq-item p { font-size:14.5px;color:var(--text-dim);line-height:1.65;margin:0;max-width:760px; }

/* --- reconciled drift (see tools/merge-css.php) --- */
body.hah-page .grid1.grid1-wide { max-width: 680px; }
body.hah-page .closing .btn-primary { display:inline-block;margin-top:32px; }
body.hah-page .footer-brand .logo img { height:50px; }

/* --- Solutions dropdown (not from the mockups) --- */
body.hah-page .navlinks .has-drop { position:relative;display:flex;align-items:center;gap:5px;padding-bottom:14px;margin-bottom:-14px; }
body.hah-page .navlinks .dropdown { position:absolute;top:100%;left:-18px;z-index:20;min-width:216px;display:none;flex-direction:column;padding:8px 0;background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;box-shadow:0 14px 30px rgba(0,0,0,0.45); }
body.hah-page .navlinks .has-drop:hover .dropdown, body.hah-page .navlinks .has-drop:focus-within .dropdown { display:flex; }
body.hah-page .navlinks .dropdown a { display:block;padding:9px 18px;font-size:14px;color:var(--text-dim);white-space:nowrap; }
body.hah-page .navlinks .dropdown a:hover, body.hah-page .navlinks .dropdown a:focus { color:var(--text);background:var(--bg-raised-2); }
body.hah-page .navlinks .has-drop:hover .chev, body.hah-page .navlinks .has-drop:focus-within .chev { transform:rotate(-135deg);margin-top:2px; }

/* --- mobile navigation (not from the mockups) --- */
body.hah-page .nav-toggle { display:none;background:none;border:0;padding:10px;margin:0;cursor:pointer;color:var(--text-dim);align-items:center;justify-content:center; }
body.hah-page .nav-toggle:hover { color:var(--text); }
body.hah-page .nav-toggle .nav-toggle-bars { position:relative;display:block;width:22px;height:2px;background:currentColor; }
body.hah-page .nav-toggle .nav-toggle-bars::before, body.hah-page .nav-toggle .nav-toggle-bars::after { content:"";position:absolute;left:0;width:22px;height:2px;background:currentColor; }
body.hah-page .nav-toggle .nav-toggle-bars::before { top:-7px; }
body.hah-page .nav-toggle .nav-toggle-bars::after { top:7px; }
body.hah-page .drop-toggle { display:inline-flex;align-items:center;justify-content:center;background:none;border:0;padding:0;margin:0;cursor:pointer;color:inherit; }
body.hah-page .screen-reader-text { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

/* --- an embedded Elementor form (not from the mockups) --- */
body.hah-page .form-card .elementor-field-group > label, body.hah-page .form-card .elementor-field-label { display:block;font-size:12px;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-dim);margin-bottom:8px; }
body.hah-page .form-card .elementor-field-textual { width:100%;background:var(--bg-raised-2);border:1px solid var(--border);border-radius:4px;padding:11px 13px;color:var(--text);font-size:14px;font-family:inherit; }
body.hah-page .form-card .elementor-field-textual::placeholder { color:var(--text-dim);opacity:1; }
body.hah-page .form-card .elementor-field-textual:focus { outline:none;border-color:var(--teal); }
body.hah-page .form-card .elementor-button, body.hah-page .form-card button[type="submit"] { background:var(--teal);color:#1B2836;font-weight:700;font-size:14px;padding:13px 26px;border:0;border-radius:4px;cursor:pointer; }
body.hah-page .form-card .elementor-button:hover, body.hah-page .form-card button[type="submit"]:hover { background:#7fdcd3; }
body.hah-page .form-card .elementor-message { color:var(--text);font-size:14px; }
body.hah-page .form-card .elementor-message.elementor-message-danger { color:var(--orange); }

/* --- larger section labels (HAH asked for these) --- */
body.hah-page .eyebrow { font-size:20px; }

/* --- equal-width logo plates (HAH asked for these) --- */
body.hah-page .logo-plate { width:145px;box-sizing:border-box; }
body.hah-page .logo-plate img { max-width:100%; }

/* --- map dialog for "Get directions" (not from the mockups) --- */
body.hah-page .map-dialog { width:min(900px,calc(100vw - 32px));max-width:none;padding:0;margin:auto;background:var(--bg-raised);color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 50px rgba(0,0,0,0.6); }
body.hah-page .map-dialog::backdrop { background:rgba(0,0,0,0.7); }
body.hah-page .map-dialog-head { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--border); }
body.hah-page .map-dialog-title { font-size:15px;font-weight:600; }
body.hah-page .map-dialog-close { background:none;border:0;padding:0 4px;cursor:pointer;color:var(--text-dim);font-size:28px;line-height:1; }
body.hah-page .map-dialog-close:hover { color:var(--text); }
body.hah-page .map-dialog-frame { height:min(520px,60vh);background:var(--bg-raised-2); }
body.hah-page .map-dialog-frame iframe { display:block;width:100%;height:100%;border:0; }
body.hah-page .map-dialog-foot { padding:14px 18px;border-top:1px solid var(--border); }
body.hah-page .map-dialog-foot .btn-primary { display:inline-block; }

@media (max-width:760px) {
  body.hah-page .navlinks { flex-wrap:wrap; }
  body.hah-page .navlinks .has-drop:hover .dropdown, body.hah-page .navlinks .has-drop:focus-within .dropdown { display:none; }
  body.hah-page .navlinks .has-drop { flex-wrap:wrap;width:100%;padding:0;margin:0;justify-content:space-between; }
  body.hah-page .navlinks .has-drop > a { flex:1; }
  body.hah-page .navlinks .dropdown { position:static;width:100%;min-width:0;padding:0 0 6px 14px;background:none;border:0;border-radius:0;box-shadow:none; }
  body.hah-page .navlinks .has-drop.open .dropdown { display:flex; }
  body.hah-page .navlinks .dropdown a { padding:8px 0; }
  body.hah-page .navlinks .has-drop.open .chev { transform:rotate(-135deg);margin-top:2px; }
  body.hah-page .drop-toggle { display:none; }
  html.hah-js body.hah-page .nav-toggle { display:inline-flex; }
  html.hah-js body.hah-page .navlinks { display:none;width:100%;flex-direction:column;align-items:stretch;gap:0; }
  html.hah-js body.hah-page .navlinks.open { display:flex;padding-bottom:18px; }
  html.hah-js body.hah-page .navlinks > a:not(.contact-btn), body.hah-page .navlinks .has-drop > a { padding:10px 0; }
  html.hah-js body.hah-page .navlinks .contact-btn { align-self:flex-start;margin-top:6px; }
  html.hah-js body.hah-page .drop-toggle { display:inline-flex;padding:10px 4px; }
}

@media (max-width:960px) {
  body.hah-page .hero-inner { grid-template-columns:1fr; }
  body.hah-page .grid3 { grid-template-columns:repeat(2,1fr); }
  body.hah-page .grid2 { grid-template-columns:1fr; }
  body.hah-page .strip-grid { grid-template-columns:1fr; }
  body.hah-page .story-grid { grid-template-columns:1fr; }
  body.hah-page .form-grid { grid-template-columns:1fr; }
  body.hah-page .field-row { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  body.hah-page .wrap { padding:0 20px; }
  body.hah-page h1 { font-size:32px; }
  body.hah-page .grid3 { grid-template-columns:1fr; }
  body.hah-page .topbar { display:none; }
  body.hah-page nav { flex-wrap:wrap;height:auto;padding:14px 0;row-gap:10px; }
  body.hah-page .navlinks { gap:14px;font-size:13px; }
  body.hah-page .footer-top { flex-direction:column; }
  body.hah-page .footer-bottom { flex-direction:column;gap:8px; }
}
