/* ==========================================================================
   HARP page (1063, /harp/), 2026-09-29. Source: Website assets/HARP/HARP_page.html
   (values from a headless render at 1470 / 1024 / 768 / 390).
   The middle section and FAQ use the service-page system (service-pages.css, service-reveal.js,
   loaded here via the harp-hero needle); this file adds the hero, the capability list,
   the FAQ intro line, the 840px frame at <=1024, and the "Learn more" popup (Elementor popup 1062).
   Titles use the site-wide word reveal (js/atimi-heading-reveal.js).
   ========================================================================== */

/* ---------- Hero ---------- */
.harp-hero{position:relative;display:flex!important;flex-direction:column!important;justify-content:center!important;width:100%!important;max-width:none!important;height:650px;min-height:650px;overflow:hidden;background:#02090f;isolation:isolate;padding:0!important;margin:0!important;gap:0!important}
.harp-hero-media{position:absolute!important;inset:0!important;z-index:0;width:100%!important;max-width:none!important;height:100%!important;padding:0!important;margin:0!important;gap:0!important}
.harp-hero-image{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0!important;padding:0!important}
.harp-hero-image .elementor-widget-container{height:100%}
.harp-hero-media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center}
.harp-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(2,9,15,.92) 0%,rgba(2,9,15,.72) 14%,rgba(2,9,15,.28) 34%,rgba(2,9,15,0) 56%,rgba(2,9,15,.74) 100%),linear-gradient(90deg,rgba(2,9,15,.97) 0%,rgba(2,9,15,.86) 30%,rgba(2,9,15,.48) 52%,rgba(2,9,15,.12) 77%,rgba(2,9,15,.1) 100%)}
.harp-hero-shell{position:relative;z-index:2;display:flex!important;flex-direction:column!important;width:min(1280px,100% - 160px)!important;max-width:none!important;margin:0 auto!important;padding:96px 0 72px!important;gap:0!important}
.harp-hero-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;width:100%!important;padding:0!important;margin:0!important;gap:0!important}
.harp-hero-copy > .elementor-widget{width:100%;margin:0!important}
.harp-hero-title .elementor-heading-title{max-width:760px;margin:0 0 20px;color:#fff;font-family:var(--font-heading,'Poppins',sans-serif);font-size:var(--type-hero);font-weight:500;line-height:1.06;letter-spacing:-.015em;text-wrap:balance}
.harp-hero-lead p{max-width:690px;margin:0;color:#aecbde;font-family:var(--font-body,'Inter',sans-serif);font-size:18px;font-weight:400;line-height:1.6}
.harp-hero-copy > .harp-hero-button{width:auto!important;margin-top:40px!important}
@media (max-width:760px){
  .harp-hero-shell{width:calc(100% - 48px)!important}
  .harp-hero-lead p{font-size:17px}
}
@media (max-width:700px){
  .harp-hero{height:680px;min-height:680px}
  .harp-hero-shell{padding:96px 0 66px!important}
  .harp-hero-media img{object-position:70% center}
  .harp-hero::after{background:linear-gradient(180deg,rgba(2,9,15,.94) 0%,rgba(2,9,15,.7) 18%,rgba(2,9,15,.16) 43%,rgba(2,9,15,.84) 100%),linear-gradient(90deg,rgba(2,9,15,.54),rgba(2,9,15,0) 76%)}
}

/* ---------- Frame: 840px at <=1024 (design), stacked split ---------- */
@media (max-width:1024px) and (min-width:761px){
  .harp-development .service-shell,.harp-faq .service-shell{width:min(840px,100% - 96px)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
}

/* ---------- Capability list ---------- */
.harp-capabilities{margin-top:48px!important}
.harp-capabilities ul:not(.elementor-editor-element-settings){margin:0!important;padding:0!important;list-style:none!important;border-top:1px solid rgba(174,203,222,.18)}
.harp-capabilities ul:not(.elementor-editor-element-settings) > li{position:relative;margin:0!important;padding:24px 0 24px 28px!important;border-bottom:1px solid rgba(174,203,222,.18);color:#fff;font-size:18px;line-height:1.55;list-style:none!important}
.harp-capabilities ul:not(.elementor-editor-element-settings) > li::before{content:"";position:absolute;left:0;top:35px;width:10px;height:10px;box-sizing:border-box;border:1px solid #32C0E9;border-radius:50%;box-shadow:0 0 0 5px rgba(50,192,233,.08);background:none}
.harp-capabilities li strong{display:block;margin:0 0 8px;color:#fff;font-family:var(--font-heading,'Poppins',sans-serif);font-size:25px;font-weight:500;line-height:1.28}
.harp-capabilities li span{display:block;color:#aecbde}
@media (max-width:700px){
  .harp-capabilities ul:not(.elementor-editor-element-settings) > li{padding:20px 0 20px 25px!important;font-size:17px}
  .harp-capabilities ul:not(.elementor-editor-element-settings) > li::before{top:30px}
  .harp-capabilities li strong{font-size:21px}
}

/* ---------- FAQ intro line ---------- */
.harp-faq .harp-faq-intro{margin:32px 0 0!important}
.harp-faq .harp-faq-intro p{max-width:700px;margin:0!important;color:#aecbde;font-size:18px;line-height:1.6}
@media (max-width:760px){
  .harp-faq .harp-faq-intro{margin-top:24px!important}
  .harp-faq .harp-faq-intro p{font-size:17px}
}

/* ---------- "Learn more" popup (Elementor popup 1062) ---------- */
#elementor-popup-modal-1062{background:rgba(1,7,12,.78)!important;-webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%);padding:32px 24px;box-sizing:border-box}
#elementor-popup-modal-1062 .dialog-widget-content{width:min(720px,100%)!important;max-height:calc(100vh - 64px);overflow:auto;border:1px solid rgba(174,203,222,.24);border-radius:24px;background:linear-gradient(128deg,rgba(20,45,60,.98),rgba(9,28,40,.98) 58%,rgba(13,48,62,.98))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 30px 72px rgba(0,0,0,.42)!important}
#elementor-popup-modal-1062 .dialog-message{width:100%!important;max-width:none!important;padding:0!important;overflow:visible}
#elementor-popup-modal-1062 .dialog-close-button{top:18px!important;right:20px!important;display:grid;place-items:center;width:44px;height:44px;margin:0;border:1px solid rgba(174,203,222,.35);border-radius:50%;background:rgba(255,255,255,.04);color:#fff!important;font-size:16px;line-height:1;transition:background .25s,border-color .25s,color .25s}
#elementor-popup-modal-1062 .dialog-close-button svg{width:14px;height:14px;fill:currentColor}
#elementor-popup-modal-1062 .dialog-close-button i{color:inherit;font-size:16px}
#elementor-popup-modal-1062 .dialog-close-button:hover,#elementor-popup-modal-1062 .dialog-close-button:focus-visible{border-color:#32C0E9;background:rgba(50,192,233,.12);color:#32C0E9!important}
.harp-interest{padding:40px 48px 44px!important;gap:0!important}
.harp-interest > .elementor-widget{width:100%;margin:0!important}
.harp-interest-title .elementor-heading-title{margin:0;padding-right:48px;color:#fff;font-family:var(--font-heading,'Poppins',sans-serif);font-size:25px;font-weight:500;line-height:1.28;letter-spacing:-.01em}
.harp-interest-description p{max-width:720px;margin:24px 0 0;color:#aecbde;font-family:var(--font-body,'Inter',sans-serif);font-size:18px;line-height:1.6}
.harp-interest-panel{margin-top:32px!important;padding:28px 32px!important;border:1px solid rgba(174,203,222,.2);border-radius:20px;background:rgba(3,10,17,.34)}
.harp-interest-form .elementor-form{display:block!important}
.harp-interest-form .elementor-form-fields-wrapper{display:grid!important;grid-template-columns:1fr;row-gap:20px;margin:0!important}
.harp-interest-form .elementor-field-group{display:grid!important;gap:8px;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.harp-interest-form .elementor-field-label{margin:0!important;padding:0!important;color:#aecbde!important;font-family:var(--font-body,'Inter',sans-serif);font-size:14px!important;font-weight:500!important;line-height:1.45;letter-spacing:.01em}
.harp-interest-form .elementor-mark-required .elementor-field-label:after{content:"*";margin-left:4px;color:#32C0E9!important;padding:0}
.harp-interest-form .elementor-field-textual{height:42px;min-height:0;padding:0 0 8px!important;border:0!important;border-bottom:1px solid rgba(174,203,222,.3)!important;border-radius:0!important;background:transparent!important;box-shadow:none;color:#fff!important;font-family:var(--font-body,'Inter',sans-serif);font-size:18px!important;line-height:1.45;transition:border-color .25s,box-shadow .25s}
.harp-interest-form .elementor-field-textual:focus{outline:0;border-bottom-color:#32C0E9!important;box-shadow:0 1px 0 #32C0E9}
.harp-interest-form .elementor-field-type-submit{margin-top:4px!important}
.harp-interest-form .elementor-button{display:inline-flex;align-items:center;gap:14px;width:auto!important;min-height:52px;padding:14px 24px!important;border:0;border-radius:999px!important;background:linear-gradient(105deg,#00416a 0%,#0083c1 24%,#32c0e9 48%,#0bd3c5 72%,#976ab8 100%) 0 50%/220% 100%!important;box-shadow:0 12px 28px rgba(0,131,193,.28);color:#fff!important;font-family:var(--font-body,'Inter',sans-serif);font-size:18px!important;font-weight:500!important;line-height:1.3;transition:background-position .45s cubic-bezier(.22,1,.36,1),box-shadow .3s}
.harp-interest-form .elementor-button::after{content:"\2192";font-size:23px;line-height:.8;transition:transform .28s cubic-bezier(.22,1,.36,1)}
.harp-interest-form .elementor-button:hover,.harp-interest-form .elementor-button:focus-visible{background-position:100% 50%!important;box-shadow:0 17px 36px rgba(11,211,197,.2),0 10px 28px rgba(0,131,193,.25)}
.harp-interest-form .elementor-button:hover::after,.harp-interest-form .elementor-button:focus-visible::after{transform:translateX(5px)}
.harp-interest-form .elementor-message{margin-top:12px;color:#aee8e3;font-size:14px;line-height:1.45}
@media (max-width:760px){
  #elementor-popup-modal-1062{padding:16px 12px}
  #elementor-popup-modal-1062 .dialog-widget-content{max-height:calc(100vh - 32px);border-radius:20px}
  #elementor-popup-modal-1062 .dialog-close-button{top:14px!important;right:14px!important}
  .harp-interest{padding:40px 24px 32px!important}
  .harp-interest-title .elementor-heading-title{font-size:21px;padding-right:40px}
  .harp-interest-description p{margin-top:20px;font-size:17px}
  .harp-interest-panel{margin-top:28px!important;padding:24px 20px!important;border-radius:18px}
  .harp-interest-form .elementor-form-fields-wrapper{row-gap:18px}
  .harp-interest-form .elementor-field-textual{font-size:17px!important}
}
@media (prefers-reduced-motion:reduce){
  #elementor-popup-modal-1062 .dialog-close-button,.harp-interest-form .elementor-button,.harp-interest-form .elementor-button::after,.harp-interest-form .elementor-field-textual{transition:none!important}
}

/* ---------- Pass 2 fixes (measured against the design) ---------- */
/* FAQ: title -> intro 32 (24 <=760), intro -> questions 56 (36 <=760). */
.harp-faq .service-faq-title,.harp-faq .service-faq-title .elementor-heading-title{margin-bottom:0!important}
.harp-faq .harp-faq-intro{margin:32px 0 56px!important}
@media (max-width:760px){.harp-faq .harp-faq-intro{margin:24px 0 36px!important}}
/* Split stacks at <=1024 in this design: heading, then copy (max 700) 28px below. */
@media (max-width:1024px){
  .harp-development .service-split{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:28px!important}
  .harp-development .service-split-side,.harp-development .service-split-copy{width:100%!important;max-width:none!important;flex:0 0 auto!important;margin:0!important}
  .harp-development .service-split-side .service-h2{max-width:500px}
  .harp-development .service-split-copy{max-width:700px!important}
}

/* Popup submit: inline pill, not full width (design 150x53). */
.harp-interest-form .elementor-field-type-submit,.harp-interest-form .e-form__buttons{justify-items:start!important;justify-content:flex-start!important}
.harp-interest-form .elementor-field-type-submit .elementor-button{flex:0 0 auto!important;width:auto!important;min-height:53px}
