/* Shared panels: marquees, stats, ISO card, testimonials, FAQ, blog cards, closing CTA, Gravity Forms (design hds-v2-*.jsx). */

/* ---------- Section heading block ---------- */
.hd-shead.e-con{display:block;width:100%}
.hd-shead.hd-center.e-con{margin-inline:auto}
.hd-shead .hd-shead-intro{margin-top:16px!important}
.hd-rule::after{content:"";display:block;width:64px;height:4px;border-radius:999px;background:var(--green-400);margin:20px 0 0;transform-origin:left;transform:scaleX(0);transition:transform 640ms var(--ease) 120ms}
.hd-rule.hd-rule--dark::after{background:var(--green-300)}
.hd-rule.hd-rule--center::after{margin:20px auto 0;transform-origin:center}
.hd-rule.hd-rule--16::after{margin-top:16px}
.hd-rule.hd-rule--24::after{margin-top:24px}
.hd-rule.is-seen::after{transform:scaleX(1)}

/* ---------- Logo marquees (integrations / clients) ---------- */
.hd-sec-marquee.e-con{background:var(--surface-card);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:48px 0;overflow:hidden}
.hd-marquee-title{max-width:var(--container-max);margin:0 auto 32px!important;padding:0 var(--gutter)!important;width:100%;box-sizing:border-box}

/* ---------- Stats (design StatsPanel) ---------- */
.hd-stats-grid.e-con{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;text-align:center;position:relative}
.hd-stats-grid .hd-counter{padding:8px 0!important}
.hd-counter .elementor-counter{display:flex!important;flex-direction:column-reverse;align-items:center}
.hd-counter .elementor-counter-number-wrapper{display:flex!important;justify-content:center;gap:0!important;margin:0!important;line-height:1!important}
.hd-counter .elementor-counter-number-prefix,.hd-counter .elementor-counter-number-suffix,.hd-counter .elementor-counter-number{display:block!important;flex:0 0 auto!important;text-align:center!important}
.hd-counter .elementor-counter-title{margin:10px 0 0!important;padding:0!important;text-align:center!important;width:100%}
.hd-counter .elementor-counter{align-items:stretch!important}
@property --hd-dot{syntax:'<percentage>';inherits:false;initial-value:0%}
.hd-counter .elementor-counter::after{content:"";display:block;width:26px;height:26px;margin:0 auto 14px;border-radius:999px;--hd-dot:0%;background:conic-gradient(from 200deg,var(--green-400) 0 var(--hd-dot),var(--purple-200) var(--hd-dot) 100%);transition:--hd-dot 1500ms cubic-bezier(.33,1,.68,1)}
.hd-counter.is-seen .elementor-counter::after{--hd-dot:26%}
.hd-stats-note{margin:28px 0 0!important;width:100%;text-align:center;position:relative}
.hd-stats-note,.hd-stats-note p{line-height:1.55!important}
@media (max-width:1040px){.hd-stats-grid.e-con{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.hd-stats-grid.e-con{grid-template-columns:1fr}}

/* ---------- ISO 27001 card (design SecurityPanel) ---------- */
.hd-iso-card.e-con{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:linear-gradient(160deg,var(--purple-500) 0%,var(--purple-600) 45%,var(--purple-800) 100%);box-shadow:var(--shadow-lg);display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center;padding:52px 56px}
.hd-iso-card>.e-con{min-width:0}
.hd-iso-copy.e-con{display:block}
.hd-iso-text{margin:18px 0 28px!important;max-width:560px!important}
.hd-iso-text--full{margin-bottom:0!important}
.hd-iso-media.e-con{display:flex;align-items:center!important;justify-content:center;container-type:inline-size}
.hd-iso-box.e-con{display:inline-flex;width:auto!important;flex:0 1 auto;max-width:100%;background:#fff;border-radius:var(--radius-md);padding:22px 28px;box-shadow:var(--shadow-md);box-sizing:border-box}
/* The design's width:100% img inside a shrink-to-fit box resolves to 300px (column minus padding on narrow screens). */
.hd-iso-box .hd-iso-img{width:auto!important;max-width:100%}
.hd-iso-box .hd-iso-img img{width:min(300px,calc(100cqw - 56px))!important;max-width:none!important;height:auto!important;display:block}
@media (max-width:1040px){.hd-iso-card.e-con{grid-template-columns:minmax(0,1fr);padding:40px 28px;gap:32px}}

/* ---------- Testimonials panel (design TestimonialsPanel) ---------- */
.hd-tcards{margin-top:48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hd-tcard{height:100%;box-sizing:border-box;display:grid;grid-template-rows:auto 1fr auto;gap:20px;padding:32px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform 220ms var(--ease),box-shadow 220ms var(--ease)}
.hd-tcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.hd-tcard-quote{color:var(--green-400);display:block;font:var(--type-body)}
.hd-tcard-quote .hd-ico{display:inline-block;vertical-align:baseline}
.hd-tcard-text{margin:0 0 16px;font:var(--type-body);color:var(--text-body)}
.hd-tcard-foot{border-top:1px solid var(--border-subtle);padding-top:18px;display:flex;align-items:center;gap:14px}
.hd-avatar{width:44px;height:44px;border-radius:999px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font:600 14px/1 var(--font-display);letter-spacing:.02em}
.hd-tcard-name{font:600 14px/1.3 var(--font-display);color:var(--text-heading)}
.hd-tcard-org{font:var(--type-body-sm);font-size:var(--text-xs);color:var(--text-muted)}
@media (max-width:1040px){.hd-tcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.hd-tcards{grid-template-columns:1fr}}

/* ---------- FAQ (design FaqPanel + FaqItem) on the native Nested Accordion ---------- */
.hd-faq-grid.e-con{display:grid!important;grid-template-columns:.9fr 1.4fr;gap:64px;align-items:start}
.hd-faq-grid>.e-con{min-width:0}
.hd-faq-copy.e-con{display:block}
.hd-faq-btns.e-con{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px!important;width:auto}
.hd-faq-btns>.elementor-widget{width:auto}
.hd-faq-card.e-con{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:8px 28px;box-shadow:var(--shadow-sm)}
.hd-faq-card .e-n-accordion{gap:0}
.hd-faq-card .e-n-accordion-item{border-bottom:1px solid var(--border-subtle)!important;border-top:0!important;border-left:0!important;border-right:0!important}
.hd-faq-card .e-n-accordion-item:last-child{border-bottom:0!important}
.hd-faq-card .e-n-accordion-item-title{display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px!important;background:none!important;border:0!important;cursor:pointer;text-align:left}
.hd-faq-card .e-n-accordion-item-title-header{flex:1 1 auto}
.hd-faq-card .e-n-accordion-item-title-text{font:600 16px/1.35 var(--font-display)!important;color:var(--text-heading)!important}
.hd-faq-card .e-n-accordion-item-title[aria-expanded="true"] .e-n-accordion-item-title-text{color:var(--purple-600)!important}
.hd-faq-card .e-n-accordion-item-title-icon{order:1!important;flex:0 0 auto;width:32px!important;height:32px!important;border-radius:999px;display:inline-flex!important;align-items:center;justify-content:center;background:var(--surface-brand-soft);color:var(--purple-600)!important;transition:background 200ms var(--ease),transform 260ms var(--ease)}
.hd-faq-card .e-n-accordion-item-title-icon>span{display:inline-flex;width:18px!important;height:18px!important;align-items:center;justify-content:center}
.hd-faq-card .e-n-accordion-item-title-icon .e-closed{display:none!important}
.hd-faq-card .e-n-accordion-item-title-icon .e-opened{display:inline-flex!important}
.hd-faq-card .e-n-accordion-item-title-icon svg{width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important}
.hd-faq-card .e-n-accordion-item-title-icon svg *{fill:none!important}
.hd-faq-card .e-n-accordion-item-title[aria-expanded="true"] .e-n-accordion-item-title-icon{background:var(--purple-600);color:#fff!important;transform:rotate(45deg)}
.hd-faq-card .e-n-accordion-item>.e-con{border:0!important;padding:0!important;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.hd-faq-card .hd-acc-answer{margin:0 0 22px!important;padding-right:48px!important;max-width:640px!important;box-sizing:border-box}
@media (max-width:1040px){.hd-faq-grid.e-con{grid-template-columns:1fr}}

/* ---------- Blog panel + card (design BlogPanel / BlogCard) ---------- */
.hd-blog-head.e-con{display:flex!important;flex-direction:row!important;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.hd-blog-head>.hd-shead.e-con{width:auto;flex:0 1 auto}
.hd-blog-head>.elementor-widget{width:auto}
.hd-cards-grid{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hd-cards-grid>div{height:100%}
.hd-blog-card{height:100%;box-sizing:border-box;overflow:hidden;display:grid;grid-template-rows:auto 1fr;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform 220ms var(--ease),box-shadow 220ms var(--ease)}
.hd-blog-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.hd-blog-card-media{display:block;aspect-ratio:16/9;background:var(--surface-page);overflow:hidden}
.hd-blog-card-media>img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block}
.hd-blog-card-body{padding:26px;display:grid;grid-template-rows:auto auto 1fr auto;gap:14px}
.hd-blog-card-body.no-cat{grid-template-rows:auto 1fr auto}
.hd-blog-card-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hd-badge-brand{display:inline-flex;align-items:center;gap:6px;font:600 11px/1 var(--font-body);letter-spacing:.04em;text-transform:uppercase;padding:5px 8px;border-radius:var(--radius-xs);border:1px solid var(--status-info-line);color:var(--status-info-fg);background:var(--status-info-bg)}
.hd-blog-card-date{font:var(--type-data);font-size:var(--text-xs);color:var(--text-muted)}
html body .hd-blog-card-title{margin:0;font:var(--type-h3);color:var(--text-heading)}
.hd-blog-card-text{margin:0 0 16px;font:var(--type-body-sm);color:var(--text-body)}
html body .hd-blog-card-btn{justify-self:start;display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--purple-600);font:600 12px/1 var(--font-display);text-decoration:none;white-space:nowrap;transition:background-color 150ms var(--ease),border-color 150ms var(--ease)}
html body .hd-blog-card-btn:hover{background:var(--surface-brand-soft);border-color:var(--border-brand);color:var(--purple-600)}
@media (max-width:1040px){.hd-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.hd-cards-grid{grid-template-columns:1fr}}

/* ---------- Closing CTA (design ClosingCta) ---------- */
.hd-cta-grid.e-con{display:grid!important;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.hd-cta-grid>.e-con{min-width:0}
.hd-cta-copy.e-con{display:block}
.hd-cta-rows{margin-top:32px!important}
.hd-cta-rows .elementor-icon-list-items{display:grid;gap:16px}
.hd-cta-rows .elementor-icon-list-item{margin:0!important;padding:0!important;display:flex!important;align-items:center;gap:12px;font:var(--type-body);color:#fff;min-height:27.8px}
.hd-cta-rows .elementor-icon-list-icon{display:none!important}
.hd-cta-rows .elementor-icon-list-text{color:#fff!important;padding:0!important;display:inline-flex;align-items:center;gap:12px}
.hd-cta-rows .elementor-icon-list-text::before{content:"";width:20px;height:20px;flex:0 0 auto;background:var(--green-300);-webkit-mask:var(--hd-ico) center/contain no-repeat;mask:var(--hd-ico) center/contain no-repeat}
.hd-cta-rows .elementor-icon-list-item:nth-child(1){--hd-ico:var(--hd-i-phone)}
.hd-cta-rows .elementor-icon-list-item:nth-child(2){--hd-ico:var(--hd-i-mail)}
.hd-cta-rows .elementor-icon-list-item:nth-child(3){--hd-ico:var(--hd-i-clock)}
.hd-cta-badges{margin-top:36px!important}
.hd-badges.hd-badges--14{gap:14px}
.hd-form-card.e-con{display:grid!important;gap:18px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-lg)}
@media (max-width:1040px){.hd-cta-grid.e-con{grid-template-columns:1fr}}

/* ---------- Gravity Forms skin (design Input / Select / FieldGroup / Button). Orbital injects (1,2,0) inline styles: !important throughout (Recipe E). ---------- */
.hd-gf-w .gform_wrapper,.hd-gf-w .gform_wrapper *{font-family:var(--font-body)!important}
.hd-gf-w .gform_wrapper.gravity-theme,.hd-gf-w .gform_wrapper{margin:0!important;--gf-ctrl-size-md:40px}
.hd-gf-w .gform_required_legend,.hd-gf-w .gform_heading{display:none!important}
.hd-gf-w .gform_fields{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;column-gap:16px!important;row-gap:16px!important}
.hd-gf-w .gfield{margin:0!important;padding:0!important;min-width:0}
.hd-gf-w .gfield--width-full{grid-column:span 12!important;margin-top:2px!important}
.hd-gf-w .gfield--width-half{grid-column:span 6!important}
.hd-gf-w .gfield_label{display:block!important;margin:0 0 6px!important;padding:0!important;font:600 14px/1.3 var(--font-body)!important;color:var(--grey-700)!important}
.hd-gf-w .gfield_required{color:var(--red-500)!important;margin-left:3px!important;font-weight:600!important}
.hd-gf-w .gfield_required .gfield_required_text{display:none}
.hd-gf-w input[type=text],.hd-gf-w input[type=email],.hd-gf-w input[type=tel],.hd-gf-w select,.hd-gf-w textarea{width:100%!important;box-sizing:border-box!important;font:400 14px/1.55 var(--font-body)!important;color:var(--grey-800)!important;background:var(--surface-card)!important;border:1px solid var(--border-strong)!important;border-radius:var(--radius-sm)!important;box-shadow:none!important;outline:none!important;transition:border-color 150ms var(--ease),box-shadow 150ms var(--ease)!important;margin:0!important}
.hd-gf-w input[type=text],.hd-gf-w input[type=email],.hd-gf-w input[type=tel]{height:40px!important;min-height:40px!important;padding:0 12px!important}
.hd-gf-w select{height:40px!important;min-height:40px!important;padding:0 34px 0 12px!important;-webkit-appearance:none!important;appearance:none!important;background-image:none!important;cursor:pointer}
.hd-gf-w .ginput_container_select{position:relative}
.hd-gf-w .ginput_container_select::after{content:"";position:absolute;right:12px;top:50%;margin-top:-6px;width:8px;height:8px;border-right:2px solid var(--grey-500);border-bottom:2px solid var(--grey-500);transform:rotate(45deg);pointer-events:none}
.hd-gf-w textarea{padding:10px 12px!important;height:auto!important;min-height:0!important;resize:vertical}
.hd-gf-w .hd-gform-demo textarea{height:87px!important}
.hd-gf-w .hd-gform-enquiry textarea{height:131px!important}
.hd-gf-w input::placeholder,.hd-gf-w textarea::placeholder{color:var(--grey-400)!important;opacity:1}
.hd-gf-w input:focus,.hd-gf-w select:focus,.hd-gf-w textarea:focus{border-color:var(--purple-400)!important;box-shadow:0 0 0 3px rgba(78,186,151,.28)!important}
/* Phones: 16px fields, or iOS Safari zooms the page on focus (BugHerd 545426 #3). Desktop keeps the design's 14px. */
@media (max-width:767px){.hd-gf-w input[type=text],.hd-gf-w input[type=email],.hd-gf-w input[type=tel],.hd-gf-w select,.hd-gf-w textarea{font-size:16px!important}}
.hd-gf-w .gfield_description{margin:6px 0 0!important;padding:0!important;font:400 12px/1.55 var(--font-body)!important;color:var(--text-muted)!important}
.hd-gf-w .gform_footer{margin:18px 0 0!important;padding:0!important;display:block!important}
.hd-gf-w .gform_footer .gform_button,.hd-gf-w button.gform_button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;height:48px!important;min-height:48px!important;padding:0 26px!important;margin:0!important;border:1px solid transparent!important;border-radius:var(--radius-sm)!important;background:var(--purple-600)!important;background-image:none!important;color:#fff!important;font:600 16px/1 var(--font-display)!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;cursor:pointer;transition:background-color 150ms var(--ease)!important}
.hd-gf-w .gform_footer .gform_button *{font-family:var(--font-display)!important}
.hd-gf-w .gform_footer .gform_button:hover{background:var(--purple-700)!important;color:#fff!important}
.hd-gf-w .gform_button__icon{display:inline-flex}
.hd-gf-w .gform_validation_errors{margin:0 0 16px!important;border-radius:var(--radius-md)!important}
.hd-gf-w .gfield_validation_message{font:400 12px/1.4 var(--font-body)!important;color:var(--red-600)!important;margin-top:6px!important;padding:0!important;background:none!important;border:0!important}
.hd-gf-w .gfield_error input,.hd-gf-w .gfield_error select,.hd-gf-w .gfield_error textarea{border-color:var(--red-500)!important}
.hd-gf-w .gform_validation_container{display:none!important}
.hd-gf-w input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px #fff inset!important}
.hd-form-privacy{margin:0;font:400 12px/1.55 var(--font-body);color:var(--text-body)}
@media (max-width:820px){.hd-gf-w .gfield--width-half{grid-column:span 12!important}}
