/* Theme base styles */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
/* Tools
Any animations, or functions used throughout the project.
Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
*/

/* Generic
This is where reset, normalize & box-sizing styles go.
*/

*, *:before, *:after {
  box-sizing: border-box;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Objects
Non-cosmetic design patterns including grid and layout classes)
*/



/* CSS variables */

:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}

/* Mobile layout */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}


  .row-fluid .span1,
  .row-fluid .span2,
  .row-fluid .span3,
  .row-fluid .span4,
  .row-fluid .span5,
  .row-fluid .span6,
  .row-fluid .span7,
  .row-fluid .span8,
  .row-fluid .span9,
  .row-fluid .span10,
  .row-fluid .span11,
  .row-fluid .span12{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

@media (min-width: 768px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  
    .row-fluid .span1 {
      width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span2 {
      width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span3 {
      width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span4 {
      width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span5 {
      width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span6 {
      width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span7 {
      width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span8 {
      width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span9 {
      width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span10 {
      width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span11 {
      width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
    }
  
}
.content-wrapper,.footer-container,.header-container,.page-center {
  margin: 0 auto;
  padding: 0 15px;
}


.dnd-section > .row-fluid {
  margin: 0 auto;
}

.dnd-section .dnd-column {
  padding: 0 15px;
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}

/* Elements
Base HMTL elements are styled in this section (<body>, <h1>, <a>, <p>, <button> etc.)
*/

/* The overflow-wrap is meant to prevent long/large words from breaking the mobile responsiveness of a page (e.g. horizontal scrolling). It is preferred to reduce font sizes on mobile to address this, with this CSS specifically helping with extreme scenarios where a reduction in font size is not possible. */

body {
  line-height: 1.4;
  overflow-wrap: break-word;
}

/* Handles word breaking for a few specific languages which handle breaks in words differently. If your content is not translated into these languages, you can safely remove this.  */

html[lang^="ja"] body,
html[lang^="zh"] body,
html[lang^="ko"] body {
  line-break: strict;
  overflow-wrap: normal;
  word-break: break-all;
}

/* Paragraphs */

p {
  margin: 0 0 1.4rem;
}

/* Anchors */

a {
  cursor: pointer;
  transition: 0.3s all ease;
  text-decoration:none;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 1.4rem;
}

/* Lists */

ul,
ol {
  margin: 0 0 1.4rem;
}

ul ul,
ol ul,
ul ol,
ol ol {
  margin: 0;
}

ul.no-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Code blocks */

pre {
  overflow: auto;
}

code {
  vertical-align: bottom;
}

/* Blockquotes */

blockquote {
  border-left: 2px solid;
  margin: 0 0 1.4rem;
  padding-left: 0.7rem;
}

/* Horizontal rules */

hr {
  border: none;
  border-bottom: 1px solid #CCC;
}

/* Image alt text */

img {
  max-width: 100%;              /* Ensures image scales within its container */
  height: auto;                 /* Keeps aspect ratio intact when resized */
  vertical-align: middle;       /* Centers image if inside an inline container */
  float: none;
  border:none;
}

.body-container--superswitch {
  padding-top: 128px;
}

.body-container--contact.body-container--superswitch {
  padding-top: 64px;
}

.body-container--contact.body-container--superswitch {
  padding-top: 70px;
}
button,
.button,
.hs-button,
.btn__primary,
.btn--primary a,
.btn__secondary,
.btn--secondary a,
.btn--custom a {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
  line-height: 1;
}

button:disabled,
.button:disabled,
.hs-button:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

/* No button */

.no-button,
.no-button:hover,
.no-button:focus,
.no-button:active {
  background: none;
  border: none;
  border-radius: 0;
  color: initial;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  text-decoration: none;
  transition: none;
}
/* Fields */

.hs-form-field {
    margin-bottom: 20px;
}

.hs-search-module input[type=text] {
    margin-bottom: 20px;
}

/* Labels */

form label {
  display: block;
  font-size: 0.875rem;
  margin-bottom: 0.35rem;
}

/* Form Title */
.form-title {
  margin-bottom: 0;
}

/* Help text */

form legend {
  font-size: 0.875rem;
}

/* Inputs */

form input[type=text],
form input[type=search],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form select,
form textarea {
  display: inline-block;
  padding: 10px;
  width: 100%;
  outline: 0;
  line-height: 1;
}

form textarea {
  resize: vertical;
}

form fieldset {
  max-width: 100% !important;
}

/* Inputs - checkbox/radio */

form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

form .inputs-list > li {
  display: block;
  margin: 0.7rem 0;
}

form .inputs-list input,
form .inputs-list span {
  vertical-align: middle;
}

form input[type=checkbox],
form input[type=radio] {
  cursor: pointer;
  margin-right: 0.35rem;
}

form input[type=checkbox] {
  margin-top: 7px;
}

/* Inputs - date picker */

.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content:'\01F4C5';
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}

.fn-date-picker .pika-table thead th {
  color: #FFF;
}

.fn-date-picker td.is-selected .pika-button {
  border-radius: 0;
  box-shadow: none;
}

.fn-date-picker td .pika-button:hover,
.fn-date-picker td .pika-button:focus {
  border-radius: 0 !important;
  color: #FFF;
}

/* Inputs - file picker */

form input[type=file] {
  background-color: transparent;
  border: initial;
  padding: initial;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
  font-size: 0.875rem;
  margin: 0 0 1.4rem;
}

form .hs-richtext img {
  max-width: 100% !important;
}

/* GDPR */

.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  margin-left: 1rem !important;
}

/* Validation */

.hs-form-required {
  color: #EF6B51;
}

.hs-input.invalid.error {
  border-color: #EF6B51;
}

.hs-error-msg {
  color: #EF6B51;
  margin-top: 0.35rem;
}

/* Submit button */

form input[type=submit],
form .hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}


  /* Search button input field and suggestions */
  .body-container-wrapper .hs-search-field__button {
    padding: 15px;
  }

  .body-container-wrapper .hs-search-field__bar--button-inline .hs-search-field__button {
    margin-left: 6px;
    margin-bottom: 0;
  }

  .body-container-wrapper .hs-search-field__button svg {
    height: 15px;
    fill: #fff;
  }

  .body-container-wrapper .hs-search-field__bar > form > .hs-search-field__input {
    padding: 10px;
  }

  .body-container-wrapper .hs-search-field__suggestions li a {
    color: #494A52;
    padding: 0.35rem 0.7rem;
    text-decoration: none;
    transition: background-color 0.3s;
  }

/* Table */

table {
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table cells */

td,
th {
  vertical-align: top;
}

/* Table header */

thead th {
  vertical-align: bottom;
}

/* Components
Specific pieces of UI that are stylized. Typically used for global partial styling
*/

/* Header DND sections */

.header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 999;
  transition: all 0.3s ease;
}

.website_header_wrapper {
  background-color: #ffffff;
  box-shadow: 0 6.7px 14.36px 0 #00000014;
}

.website_header_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.navigation_wrapper>ul>li>a {
  padding: 20px 0;
  display: inline-block;
}

.navigation_wrapper>ul {
  display: flex;
  list-style: none;
  gap: 32px;
  padding: 0;
  margin: 0;
}

.navigation_wrapper>ul>li {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}

.navigation_wrapper>ul a {
  text-decoration: none;
}


.child-trigger {
  display: flex;
  vertical-align: bottom;
  padding-top: 3px;
  transition: 0.3s all ease;
  cursor:pointer;
}

.child-trigger svg {
  vertical-align: baseline;
}

.header_btn_wrapper .header_std_btn a {
  background-size: 300% 100%;
  border-radius: 50px;
  display: inline-block;
  font-size: .875em;
  font-weight: 700;
  padding: 10px 20px;
  text-decoration: none;
}

.website_header_inner {
  position: relative;
}

.navigation_wrapper {
  transition: 0.3s all ease;
}

.navigation_wrapper .child_menu_wrapper {
  position: absolute;
  width: 100%;
  left: 0;
  top: 100%;
  padding: 0;
  background-color: #fff;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  padding: 33px 42px;
  border-bottom-left-radius: 24px;
  border-bottom-right-radius: 24px;
  transition: 0.3s all ease;
  opacity: 0;
  visibility: hidden;
  z-index: 10;
}

.navigation_wrapper .child_menu_wrapper>li {
  flex: 1 1 200px;
}

.navigation_wrapper .child_menu_wrapper .child_menu_link h3 {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 8px;
}

.navigation_wrapper .child_menu_wrapper .child_menu_link p , .navigation_wrapper .child_menu_wrapper .child_text_wrap p {
  font-size: 12px;
  margin-bottom: 0;
  line-height: 1.5;
}

.navigation_wrapper .child_menu_wrapper .child_menu_link>a {
  display: inline-block;
  padding: 16px 20px;
  border-radius: 12px;
  transition: 0.3s all ease;
}

/* .navigation_wrapper .menu-items.has-children:hover .child_menu_wrapper {
opacity: 1;
visibility: visible;
}
*/

.navigation_wrapper .child_menu_wrapper .child_menu_link>a:hover {
  background-color: #dedede;
}

.navigation_wrapper .child_menu_wrapper>li .child_item_wrap:not(:last-of-type) {
  margin-bottom: 10px;
}

.navigation_wrapper .child_menu_wrapper .child_text_wrap h3 {
  font-size: 24px;
  line-height: 1;
  margin-bottom: 1em;
}

.child_std_btn a {
  place-content: center;
  align-items: center;
  cursor: pointer;
  display: flex;
  flex-flow: row;
  gap: 0px;
  height: min-content;
  overflow: visible;
  padding: 20px 36px;
  position: relative;
  width: 100%;
  background-color: #000000;
  color: #ffffff !important;
  transition: 0.3s all ease;
  border-radius: 8px;
}

.child_std_btn {
  margin-top: 32px;
}

.header_btn_wrapper.header_mobile_btn {
  display: none;
}

.menu-toggle {
  display: none;
}

.header_btn_wrapper .header_std_btn a {
  background-image: linear-gradient(to right, #6253e1, #852D91, #A3A1FF, #F24645);
  color: #FFFFFF;
}

.header_btn_wrapper .header_std_btn a:hover {
  background-position: 99% 0;
}

.menu-toggle .ham {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 400ms;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: bottom;
}

.menu-toggle .ham path {
  stroke: #6253e1;
}

.menu-toggle.active .hamRotate {
  transform: rotate(45deg);
}

.menu-toggle .line {
  fill:none;
  transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
  stroke:turquoise;
  stroke-width:7;
  stroke-linecap:round;
}

.menu-toggle .ham8 .top {
  stroke-dasharray: 40 160;
}
.menu-toggle .ham8 .middle {
  stroke-dasharray: 40 142;
  transform-origin: 50%;
  transition: transform 400ms;
}
.menu-toggle .ham8 .bottom {
  stroke-dasharray: 40 85;
  transform-origin: 50%;
  transition: transform 400ms, stroke-dashoffset 400ms;
}
.menu-toggle.active .ham8 .top {
  stroke-dashoffset: -64px;
}
.menu-toggle.active .ham8 .middle {
  //stroke-dashoffset: -20px;
  transform: rotate(90deg);
}
.menu-toggle.active .ham8 .bottom {
  stroke-dashoffset: -64px;
}

header .website_header_inner > .header_btn_wrapper {
  display: flex;
  gap: 18px;
}

header .header_btn_wrapper .header_std_btn.login_btn a {
  background: transparent;
  color: #3C2A9C;
  border: 1px solid #3C2A9C;
  padding: 9px 20px;
}

header .header_btn_wrapper .header_std_btn.login_btn a:hover {
  color: #fff;
  background: #3C2A9C;
}

.body-container--SuprSweep, .body-container--superswitch, .body-container--SuprConfig {
  padding-top: 128px;
}

@media(min-width: 768px) {
  .navigation_wrapper .menu-items.has-children.child_menu_open .child-trigger {
    transform: rotate(180deg);
  }
  .navigation_wrapper .menu-items.has-children.child_menu_open .child_menu_wrapper {
    opacity: 1;
    visibility: visible;
  }
  
}

@media(max-width: 767px) {
  .navigation_wrapper {
    transition: 0.3s all ease;
  }

  .header_btn_wrapper {
    display: none;
  }

  header .website_header_inner > .header_btn_wrapper {
    display: none;
  }

  .navigation_wrapper {
    position: absolute;
    width: 100%;
    top: -370%;
    left: 0;
    background-color: #ededed;
    padding: 20px;
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
    z-index: 10;
    display: block;
    opacity: 0;
  }

  .navigation_wrapper>ul>li {
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .navigation_wrapper .child_menu_wrapper {
    position: relative;
    top: unset !important;
    left: 0;
    opacity: 1;
    visibility: visible;
    padding: 0;
    gap: 25px;
    display: none; 
    width: 100%;
    transition: none !important;
    border-radius: 0;
  }

  .website_header_wrapper {
    position: relative;
  }

  .navigation_wrapper>ul {
    flex-direction: column;
    gap: 0;
  }

  .navigation_wrapper .child_menu_wrapper>li {
    flex: 1 1 200px;
  }

  .menu-toggle {
    display: block;
    position: relative;
    right: -10px;
  }

  .header_logo {
    padding: 20px 0;
  }

  .navigation_wrapper .child_menu_wrapper .child_menu_link>a {
    display: block;
  }

  .navigation_wrapper>ul>li>a {
    padding: 0;
  }


  .navigation_wrapper>ul>li>a {
    padding: 10px 0;
  }

  .show-menu .navigation_wrapper {
    top: 100%;
    opacity: 1;
  }

  .header_btn_wrapper.header_mobile_btn {
    display: block;
    padding-top: 15px;
  }

  .navigation_wrapper .child_menu_wrapper>li .child_item_wrap:not(:last-of-type) {
    margin-bottom: 0;
  }

  .child-trigger.child-open {
    transform: rotate(180deg);
  }

  .navigation_wrapper .child_menu_wrapper>li:last-of-type .child_text_wrap {
    margin-top: 15px;
  }

  .navigation_wrapper .child_menu_wrapper .child_text_wrap h3 {
    font-size: 20px;
  }

  .child-trigger svg {
    height: 12px;
  }

  .child-trigger {
    cursor: pointer;
  }

  .child_menu_btn {
    margin-bottom: 15px;
  }

  header .header_btn_wrapper.header_mobile_btn .header_std_btn:not(:last-child) {
    margin-bottom: 10px;
  }
}
/* Footer */

footer.footer {
  background-image: url(https://145627385.fs1.hubspotusercontent-eu1.net/hubfs/145627385/SupremeCommander_October_2024/Images/Frame%201321317854.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  padding-bottom: 220px;
}

.footer .footer_box {
  padding-bottom: 12%;
  border-bottom-left-radius: 34px;
  border-bottom-right-radius: 34px;
  margin-bottom: 60px;
}

.footer .title-wrpr h2 {
  margin-bottom: 0;
  font-size: 56px;
  line-height: 1.4;
}

.footer .footer_bottom {
  padding-top: 60px;
}

.footer .footer_bottom_inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.footer .footer_left_top {
  display: flex;
  flex-wrap: wrap;
  gap: 17px;
  margin-bottom: 28px;
  flex-direction: column;
}

.footer .footer_left_bottom {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.footer .footer_right {
  display: flex;
  justify-content: center;
}

.footer .footer_right .hs_cos_wrapper_type_menu {
  display: block;
}

.footer .footer_right .hs-menu-wrapper>ul {
  display: flex;
}


.footer .footer_right .hs-menu-wrapper>ul>li {
  padding: 0 24px;
  padding-bottom: 0;
}

.footer .footer_right .hs-menu-wrapper>ul>li ul {
  position: relative !important;!i;!;
  left: unset !important;!i;!;
  opacity: 1 !important;!i;!;
  padding-top: 0;
  top: unset !important;!i;!;
}

.footer .footer_right .hs-menu-wrapper>ul>li a {
  display: block;
  margin-bottom: 25px;
  text-decoration: none;
}

.footer .footer_right .hs-menu-wrapper>ul>li>a {
  font-weight: bold;
}

.footer .footer_copyright p {
  font-size: 14px;
  margin: 0;
  color: #ffffff90;
}

.textButton-module-wrpr.home-bottom-pane .title_button a {
  border-radius: 8px;
  display: inline-block;
  font-size: 15px;
  font-weight: 500;
  padding: 15px 24px;
  text-decoration: none;
}

.textButton-module-wrpr.home-bottom-pane .description-wrpr {
  max-width: 445px;
  margin: 0 auto;
}

@media(max-width: 991x) {
  .footer .footer_right .hs-menu-wrapper>ul>li {
    padding: 0 16px;
  }
}

@media(max-width: 767px) {
  .footer .footer_right .hs-menu-wrapper>ul>li {
    padding: 0 16px;
  }

  .footer  .footer_bottom_inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer  .footer_left>div {
    justify-content: center;
  }

  .footer  .footer_right {
    justify-content: center;
  }

  .footer .footer_right .hs-menu-wrapper>ul {
    flex-direction: unset !important;
    justify-content: flex-start;
  }

  .footer .footer_right .hs-menu-wrapper>ul>li {
    flex: 1 1 135px;
  }

  .footer .footer_left_bottom > div {
    width: 50%;
    text-align: center;
  }

  .footer .footer_left_bottom {
    gap: 0;
    row-gap: 20px;
  }

}
/* Menu and simple menu */

.hs-menu-wrapper ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */

.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Vertical menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  flex-direction: column;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: flex;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 0;
  opacity: 1;
  top: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 100%;
  opacity: 1;
  top: 0;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
    left: 0;
    opacity: 1;
    position: relative;
    top: auto;
  }
}

/* CTA, logo, and rich text images */

.hs_cos_wrapper_type_cta img,
.hs_cos_wrapper_type_logo img,
.hs_cos_wrapper_type_rich_text img {
  height: auto;
  max-width: 100%;
}


.homeBanner-wrpr.suprswitch-how-it-works,
.homeBanner-wrpr.suprconfig-how-it-works {
  background-size: cover;
}

.homeBanner-wrpr.suprswitch-how-it-works .homeBanner_icons_main,
.homeBanner-wrpr.suprconfig-how-it-works .homeBanner_icons_main {
  display: none;
}

.homeBanner-wrpr.suprswitch-how-it-works .homeBanner_mainImg_wrapper,
.homeBanner-wrpr.suprconfig-how-it-works .homeBanner_icons_main {
  padding-top: 48px;
}

/* Privacy Policy Pages CSS */

.policy_page_wrapper li {
  margin: 10px 0;
}

/* Utilities
Helper classes with ability to override anything that comes before it
*/

/* For content that needs to be visually hidden but stay visible for screenreaders */

.show-for-sr {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (max-width: 767px) {
  .show-for-sr--mobile {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}

:root{
  --navy:#1B304C;
  --mid:#3F4A5B; 
  --muted:#6B7280;
  --orange:#F27527;
  --orlt:#FFF2EA; 
  --ormd:#FFD4B5;
  --border:#E5E7EB;
  --soft:#F8F9FB;
  --green:#16A34A;
  --blue:#2563EB;
  --teal:#0891B2; 
  --purple:#7C3AED;
  --red:#DC2626;
}

/* breadcrumb css */

.body-container--superswitch.industries_hubdb_listing {
  padding-top: 64px;
}
.industries_hubdb_listing .breadcrumb {
  background: #F8F9FB;
  border-bottom: 1px solid #E5E7EB;
  padding: 10px 48px;
  font-size: 12px;
  color: #6B7280;
  display: flex;
  align-items: center;
  gap: 7px;
}

.industries_hubdb_listing .breadcrumb a {
  color: #F27527;
  font-weight: 600;
  text-decoration: none;
}

.industries_hubdb_listing .breadcrumb .sep {
  color: #D1D5DB;
}

.industries_hubdb_listing .breadcrumb .cur {
  color: #1B304C;
  font-weight: 600;
}

/* banner css */


.industries_hubdb_listing .hero {
  padding: 80px 48px 72px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(150deg, #0A1628 0%, #1B304C 50%, #243347 100%);
}

.industries_hubdb_listing .hero:before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 50% at 85% 10%,
    rgba(242, 117, 39, .18) 0%, transparent 70%),
    radial-gradient(ellipse 40% 60% at 5% 90%, rgba(8, 145, 178, .13) 0%, transparent 70%);
  pointer-events: none;
}

.industries_hubdb_listing .hero .content-wrapper {
  text-align: center;
  position: relative;
  padding:0;
}

.industries_hubdb_listing .hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 20px;
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, .65);
  margin-bottom: 28px;
}

.industries_hubdb_listing .hero-eyebrow .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22C55E;
}

.industries_hubdb_listing h1 {
  color: #fff;
  margin-bottom: 20px;
}

.industries_hubdb_listing h1 em {
  font-style: normal;
  color: #F27527;
}


.industries_hubdb_listing .hero-sub {
  line-height: 1.75;
  max-width: 620px;
  margin: 0 auto 40px;
  font-size: 17px;
  color: rgba(255, 255, 255, .6);
}

.industries_hubdb_listing .search-wrap {
  max-width: 540px;
  margin: 0 auto 48px;
  position: relative;
  background: transparent;
  padding: 0;
  border: none; 
}

.industries_hubdb_listing .search-wrap .search-input {
  width: 100%;
  padding: 16px 52px 16px 20px;
  font-size: 15px;
  font-family: inherit;
  border: 2px solid rgba(255, 255, 255, .15);
  border-radius: 14px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  outline: none;
  transition: border .2s;
  line-height: normal;
}

.industries_hubdb_listing .search-wrap .search-input::placeholder {
  color: rgba(255, 255, 255, .35);
}

.industries_hubdb_listing .search-wrap .search-icon {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, .4);
  pointer-events: none;
  font-size: 17px;
  background: transparent;
  border: none;
  padding: 0;
}

.industries_hubdb_listing .search-wrap .search-input:focus {
  border-color: #F27527;
  background: rgba(255, 255, 255, .1);
}

.industries_hubdb_listing .stats-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255, 255, 255, .09);
  border-radius: 16px;
  overflow: hidden;
  max-width: 800px;
  margin: 0 auto;
}

.industries_hubdb_listing .stats-strip .stat-block {
  background: rgba(255, 255, 255, .04);
  padding: 22px 16px;
  text-align: center;
}

.industries_hubdb_listing .stats-strip .stat-block .stat-v {
  font-size: 30px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -1.5px;
}

.industries_hubdb_listing .stats-strip .stat-block .stat-l {
  font-size: 11px;
  color: rgba(255, 255, 255, .38);
  margin-top: 4px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.industries_hubdb_listing .inner-filter-wrapper {
  display: flex;
  align-items: center;
  overflow: auto;
}


/* filter css */

.industries_hubdb_listing .filter-bar {
  background: #fff;
  border-bottom: 1px solid #E5E7EB;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  position: sticky;
  top: 64px;
  z-index: 90;
}

.industries_hubdb_listing .filter-bar .inner-filter-wrapper::-webkit-scrollbar {
  display: none;
}

.industries_hubdb_listing .filter-bar .filter-btn {
  padding: 0 16px;
  height: 48px;
  font-size: 13px;
  font-weight: 600;
  color: #6B7280;
  border: none;
  border-bottom: 2.5px solid transparent;
  background: none;
  cursor: pointer;
  white-space: nowrap;
  transition: all .15s;
  font-family: inherit;
  flex-shrink: 0;
  border-radius: 0;
  line-height: normal;
  display: flex;
  align-items: center;
  gap: 3px;

}

.industries_hubdb_listing .filter-bar .filter-btn:hover{
  color:#1B304C;
}

.industries_hubdb_listing .filter-bar .filter-btn.active {
  color: #F27527;
  border-bottom-color: #F27527;
}

.industries_hubdb_listing .filter-bar .filter-btn .filter-count {
  font-size: 10px;
  font-weight: 700;
  background: #F8F9FB;
  border-radius: 10px;
  padding: 2px 7px;
  margin-left: 5px;
  color: #6B7280;
}

.industries_hubdb_listing .filter-bar .filter-btn.active .filter-count {
  background: #FFF2EA;
  color: #F27527;
}


/* card css */

.industries_hubdb_listing .cst-list-items-holder {
  padding: 48px 0 80px;
}

.industries_hubdb_listing .cst-list-items-holder .results-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  flex-wrap: wrap;
  gap: 10px;
}

.industries_hubdb_listing .cst-list-items-holder .results-bar .results-label {
  font-size: 14px;
  color: #6B7280;
}

.industries_hubdb_listing .cst-list-items-holder .results-label strong {
  color: #1B304C;
}

.industries_hubdb_listing .cst-list-items-holder .results-bar .sort-select {
  font-size: 13px;
  font-weight: 600;
  color: #3F4A5B;
  padding: 6px 12px;
  border: 1.5px solid #E5E7EB;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  font-family: inherit;
}

.industries_hubdb_listing .cst-list-items-holder .card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.industries_hubdb_listing .cst-list-items-holder .card-grid .ind-card {
  background: #fff;
  border: 1.5px solid #E5E7EB;
  border-radius: 20px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  gap: 0;
  transition: all .22s;
  position: relative;
  overflow: hidden;
}

.industries_hubdb_listing .cst-list-items-holder .ind-card .crm-tags .crm-tag.more {
  color:#6b7280;
  background:#f8f9fb;
  border-color: #e5e7eb;
}

.industries_hubdb_listing .cst-list-items-holder .card-grid .ind-card:before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #FFF2EA 0%, transparent 60%);
  opacity: 0;
  transition: opacity .22s;
  pointer-events: none;
}

.industries_hubdb_listing .cst-list-items-holder .ind-card .card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 16px;
  position: relative;
  gap:10px;
}

.industries_hubdb_listing .cst-list-items-holder .card-top .card-icon-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.industries_hubdb_listing .cst-list-items-holder .card-top .card-icon {
  width: 46px;
  height: 46px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}

.industries_hubdb_listing .cst-list-items-holder .card-top .card-title {
  font-size: 17px;
  font-weight: 800;
  color: #1B304C;
  letter-spacing: -.3px;
  line-height: 1.2;
}

.industries_hubdb_listing .cst-list-items-holder .card-top .card-cat {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #6B7280;
  margin-top: 3px;
}

.industries_hubdb_listing .cst-list-items-holder .card-top .crm-badge {
  display: flex;
  align-items: center;
  gap: 4px;
  background: #1B304C;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: 20px;
  white-space: nowrap;
  flex-shrink: 0;
}

.industries_hubdb_listing .cst-list-items-holder .card-top .crm-badge .num {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.5px;
}

.industries_hubdb_listing .cst-list-items-holder .ind-card .card-pain {
  font-size: 13px;
  color: #3F4A5B;
  line-height: 1.65;
  margin-bottom: 16px;
  position: relative;
}

.industries_hubdb_listing .cst-list-items-holder .ind-card .card-roles {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 14px;
  position: relative;
}

.industries_hubdb_listing .cst-list-items-holder .card-roles .role-pill {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #3F4A5B;
  background: #F8F9FB;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 3px 8px;
}

.industries_hubdb_listing .cst-list-items-holder .ind-card .card-divider {
  height: 1px;
  background: #E5E7EB;
  margin-bottom: 14px;
  position: relative;
}

.industries_hubdb_listing .cst-list-items-holder .ind-card .crms-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #6B7280;
  margin-bottom: 8px;
  position: relative;
}

.industries_hubdb_listing .cst-list-items-holder .ind-card  .crm-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 18px;
  position: relative;
}

.industries_hubdb_listing .cst-list-items-holder .ind-card .crm-tags .crm-tag {
  font-size: 11px;
  font-weight: 600;
  color: #F27527;
  background: #FFF2EA;
  border: 1px solid #FFD4B5;
  border-radius: 7px;
  padding: 3px 9px;
  white-space: nowrap;
}

.industries_hubdb_listing .cst-list-items-holder .ind-card  .card-footer {
  margin-top: auto;
  position: relative;
}

.industries_hubdb_listing .cst-list-items-holder .ind-card .card-footer .card-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #1B304C;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 11px 16px;
  border-radius: 11px;
  text-decoration: none;
  transition: background .15s;
  gap:10px;
}

.industries_hubdb_listing .cst-list-items-holder .card-footer .card-cta  .arr {
  font-size: 16px;
  transition: transform .15s;
}

.industries_hubdb_listing .cst-list-items-holder .card-grid .ind-card:hover {
  border-color: #F27527;
  box-shadow: 0 8px 32px rgba(242, 117, 39, .13);
  transform: translateY(-3px);
}

.industries_hubdb_listing .cst-list-items-holder .card-grid .ind-card:hover:before {
  opacity: 1;
}

.industries_hubdb_listing .cst-list-items-holder .ind-card .card-footer .card-cta:hover {
  background: #F27527;
}

.industries_hubdb_listing .cst-list-items-holder .ind-card .card-footer .card-cta:hover .arr {
  transform: translateX(3px);
}


/* bottom pane css */

.industries_hubdb_listing .cta-strip {
  background: #F27527;
  padding: 64px 48px;
  text-align: center;
}

.industries_hubdb_listing .cta-strip h2 {
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 800;
  color: #fff;
  letter-spacing: -.5px;
  margin-bottom: 10px;
  line-height: 1.5;
}

.industries_hubdb_listing .cta-strip p {
  font-size: 16px;
  color: rgba(255, 255, 255, .85);
  margin-bottom: 28px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

.industries_hubdb_listing .cta-strip .cta-btns {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.industries_hubdb_listing .cta-strip .cta-btns .btn-white {
  background: #fff;
  color: #F27527;
  font-weight: 700;
  font-size: 15px;
  padding: 13px 28px;
  border-radius: 11px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.industries_hubdb_listing .cta-strip .cta-btns .btn-outline {
  background: transparent;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  padding: 13px 24px;
  border-radius: 11px;
  text-decoration: none;
  border: 2px solid rgba(255, 255, 255, .4);
  display: inline-flex;
  align-items: center;
}

.industries_hubdb_listing .cst-list-items-holder .empty-state {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.industries_hubdb_listing .cst-list-items-holder .empty-state .es-icon {
  font-size: 48px;
  margin-bottom: 16px;
}

.industries_hubdb_listing .cst-list-items-holder .empty-state h3 {
  font-size: 20px;
  font-weight: 700;
  color: #1b304c;
  margin-bottom: 8px;
}

.industries_hubdb_listing .cst-list-items-holder .empty-state p {
  font-size: 14px;
  line-height: 1.7;
}


@media (max-width:1100px){
  .industries_hubdb_listing .cst-list-items-holder .card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width:767px){ 

  .body-container--superswitch.industries_hubdb_listing {
    padding-top: 70px;
  }

  .industries_hubdb_listing .filter-bar{
    top:70px;
  }
  .industries_hubdb_listing .breadcrumb {
    padding-left: 15px;
    padding-right: 15px;
  }

  .industries_hubdb_listing .hero {
    padding-left: 15px;
    padding-right: 15px;
  }

  .industries_hubdb_listing h1 {
    letter-spacing: -1px;
  }

  .industries_hubdb_listing .stats-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .industries_hubdb_listing .cst-list-items-holder .content-wrapper {
    padding-left: 15px;
    padding-right: 15px;
  }

  .industries_hubdb_listing .cst-list-items-holder .card-grid {
    grid-template-columns: 1fr;
  }

  .industries_hubdb_listing .cta-strip {
    padding-left: 20px;
    padding-right: 20px;
  }
}


@media(max-width:400px){
  .industries_hubdb_listing .cst-list-items-holder .results-bar .sort-select{
    width:100%;
  }
  .industries_hubdb_listing .cst-list-items-holder .card-grid .ind-card{
    padding:20px;
  }
  .industries_hubdb_listing h1 br {
    display: none;
  }
}





/* Filter bar slider */
.industries_hubdb_listing  .filter-slider-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.industries_hubdb_listing .filter-slider-wrapper .left-arrow,
.industries_hubdb_listing .filter-slider-wrapper .right-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.industries_hubdb_listing .filter-slider-wrapper .left-arrow {
  left: -15px;
  background: linear-gradient(to left, #F27527 100%, transparent);
}

.industries_hubdb_listing .filter-slider-wrapper .right-arrow {
  right: -15px;
  left: auto;
  background: linear-gradient(to left, #F27527 100%, transparent);
}

.industries_hubdb_listing .filter-slider-wrapper .left-arrow.active,
.industries_hubdb_listing .filter-slider-wrapper .right-arrow.active {
  opacity: 1;
  pointer-events: auto;
}

.industries_hubdb_listing .filter-slider-wrapper .left-arrow svg,
.industries_hubdb_listing .filter-slider-wrapper .right-arrow svg {
  width: 32px;
  height: 32px;
  padding: 8px;
  fill:#fff;
  cursor: pointer;
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.industries_hubdb_listing #filterScroll {
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none; 
  -ms-overflow-style: none; 
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
}

.industries_hubdb_listing #filterScroll::-webkit-scrollbar {
  display: none;                /* Chrome/Safari */
}

























/* inner page css  */

/* ════ NAV ════ */

.nav-primary {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
  border-bottom: 1px solid var(--border);
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 48px
}

.nav-logo {
  font-weight: 800;
  font-size: 20px;
  letter-spacing: -.5px;
  color: var(--navy);
  text-decoration: none
}

.nav-links {
  display: flex;
  gap: 28px
}

.nav-links a {
  font-size: 14px;
  font-weight: 500;
  color: var(--mid);
  text-decoration: none
}

.nav-ctas {
  display: flex;
  gap: 10px
}

.btn-ghost {
  font-size: 13px;
  font-weight: 600;
  color: var(--navy);
  padding: 8px 18px;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  text-decoration: none
}

.btn-solid {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  padding: 8px 18px;
  background: var(--navy);
  border-radius: 8px;
  text-decoration: none
}

.nav-secondary {
  position: sticky;
  top: 64px;
  z-index: 99;
  background: #fff;
  border-bottom: 1px solid var(--border);
  height: 44px;
  display: flex;
  align-items: center;
  padding: 0 48px;
  gap: 0;
  overflow-x: auto
}

.nav-secondary::-webkit-scrollbar {
  display: none
}

.nav-secondary .brand {
  font-weight: 800;
  font-size: 13px;
  color: var(--orange);
  margin-right: 20px;
  white-space: nowrap
}

.nav-secondary a {
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  text-decoration: none;
  padding: 0 12px;
  height: 44px;
  display: flex;
  align-items: center;
  border-bottom: 2.5px solid transparent;
  white-space: nowrap;
  transition: all .15s;
  flex-shrink: 0
}

.nav-secondary a:hover {
  color: var(--navy)
}

.nav-secondary a.active {
  font-weight: 700;
  color: var(--navy);
  border-bottom-color: var(--orange)
}

/* ════ SECTION ════ */

.s {
  padding: 80px 48px
}

.si {
  max-width: 1160px;
  margin: 0 auto
}

.soft {
  background: var(--soft)
}

.dark {
  background: var(--navy)
}

.anchor {
  display: block;
  height: 108px;
  margin-top: -108px;
  visibility: hidden
}

.sh {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 52px
}

.ey {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: var(--orange);
  margin-bottom: 10px
}

.dark .ey {
  color: rgba(255, 255, 255, .35)
}

.sh h2 {
  font-size: clamp(24px, 2.8vw, 36px);
  font-weight: 800;
  letter-spacing: -.5px;
  line-height: 1.18;
  color: var(--navy);
  margin-bottom: 14px
}

.dark .sh h2 {
  color: #fff
}

.sh p {
  font-size: 16px;
  color: var(--mid);
  line-height: 1.75
}

.dark .sh p {
  color: rgba(255, 255, 255, .55)
}

/* ════ TAGS ════ */

.tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 3px 9px;
  border-radius: 20px
}

.t-or {
  color: var(--orange);
  background: var(--orlt)
}

.t-gr {
  color: var(--green);
  background: #F0FDF4
}

.t-bl {
  color: var(--blue);
  background: #EFF6FF
}

.t-te {
  color: var(--teal);
  background: #ECFEFF
}

.t-pu {
  color: var(--purple);
  background: #F5F3FF
}

.t-rd {
  color: var(--red);
  background: #FEF2F2
}

.t-mu {
  color: var(--muted);
  background: var(--soft)
}

.t-nv {
  color: #fff;
  background: var(--navy)
}

.t-yw {
  color: #B45309;
  background: #FFFBEB
}

/* ════ BUTTONS ════ */

.btn-p {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--orange);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  padding: 13px 26px;
  border-radius: 11px;
  text-decoration: none
}

.btn-s {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--navy);
  font-weight: 600;
  font-size: 15px;
  padding: 13px 22px;
  border-radius: 11px;
  text-decoration: none;
  border: 1.5px solid var(--border)
}

.btn-ow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  padding: 11px 20px;
  border-radius: 11px;
  text-decoration: none;
  border: 1.5px solid rgba(255, 255, 255, .3)
}

.btn-white {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--orange);
  font-weight: 700;
  font-size: 15px;
  padding: 14px 30px;
  border-radius: 12px;
  text-decoration: none
}

.btn-ol {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  padding: 14px 26px;
  border-radius: 12px;
  text-decoration: none;
  border: 2px solid rgba(255, 255, 255, .4)
}

/* ════════════════════════════════════════
HERO
════════════════════════════════════════ */

.hero {
  background: linear-gradient(150deg, #0A1628 0%, #1B304C 50%, #243347 100%);
  padding: 88px 48px 80px;
  position: relative;
  overflow: hidden
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 65% 55% at 80% 15%, rgba(242, 117, 39, .15) 0%, transparent 70%), radial-gradient(ellipse 45% 65% at 5% 85%, rgba(8, 145, 178, .12) 0%, transparent 70%), radial-gradient(ellipse 30% 40% at 50% 50%, rgba(124, 58, 237, .06) 0%, transparent 70%);
  pointer-events: none
}

.hero-in {
  max-width: 1160px;
  margin: 0 auto;
  position: relative
}

.hero-pills {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 30px;
  flex-wrap: wrap
}

.hero-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 20px;
  padding: 5px 13px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, .68)
}

.hero-pill .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22C55E;
  flex-shrink: 0
}

.hero-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 56px;
  align-items: start
}

.hero h1 {
  font-size: clamp(30px, 4vw, 54px);
  font-weight: 800;
  line-height: 1.07;
  letter-spacing: -1.5px;
  color: #fff;
  margin-bottom: 22px
}

.hero h1 em {
  font-style: normal;
  color: var(--orange)
}

.hero-sub {
  font-size: 17px;
  color: rgba(255, 255, 255, .65);
  line-height: 1.78;
  max-width: 540px;
  margin-bottom: 34px
}

.hero-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 48px
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(255, 255, 255, .09);
  border-radius: 14px;
  overflow: hidden;
  margin-top: 0
}

.hero-stat {
  background: rgba(255, 255, 255, .04);
  padding: 20px 14px;
  text-align: center
}

.hero-stat-v {
  font-size: 26px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -1px
}

.hero-stat-l {
  font-size: 11px;
  color: rgba(255, 255, 255, .4);
  margin-top: 4px;
  line-height: 1.4
}

.hero-toc {
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 18px;
  padding: 24px
}

.hero-toc-lbl {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255, 255, 255, .3);
  margin-bottom: 16px
}

.toc-item {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  text-decoration: none;
  cursor: pointer
}

.toc-item:last-child {
  border-bottom: none;
  padding-bottom: 0
}

.toc-item:first-child {
  padding-top: 0
}

.toc-ico {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0
}

.toc-txt {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, .7);
  flex: 1
}

.toc-cnt {
  font-size: 11px;
  color: rgba(255, 255, 255, .28)
}

.toc-arr {
  font-size: 13px;
  color: rgba(255, 255, 255, .22)
}

/* ════════════════════════════════════════
PERSONAS
════════════════════════════════════════ */

.persona-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px
}

.persona-card {
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 18px;
  padding: 28px 24px;
  transition: all .2s;
  cursor: pointer
}

.persona-card:hover {
  border-color: var(--orange);
  box-shadow: 0 6px 24px rgba(242, 117, 39, .1);
  transform: translateY(-2px)
}

.persona-icon {
  font-size: 32px;
  margin-bottom: 14px
}

.persona-type {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--orange);
  margin-bottom: 8px
}

.persona-title {
  font-size: 16px;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 10px;
  line-height: 1.3
}

.persona-desc {
  font-size: 13px;
  color: var(--mid);
  line-height: 1.68;
  margin-bottom: 16px
}

.persona-needs {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.persona-need {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 12px;
  color: var(--mid)
}

.persona-need::before {
  content: '→';
  color: var(--orange);
  font-weight: 700;
  flex-shrink: 0
}

/* ════════════════════════════════════════
MIGRATION CARDS
════════════════════════════════════════ */

.platform-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 16px
}

.mig-card {
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  transition: all .2s
}

.mig-card:hover {
  border-color: var(--orange);
  box-shadow: 0 8px 28px rgba(242, 117, 39, .12);
  transform: translateY(-3px)
}

.mig-card-visual {
  background: linear-gradient(135deg, #F0F4FA, #F8F9FB);
  padding: 22px 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.mig-logo-row {
  display: flex;
  align-items: center;
  gap: 8px
}

.logo-chip {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 6px 10px;
  height: 40px;
  width: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.logo-chip img {
  height: 22px;
  width: 54px;
  object-fit: contain
}

.logo-chip span {
  font-size: 10px;
  font-weight: 700;
  color: var(--mid);
  text-align: center;
  line-height: 1.2
}

.arrow-badge {
  width: 26px;
  height: 26px;
  background: var(--orange);
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.mig-meta {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.complexity {
  display: flex;
  align-items: center;
  gap: 4px
}

.complexity-label {
  font-size: 10px;
  font-weight: 600;
  color: var(--muted)
}

.complexity-dots {
  display: flex;
  gap: 3px
}

.complexity-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%
}

.dot-filled {
  background: var(--orange)
}

.dot-empty {
  background: #E5E7EB
}

.mig-card-body {
  padding: 13px 16px 15px
}

.mig-card-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 3px
}

.mig-card-desc {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.5;
  margin-bottom: 10px
}

.mig-card-ft {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 9px;
  border-top: 1px solid #F4F4F4
}

.mig-card-ft .lbl {
  font-size: 12px;
  font-weight: 700;
  color: var(--orange)
}

/* ════════════════════════════════════════
MIGRATION CHECKLIST
════════════════════════════════════════ */

.checklist-layout {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 32px;
  align-items: start
}

.checklist-sidebar {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
  position: sticky;
  top: 120px
}

.checklist-sidebar-header {
  background: var(--navy);
  padding: 20px 24px
}

.checklist-sidebar-header h3 {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px
}

.checklist-sidebar-header p {
  font-size: 12px;
  color: rgba(255, 255, 255, .5)
}

.checklist-progress-bar {
  height: 6px;
  background: rgba(255, 255, 255, .15);
  border-radius: 3px;
  margin-top: 14px;
  overflow: hidden
}

.checklist-progress-fill {
  height: 100%;
  background: var(--orange);
  border-radius: 3px;
  transition: width .4s ease;
  width: 0%
}

.checklist-progress-label {
  font-size: 11px;
  color: rgba(255, 255, 255, .45);
  margin-top: 6px
}

.checklist-nav {
  padding: 12px 0
}

.checklist-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 20px;
  cursor: pointer;
  transition: background .15s
}

.checklist-nav-item:hover {
  background: var(--soft)
}

.checklist-nav-item.active {
  background: var(--orlt)
}

.checklist-nav-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 2px solid var(--border);
  flex-shrink: 0;
  transition: all .2s
}

.checklist-nav-item.done .checklist-nav-dot {
  background: var(--green);
  border-color: var(--green)
}

.checklist-nav-item.active .checklist-nav-dot {
  border-color: var(--orange)
}

.checklist-nav-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--mid)
}

.checklist-nav-item.active .checklist-nav-label {
  color: var(--orange)
}

.checklist-nav-count {
  margin-left: auto;
  font-size: 11px;
  color: var(--muted)
}

.checklist-main {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.check-group {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden
}

.check-group-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 22px;
  cursor: pointer;
  transition: background .15s;
  user-select: none
}

.check-group-header:hover {
  background: var(--soft)
}

.check-group.open .check-group-header {
  background: var(--orlt);
  border-bottom: 1px solid var(--ormd)
}

.check-group-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  flex-shrink: 0
}

.check-group-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  flex: 1
}

.check-group-tally {
  font-size: 12px;
  color: var(--muted);
  margin-right: 8px
}

.check-group-chevron {
  font-size: 12px;
  color: var(--muted);
  transition: transform .2s
}

.check-group.open .check-group-chevron {
  transform: rotate(90deg)
}

.check-items {
  display: none;
  padding: 8px 22px 16px
}

.check-group.open .check-items {
  display: block
}

.check-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #F8F9FB;
  cursor: pointer
}

.check-item:last-child {
  border-bottom: none;
  padding-bottom: 0
}

.check-box {
  width: 20px;
  height: 20px;
  border: 2px solid var(--border);
  border-radius: 5px;
  flex-shrink: 0;
  margin-top: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .18s
}

.check-item.checked .check-box {
  background: var(--green);
  border-color: var(--green)
}

.check-item.checked .check-box::after {
  content: "✓";
  font-size: 12px;
  color: #fff;
  font-weight: 700;
  line-height: 1
}

.check-item.checked .check-label {
  text-decoration: line-through;
  color: var(--muted)
}

.check-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.4;
  flex: 1
}

.check-note {
  font-size: 12px;
  color: var(--muted);
  margin-top: 3px;
  line-height: 1.5
}

.check-flag {
  flex-shrink: 0;
  margin-top: 2px
}

/* ════════════════════════════════════════
COMPLIANCE
════════════════════════════════════════ */

.comp-intro-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-bottom: 36px
}

.comp-intro-card {
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 18px;
  padding: 30px
}

.comp-intro-card h3 {
  font-size: 17px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 12px
}

.comp-intro-card p {
  font-size: 14px;
  color: rgba(255, 255, 255, .55);
  line-height: 1.78
}

.comp-badges {
  display: flex;
  flex-direction: column;
  gap: 10px
}

.comp-badge {
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 13px;
  padding: 14px 18px
}

.comp-badge-ico {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  flex-shrink: 0
}

.comp-badge h4 {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 2px
}

.comp-badge p {
  font-size: 11px;
  color: rgba(255, 255, 255, .42);
  line-height: 1.4
}

.comp-badge-status {
  margin-left: auto;
  flex-shrink: 0
}

.sp {
  font-size: 10px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 20px
}

.sp-req {
  color: var(--red);
  background: rgba(220, 38, 38, .15);
  border: 1px solid rgba(220, 38, 38, .3)
}

.sp-adv {
  color: #D97706;
  background: rgba(217, 119, 6, .15);
  border: 1px solid rgba(217, 119, 6, .3)
}

.sp-bp {
  color: var(--green);
  background: rgba(22, 163, 74, .15);
  border: 1px solid rgba(22, 163, 74, .3)
}

.comp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px
}

.comp-card {
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  padding: 26px
}

.comp-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
  gap: 8px
}

.comp-icon {
  font-size: 26px
}

.comp-card h3 {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px
}

.comp-card p {
  font-size: 13px;
  color: rgba(255, 255, 255, .52);
  line-height: 1.72;
  margin-bottom: 14px
}

.comp-suprswitch {
  background: rgba(242, 117, 39, .1);
  border: 1px solid rgba(242, 117, 39, .2);
  border-radius: 10px;
  padding: 12px 14px;
  margin-top: 12px
}

.comp-suprswitch-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--orange);
  margin-bottom: 5px
}

.comp-suprswitch p {
  font-size: 12px;
  color: rgba(255, 255, 255, .6);
  line-height: 1.55;
  margin-bottom: 0
}

.comp-applies {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, .07)
}

.comp-applies-lbl {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: rgba(255, 255, 255, .28);
  margin-bottom: 7px
}

.comp-tags {
  display: flex;
  gap: 5px;
  flex-wrap: wrap
}

.comp-tag {
  font-size: 10px;
  font-weight: 600;
  color: rgba(255, 255, 255, .52);
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 7px;
  padding: 2px 8px
}

/* ════════════════════════════════════════
GLOSSARY
════════════════════════════════════════ */

.gloss-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  flex-wrap: wrap;
  gap: 12px
}

.gloss-cats {
  display: flex;
  gap: 7px;
  flex-wrap: wrap
}

.gcat {
  padding: 7px 15px;
  border: 1.5px solid var(--border);
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  color: var(--mid);
  background: #fff;
  cursor: pointer;
  transition: all .15s;
  font-family: inherit
}

.gcat.active,
.gcat:hover {
  border-color: var(--orange);
  color: var(--orange);
  background: var(--orlt)
}

.gloss-az {
  display: flex;
  gap: 4px;
  flex-wrap: wrap
}

.az-btn {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: #fff;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .15s;
  font-family: inherit
}

.az-btn:hover,
.az-btn.active {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy)
}

.gloss-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px
}

.gloss-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 20px;
  transition: box-shadow .2s
}

.gloss-card:hover {
  box-shadow: 0 4px 18px rgba(27, 48, 76, .08)
}

.gloss-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 8px;
  gap: 8px
}

.gloss-term {
  font-size: 16px;
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -.3px
}

.gloss-abbr {
  font-size: 10px;
  font-weight: 700;
  color: var(--orange);
  background: var(--orlt);
  padding: 3px 8px;
  border-radius: 7px;
  flex-shrink: 0;
  white-space: nowrap
}

.gloss-def {
  font-size: 13px;
  color: var(--mid);
  line-height: 1.72;
  margin-bottom: 11px
}

.gloss-crm {
  font-size: 12px;
  color: var(--muted);
  background: var(--soft);
  border-radius: 8px;
  padding: 9px 12px;
  line-height: 1.55
}

.gloss-crm strong {
  color: var(--navy)
}

.gloss-foot {
  display: flex;
  gap: 6px;
  margin-top: 11px;
  flex-wrap: wrap
}

.gloss-empty {
  grid-column: 1/-1;
  text-align: center;
  padding: 48px;
  color: var(--muted);
  font-size: 14px
}

/* ════════════════════════════════════════
FAQs
════════════════════════════════════════ */

.faq-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: start
}

.faq-item {
  border: 1.5px solid var(--border);
  border-radius: 14px;
  overflow: hidden
}

.faq-item.open {
  border-color: var(--orange)
}

.faq-hd {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  gap: 12px;
  cursor: pointer
}

.faq-l {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0
}

.faq-q {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.4
}

.faq-tog {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all .18s
}

.faq-item.open .faq-tog {
  background: var(--orange);
  border-color: var(--orange)
}

.faq-body {
  padding: 0 20px 16px;
  border-top: 1px solid var(--border);
  font-size: 13.5px;
  color: var(--mid);
  line-height: 1.8;
  display: none
}

.faq-item.open .faq-body {
  display: block
}

/* ════════════════════════════════════════
CTA + FOOTER
════════════════════════════════════════ */

.cta-sec {
  background: var(--orange);
  padding: 72px 48px;
  text-align: center
}

.cta-sec h2 {
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 800;
  color: #fff;
  letter-spacing: -.6px;
  margin-bottom: 12px
}

.cta-sec p {
  font-size: 17px;
  color: rgba(255, 255, 255, .85);
  margin-bottom: 30px;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto
}

.cta-btns {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap
}

footer {
  background: var(--navy);
  color: #fff;
  padding: 56px 48px 44px
}

.fi {
  max-width: 1160px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px
}

.f-logo {
  font-weight: 800;
  font-size: 22px;
  letter-spacing: -.5px;
  margin-bottom: 8px
}

.f-copy {
  font-size: 13px;
  color: rgba(255, 255, 255, .32)
}

.f-cols {
  display: flex;
  gap: 52px;
  flex-wrap: wrap
}

.f-col h4 {
  font-size: 11px;
  font-weight: 700;
  color: rgba(255, 255, 255, .28);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 14px
}

.f-col a {
  display: block;
  font-size: 14px;
  color: rgba(255, 255, 255, .6);
  text-decoration: none;
  margin-bottom: 9px
}

/* ════ RESPONSIVE ════ */

@media(max-width:1024px) {
  .persona-grid,
  .comp-grid,
  .gloss-grid {
    grid-template-columns: repeat(2, 1fr)
  }
  .hero-grid,
  .checklist-layout,
  .comp-intro-strip,
  .faq-cols {
    grid-template-columns: 1fr
  }
  .arch-diagram {
    grid-template-columns: 1fr 60px 160px 60px 1fr
  }
}

@media(max-width:768px) {
  .s,
  .hero,
  .cta-sec,
  footer {
    padding-left: 20px;
    padding-right: 20px
  }
  .nav-primary,
  .nav-secondary,
  .breadcrumb {
    padding-left: 20px;
    padding-right: 20px
  }
  .nav-links,
  .nav-ctas {
    display: none
  }
  .persona-grid,
  .comp-grid,
  .gloss-grid,
  .faq-cols {
    grid-template-columns: 1fr
  }
  .hero-stats {
    grid-template-columns: 1fr 1fr 1fr
  }
}