/* [next]/internal/font/google/geist_a71539c9.module.css [app-client] (css) */
@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Geist Fallback;
  src: local(Arial);
  ascent-override: 95.94%;
  descent-override: 28.16%;
  line-gap-override: 0.0%;
  size-adjust: 104.76%;
}

.geist_a71539c9-module__T19VSG__className {
  font-family: Geist, Geist Fallback;
  font-style: normal;
}

.geist_a71539c9-module__T19VSG__variable {
  --font-geist-sans: "Geist", "Geist Fallback";
}

/* [next]/internal/font/google/geist_mono_8d43a2aa.module.css [app-client] (css) */
@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2") format("woff2");
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/797e433ab948586e-s.p.08e28id.o-okb.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Geist Mono Fallback;
  src: local(Arial);
  ascent-override: 74.67%;
  descent-override: 21.92%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.geist_mono_8d43a2aa-module__8Li5zG__className {
  font-family: Geist Mono, Geist Mono Fallback;
  font-style: normal;
}

.geist_mono_8d43a2aa-module__8Li5zG__variable {
  --font-geist-mono: "Geist Mono", "Geist Mono Fallback";
}

/* [project]/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-ease: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-mono: var(--font-geist-mono);
    --spacing: .25rem;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-geist-sans);
    --default-mono-font-family: var(--font-geist-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

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

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .collapse {
    visibility: collapse;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .sticky {
    position: sticky;
  }

  .start {
    inset-inline-start: var(--spacing);
  }

  .end {
    inset-inline-end: var(--spacing);
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline-block {
    display: inline-block;
  }

  .table {
    display: table;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .resize {
    resize: both;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .italic {
    font-style: italic;
  }

  .underline {
    text-decoration-line: underline;
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
}

:root {
  --background: #f6f8fb;
  --foreground: #162033;
  --ink: #162033;
  --muted: #64728a;
  --line: #dfe5ee;
  --blue: #1b5f9f;
  --blue-dark: #0f365d;
  --blue-bright: #2f8ad8;
  --steel: #8b98a8;
  --silver: #edf1f5;
  --white: #fff;
  --success: #1f8a5b;
  --warning: #b7791f;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--background);
  color: var(--foreground);
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
}

button, input, select, textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration: none;
}

.site-shell {
  background: linear-gradient(180deg, #1232540f, #f6f8fb00 320px),
    var(--background);
  min-height: 100vh;
}

.site-shell.layout-boxed {
  border-left: 1px solid #dbe5ef;
  border-right: 1px solid #dbe5ef;
  max-width: 1280px;
  margin: 0 auto;
  overflow: hidden;
  box-shadow: 0 18px 50px #15365814;
}

.site-shell.layout-full {
  width: 100%;
}

.topbar {
  z-index: 40;
  background: var(--rt-nav-background, #f6f8fb);
  border-bottom: 1px solid #dfe5eee6;
  position: sticky;
  top: 0;
}

@supports (color: color-mix(in lab, red, red)) {
  .topbar {
    background: color-mix(in srgb, var(--rt-nav-background, #f6f8fb) 94%, transparent);
  }
}

.topbar {
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  min-height: var(--rt-header-height, 82px);
}

.nav {
  justify-content: space-between;
  align-items: center;
  gap: calc(var(--rt-nav-gap, 6px) + 16px);
  width: min(1180px, 100% - 32px);
  min-height: var(--rt-header-height, 82px);
  margin: 0 auto;
  padding: 14px 0;
  display: flex;
}

.brand {
  align-items: center;
  gap: 12px;
  min-width: 208px;
  display: flex;
}

.brand img {
  display: block;
  width: var(--rt-logo-width, 190px) !important;
  height: auto !important;
  max-width: var(--rt-logo-width, 190px) !important;
  max-height: var(--rt-logo-max-height, 54px) !important;
  object-fit: contain !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.nav-links {
  justify-content: center;
  align-items: center;
  gap: var(--rt-nav-gap, 6px);
  flex: 1;
  display: flex;
}

.nav-item {
  align-items: center;
  display: inline-flex;
  position: relative;
}

.nav-link {
  color: var(--muted);
  font-size: var(--rt-nav-font-size, 14px);
  background: none;
  border: 0;
  border-radius: 6px;
  align-items: center;
  gap: 5px;
  padding: 9px 10px;
  display: inline-flex;
}

.nav-link:hover, .nav-link.active {
  background: var(--silver);
  color: var(--blue-dark);
}

.nav-caret {
  opacity: .72;
  font-size: 11px;
  line-height: 1;
}

.nav-submenu {
  z-index: 80;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  min-width: 180px;
  padding: 8px;
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  box-shadow: 0 16px 38px #11182724;
}

.has-submenu:hover .nav-submenu, .has-submenu:focus-within .nav-submenu {
  gap: 4px;
  display: grid;
}

.nav-sub-link {
  color: var(--muted);
  white-space: nowrap;
  border-radius: 6px;
  padding: 9px 10px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  display: block;
}

.nav-sub-link:hover, .nav-sub-link.active {
  background: var(--silver);
  color: var(--blue-dark);
}

.admin-entry {
  border: 1px solid var(--line);
  background: var(--white);
  min-height: 38px;
  color: var(--blue-dark);
  white-space: nowrap;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
}

.cms-title {
  color: var(--blue-dark);
  font-weight: 900;
}

.cms-top-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  display: flex;
}

.container {
  width: min(1180px, 100% - 32px);
  margin: 0 auto;
}

.hero {
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
  align-items: stretch;
  gap: 34px;
  padding: 46px 0 34px;
  display: grid;
}

.hero-copy {
  padding: 28px 0;
}

.eyebrow {
  color: var(--hero-eyebrow-color, var(--blue));
  letter-spacing: 0;
  text-transform: uppercase;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
}

.eyebrow:before {
  content: "";
  background: var(--blue-bright);
  width: 28px;
  height: 2px;
}

.hero h1 {
  color: var(--hero-title-color, var(--ink));
  letter-spacing: 0;
  margin: 18px 0;
  font-size: clamp(40px, 5vw, 76px);
  line-height: .96;
}

.hero.hero-title-small h1 {
  font-size: clamp(34px, 4vw, 52px);
}

.hero.hero-title-medium h1 {
  font-size: clamp(40px, 5vw, 64px);
}

.hero.hero-title-large h1 {
  font-size: clamp(40px, 5vw, 76px);
}

.hero p {
  max-width: 640px;
  color: var(--hero-body-color, var(--muted));
  margin: 0;
  font-size: 18px;
  line-height: 1.7;
}

.hero.hero-body-small p {
  font-size: 16px;
}

.hero.hero-body-medium p {
  font-size: 18px;
}

.hero.hero-body-large p {
  font-size: 20px;
}

.hero-actions {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
  display: flex;
}

.button {
  border: 1px solid #0000;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 0 18px;
  font-weight: 700;
  display: inline-flex;
}

.hero.hero-button-small .button {
  min-height: 38px;
  padding: 0 14px;
  font-size: 14px;
}

.hero.hero-button-medium .button {
  min-height: 44px;
  padding: 0 18px;
  font-size: 16px;
}

.hero.hero-button-large .button {
  min-height: 52px;
  padding: 0 24px;
  font-size: 18px;
}

.button.primary {
  background: var(--hero-primary-button-color, var(--blue));
  color: var(--white);
}

.button.primary + .button.primary {
  background: var(--hero-primary-button-color, var(--blue-dark));
}

@supports (color: color-mix(in lab, red, red)) {
  .button.primary + .button.primary {
    background: color-mix(in srgb, var(--hero-primary-button-color, var(--blue-dark)) 78%, #101827);
  }
}

.button.secondary {
  background: var(--hero-secondary-button-color, var(--white));
  border-color: var(--line);
  color: var(--blue-dark);
}

.hero.hero-font-serif {
  font-family: Georgia, Times New Roman, serif;
}

.hero.hero-font-mono {
  font-family: var(--font-mono), "SFMono-Regular", Consolas, monospace;
}

.inline-editable {
  outline-offset: 5px;
  cursor: text;
  outline: 1px dashed #1b5f9f59;
}

.inline-editable:focus {
  outline-color: var(--blue-bright);
  background: #ffffffdb;
}

.inline-control {
  width: 100%;
  color: inherit;
  font: inherit;
  line-height: inherit;
  letter-spacing: 0;
  background: #ffffff47;
  border: 1px dashed #1b5f9f52;
  border-radius: 6px;
  padding: 4px 8px;
}

.inline-control:focus {
  border-color: var(--blue-bright);
  background: #ffffffeb;
  outline: 2px solid #2196f329;
}

.inline-control.eyebrow {
  max-width: 420px;
  color: var(--hero-eyebrow-color, var(--blue));
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 700;
  display: block;
}

.inline-control-title {
  min-height: 2.7em;
  color: var(--hero-title-color, var(--ink));
  font-size: inherit;
  margin: 18px 0;
  font-weight: 400;
}

.inline-control-textarea {
  resize: vertical;
  min-height: 120px;
  color: var(--hero-body-color, var(--muted));
}

.inline-button-edit {
  gap: 8px;
}

.inline-button-edit > input {
  min-width: 60px;
  max-width: 210px;
  color: inherit;
  font: inherit;
  background: none;
  border: 1px dashed #ffffff61;
  border-radius: 4px;
  padding: 2px 4px;
}

.inline-button-edit > button, .inline-image-edit {
  color: var(--blue-dark);
  background: #ffffffe0;
  border: 1px solid #1b5f9f40;
  border-radius: 5px;
  padding: 5px 8px;
  font-size: 12px;
  font-weight: 800;
}

.inline-image-edit {
  z-index: 2;
  position: absolute;
  top: 12px;
  right: 12px;
}

.inline-style-tools {
  background: #ffffffd1;
  border: 1px solid #1b5f9f24;
  border-radius: 8px;
  flex-wrap: wrap;
  align-items: end;
  gap: 8px;
  margin: 0 0 16px;
  padding: 10px;
  display: flex;
}

.inline-style-tools label {
  color: var(--muted);
  gap: 4px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 800;
  display: grid;
}

.inline-style-tools select, .inline-style-tools input {
  border: 1px solid var(--line);
  background: var(--white);
  height: 30px;
  color: var(--ink);
  border-radius: 5px;
}

.hero-panel {
  background: linear-gradient(135deg, #fffffff0, #edf1f5eb), repeating-linear-gradient(90deg, #1b5f9f14 0 1px, #0000 1px 28px);
  border: 1px solid #dfe5eef2;
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 22px 60px #0f365d1f;
}

.hero-photo, .page-hero img {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 8px;
  margin: 0;
  overflow: hidden;
  box-shadow: 0 22px 60px #0f365d1f;
}

.hero-photo img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  min-height: 430px;
  display: block;
}

.page-hero {
  grid-template-columns: minmax(0, .92fr) minmax(340px, 1.08fr);
  align-items: center;
  gap: 28px;
  padding: 42px 0 24px;
  display: grid;
}

.page-hero h1 {
  color: var(--ink);
  letter-spacing: 0;
  margin: 16px 0;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.02;
}

.page-hero p {
  color: var(--muted);
  margin: 0;
  font-size: 18px;
  line-height: 1.68;
}

.page-hero img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  display: block;
}

.image-story {
  grid-template-columns: minmax(340px, .94fr) minmax(0, 1.06fr);
  align-items: center;
  gap: 24px;
  display: grid;
}

.image-story img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 8px;
  width: 100%;
}

.image-story h2 {
  margin: 14px 0;
}

.image-story p {
  color: var(--muted);
  margin: 0;
  font-size: 17px;
  line-height: 1.7;
}

.machine-visual {
  opacity: .9;
  background: radial-gradient(circle at 72% 24%, #2f8ad833, #0000 170px), linear-gradient(130deg, #0000 0 30%, #1b5f9f1a 30% 31%, #0000 31% 100%);
  position: absolute;
  inset: 0;
}

.bolt-board {
  grid-template-columns: repeat(3, 1fr);
  align-content: end;
  gap: 12px;
  min-height: 430px;
  padding: 28px;
  display: grid;
  position: relative;
}

.spec-tile {
  background: #ffffffc7;
  border: 1px solid #8b98a852;
  border-radius: 8px;
  min-height: 116px;
  padding: 14px;
}

.spec-tile strong {
  color: var(--blue-dark);
  font-size: 24px;
  display: block;
}

.spec-tile span {
  color: var(--muted);
  margin-top: 7px;
  font-size: 13px;
  line-height: 1.4;
  display: block;
}

.section {
  padding: 38px 0;
}

.section-head {
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  margin-bottom: 18px;
  display: flex;
}

.section h2 {
  color: var(--ink);
  letter-spacing: 0;
  margin: 0;
  font-size: clamp(26px, 3vw, 38px);
}

.section-head p {
  max-width: 580px;
  color: var(--muted);
  margin: 0;
  line-height: 1.6;
}

.portal-grid {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  display: grid;
  overflow: hidden;
}

.portal-item {
  border-right: 1px solid var(--line);
  background: linear-gradient(180deg, #fff0, #edf1f58f),
    var(--white);
  min-height: 184px;
  padding: 22px;
}

.portal-item:last-child {
  border-right: 0;
}

.portal-item h3 {
  color: var(--blue-dark);
  margin: 0 0 12px;
  font-size: 20px;
}

.portal-item p {
  color: var(--muted);
  margin: 0;
  line-height: 1.58;
}

.finder-grid {
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
  gap: 18px;
  display: grid;
}

.panel, .card {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 8px;
}

.panel {
  padding: 20px;
}

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

.field {
  gap: 7px;
  display: grid;
}

.field label {
  color: var(--blue-dark);
  font-size: 13px;
  font-weight: 700;
}

.field input, .field select, .field textarea {
  color: #12243a;
  background: #fff;
  border: 1px solid #b8c7d9;
  border-radius: 6px;
  outline: none;
  width: 100%;
  padding: 11px 12px;
}

.field input::placeholder, .field textarea::placeholder {
  color: #6b7f95;
}

.field textarea {
  resize: vertical;
  min-height: 96px;
}

.field input:focus, .field select:focus, .field textarea:focus {
  border-color: var(--blue-bright);
  box-shadow: 0 0 0 3px #2f8ad829;
}

.result {
  gap: 14px;
  display: grid;
}

.recommendation {
  border: 1px solid var(--line);
  background: linear-gradient(#fff, #f9fbfd);
  border-radius: 8px;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 16px;
  padding: 18px;
  display: grid;
}

.recommendation h3, .card h3 {
  color: var(--blue-dark);
  margin: 0 0 8px;
  font-size: 19px;
}

.recommendation p, .card p {
  color: var(--muted);
  margin: 0;
  line-height: 1.55;
}

.tag-row {
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
  display: flex;
}

.tag {
  background: var(--silver);
  min-height: 28px;
  color: var(--blue-dark);
  border-radius: 6px;
  align-items: center;
  padding: 0 9px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.confidence {
  text-align: right;
  min-width: 90px;
  color: var(--success);
  font-weight: 800;
}

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

.grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.card {
  padding: 18px;
}

.feature-card {
  min-height: 232px;
}

.compact-card {
  min-height: 150px;
}

.image-card {
  padding: 0;
  overflow: hidden;
}

.image-card img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-bottom: 1px solid var(--line);
  width: 100%;
  display: block;
}

.product-photo-card img {
  aspect-ratio: 1;
  object-fit: contain;
  background: var(--white);
  padding: 14px;
}

.image-card .kicker, .image-card h3, .image-card p {
  margin-left: 18px;
  margin-right: 18px;
}

.image-card .kicker {
  margin-top: 16px;
}

.image-card p {
  margin-bottom: 18px;
}

.card .kicker {
  color: var(--blue);
  text-transform: uppercase;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 800;
  display: block;
}

.problem-button {
  border: 1px solid var(--line);
  background: var(--white);
  text-align: left;
  border-radius: 8px;
  width: 100%;
  min-height: 118px;
  padding: 16px;
}

.problem-button.active {
  border-color: var(--blue);
  box-shadow: inset 0 0 0 1px var(--blue);
}

.problem-button strong {
  color: var(--blue-dark);
  font-size: 17px;
  display: block;
}

.problem-button span {
  color: var(--muted);
  margin-top: 8px;
  line-height: 1.45;
  display: block;
}

.cross-table {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 8px;
  overflow: hidden;
}

.cross-row {
  grid-template-columns: 1fr 1fr 1.2fr 1fr;
  gap: 0;
  display: grid;
}

.cross-row > div {
  border-bottom: 1px solid var(--line);
  padding: 14px;
}

.cross-row.header {
  background: var(--blue-dark);
  color: var(--white);
  font-weight: 800;
}

.cross-row:last-child > div {
  border-bottom: 0;
}

.resource-strip {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 8px;
  flex-wrap: wrap;
  gap: 12px;
  padding: 18px;
  display: flex;
}

.resource-pill {
  border: 1px solid var(--line);
  min-height: 42px;
  color: var(--blue-dark);
  background: #fbfcfe;
  border-radius: 6px;
  align-items: center;
  padding: 0 14px;
  font-weight: 800;
  display: inline-flex;
}

.trust-band {
  background: linear-gradient(135deg, #0f365df7, #1b5f9ff0),
    var(--blue-dark);
  width: min(1180px, 100% - 32px);
  color: var(--white);
  border-radius: 8px;
  padding: 30px;
}

.trust-band .eyebrow, .trust-band h2, .trust-band .section-head p {
  color: var(--white);
}

.trust-band .eyebrow:before {
  background: #ffffffd1;
}

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

.trust-item {
  background: #ffffff14;
  border: 1px solid #ffffff3d;
  border-radius: 8px;
  min-height: 160px;
  padding: 18px;
}

.trust-item h3 {
  color: var(--white);
  margin: 0 0 10px;
  font-size: 20px;
}

.trust-item p {
  color: #ffffffbf;
  margin: 0;
  line-height: 1.58;
}

.admin-shell {
  grid-template-columns: 248px minmax(0, 1fr);
  gap: 18px;
  padding: 28px 0 44px;
  display: grid;
}

.admin-side {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 8px;
  height: fit-content;
  padding: 14px;
}

.admin-side button {
  width: 100%;
  color: var(--muted);
  text-align: left;
  background: none;
  border: 0;
  border-radius: 6px;
  padding: 12px;
  font-weight: 700;
}

.admin-side button.active {
  background: var(--blue-dark);
  color: var(--white);
}

.metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
  display: grid;
}

.metric {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 8px;
  padding: 16px;
}

.metric strong {
  color: var(--blue-dark);
  font-size: 30px;
  display: block;
}

.metric span {
  color: var(--muted);
  font-size: 13px;
}

.admin-table {
  border-collapse: collapse;
  background: var(--white);
  border-radius: 8px;
  width: 100%;
  overflow: hidden;
}

.admin-table th, .admin-table td {
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  padding: 13px 12px;
}

.admin-table th {
  background: var(--silver);
  color: var(--blue-dark);
  font-size: 13px;
}

.admin-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
  display: grid;
}

.admin-form.single {
  grid-template-columns: 1fr;
  margin-top: 14px;
}

.admin-form .wide {
  grid-column: span 3;
}

.social-settings-section {
  border: 1px solid var(--line);
  background: #f8fafc;
  border-radius: 8px;
  padding: 16px;
}

.social-settings-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 14px;
  display: flex;
}

.social-settings-head h3 {
  color: var(--blue-dark);
  margin: 0 0 6px;
}

.social-settings-head p {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.social-settings-head > span {
  color: var(--blue-dark);
  background: #fff;
  border: 1px solid #cfe0f2;
  border-radius: 999px;
  flex: none;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 800;
}

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

.social-account-card {
  background: #fff;
  border: 1px solid #dce6f2;
  border-radius: 8px;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.social-account-card-head {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.social-account-card-head strong {
  color: var(--ink);
  font-size: 15px;
}

.social-account-card-head span {
  color: #64748b;
  background: #f1f5f9;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 800;
}

.social-account-card-head span.ready {
  color: #166534;
  background: #dcfce7;
}

.social-account-card > p {
  min-height: 38px;
  color: var(--muted);
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
}

.social-account-card .field {
  margin: 0;
}

.social-qr-field {
  gap: 8px;
}

.social-qr-control {
  gap: 8px;
  display: grid;
}

.social-qr-control input {
  min-width: 0;
}

.social-qr-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.social-qr-upload, .social-qr-actions button {
  min-height: 34px;
  color: var(--blue-dark);
  cursor: pointer;
  background: #fff;
  border: 1px solid #b8c7d9;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 800;
  display: inline-flex;
}

.social-qr-upload input {
  display: none;
}

.social-qr-preview, .social-qr-empty {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  width: 92px;
  height: 92px;
}

.social-qr-preview {
  object-fit: contain;
  padding: 6px;
}

.social-qr-empty {
  color: var(--muted);
  text-align: center;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  display: flex;
}

.social-qr-message {
  color: var(--blue);
  font-size: 12px;
  line-height: 1.4;
}

.health-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
  display: grid;
}

.health-card {
  border: 1px solid var(--line);
  background: #fff;
  border-left: 4px solid #f59e0b;
  border-radius: 8px;
  gap: 8px;
  padding: 14px;
  display: grid;
}

.health-card.ok {
  border-left-color: #22c55e;
}

.health-card strong {
  color: var(--ink);
}

.health-card span {
  color: #92400e;
  background: #fef3c7;
  border-radius: 999px;
  width: fit-content;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 800;
}

.health-card.ok span {
  color: #166534;
  background: #dcfce7;
}

.health-card p {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}

.rfq-plugin-form {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  width: min(1040px, 100%);
  margin: 0 auto;
  padding: 28px;
  box-shadow: 0 18px 44px #15365814;
}

.rfq-plugin-head {
  margin-bottom: 20px;
}

.rfq-plugin-head span {
  color: var(--blue);
  letter-spacing: .08em;
  font-size: 13px;
  font-weight: 900;
}

.rfq-plugin-head h2 {
  color: var(--ink);
  margin: 8px 0;
  font-size: 30px;
}

.rfq-plugin-head p {
  color: var(--muted);
  margin: 0;
}

.rfq-plugin-head small {
  color: #b45309;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 700;
  display: block;
}

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

.rfq-plugin-grid label {
  color: var(--blue-dark);
  gap: 7px;
  font-size: 13px;
  font-weight: 800;
  display: grid;
}

.rfq-plugin-grid label > span {
  align-items: center;
  gap: 3px;
  display: inline-flex;
}

.rfq-plugin-grid label b {
  color: #dc2626;
  font-size: 15px;
  line-height: 1;
}

.rfq-plugin-grid input, .rfq-plugin-grid textarea {
  width: 100%;
  color: var(--ink);
  font: inherit;
  background: #fff;
  border: 1px solid #c8d5e4;
  border-radius: 6px;
  padding: 10px 12px;
}

.rfq-plugin-file span {
  min-height: 42px;
  color: var(--muted);
  border: 1px dashed #9db2c9;
  border-radius: 6px;
  align-items: center;
  padding: 0 12px;
  font-size: 12px;
  display: flex;
}

.rfq-plugin-file input {
  display: none;
}

.rfq-plugin-message {
  grid-column: span 3;
}

.rfq-plugin-message textarea {
  resize: vertical;
  min-height: 130px;
}

.rfq-plugin-form > button {
  background: var(--blue);
  color: #fff;
  border: 0;
  border-radius: 6px;
  margin-top: 18px;
  padding: 12px 22px;
  font-weight: 900;
}

.rfq-plugin-form > button:disabled {
  opacity: .65;
  cursor: not-allowed;
}

.rfq-admin-list {
  gap: 14px;
  margin-top: 16px;
  display: grid;
}

.rfq-admin-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  padding: 16px;
}

.rfq-admin-head, .rfq-admin-actions {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.rfq-admin-head strong {
  color: var(--ink);
  font-size: 17px;
  display: block;
}

.rfq-admin-head span, .rfq-admin-detail, .rfq-empty {
  color: var(--muted);
  font-size: 13px;
}

.rfq-admin-head select {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 6px;
  padding: 8px 10px;
}

.rfq-admin-detail {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 14px;
  margin-top: 14px;
  display: grid;
}

.rfq-admin-message {
  border-left: 3px solid var(--blue);
  color: var(--ink);
  background: #f7faff;
  margin: 14px 0;
  padding: 10px 12px;
  line-height: 1.7;
}

.rfq-admin-actions a {
  color: var(--blue);
  font-weight: 900;
}

.rfq-admin-actions textarea {
  border: 1px solid var(--line);
  border-radius: 6px;
  flex: 1;
  min-height: 46px;
  padding: 8px 10px;
}

.rfq-admin-actions button {
  background: var(--blue);
  color: #fff;
  border: 0;
  border-radius: 6px;
  padding: 9px 14px;
  font-weight: 900;
}

.calculator-admin-list {
  gap: 14px;
  margin-top: 16px;
  display: grid;
}

.calculator-admin-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  padding: 16px;
}

.calculator-admin-head, .calculator-admin-actions {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.calculator-admin-head {
  margin-bottom: 12px;
}

.calculator-admin-head strong {
  color: var(--ink);
  font-size: 17px;
}

.calculator-admin-head label {
  color: var(--blue-dark);
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 800;
  display: inline-flex;
}

.calculator-admin-actions {
  justify-content: flex-end;
}

.calculator-admin-actions button {
  color: var(--blue-dark);
  background: #fff;
  border: 1px solid #c8d5e4;
  border-radius: 6px;
  padding: 8px 12px;
  font-weight: 800;
}

.calculator-plugin-section {
  box-sizing: border-box;
  background: linear-gradient(#f8fbff, #eef5fc);
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.calculator-plugin-placeholder {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

.calculator-plugin-placeholder .rt-calculator, [data-rt-dynamic="fastener-calculator"] .rt-calculator {
  margin-left: auto;
  margin-right: auto;
}

.calculator-plugin-placeholder.calculator-plugin-rendered {
  max-width: none;
  display: block;
}

.calculator-plugin-placeholder.calculator-plugin-rendered .rt-calculator {
  width: min(100%, 1200px);
}

.calculator-plugin-placeholder article {
  background: #fff;
  border: 1px solid #d7e3f0;
  border-radius: 8px;
  padding: 18px;
  box-shadow: 0 12px 28px #15365814;
}

.calculator-plugin-placeholder strong, .calculator-plugin-placeholder span {
  display: block;
}

.calculator-plugin-placeholder strong {
  color: var(--ink);
  font-size: 18px;
}

.calculator-plugin-placeholder span {
  color: var(--muted);
  margin-top: 6px;
  font-size: 13px;
}

@media (max-width: 900px) {
  .social-settings-grid {
    grid-template-columns: 1fr;
  }

  .social-settings-head {
    display: grid;
  }

  .health-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rfq-plugin-grid, .rfq-admin-detail {
    grid-template-columns: 1fr;
  }

  .rfq-plugin-message {
    grid-column: span 1;
  }

  .rfq-admin-head, .rfq-admin-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .calculator-plugin-placeholder {
    grid-template-columns: 1fr;
  }
}

.cms-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.web-builder {
  border: 1px solid var(--line);
  background: #11141d;
  border-radius: 8px;
  overflow: hidden;
}

.builder-page {
  background: #11141d;
  min-height: 100vh;
}

.puck-builder-shell {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 8px;
  min-height: 760px;
  overflow: hidden;
}

.front-builder.puck-builder-shell {
  border: 0;
  border-radius: 0;
  min-height: 100vh;
}

.puck-builder-toolbar {
  color: #fff;
  background: #313131;
  border-bottom: 1px solid #1f1f1f;
  align-items: center;
  gap: 16px;
  min-height: 56px;
  padding: 0 18px;
  display: flex;
}

.builder-brand {
  color: #fff;
  white-space: nowrap;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 800;
  display: flex;
}

.builder-brand img {
  object-fit: contain;
  border-radius: 3px;
  width: 32px;
  height: 32px;
}

.builder-page-switcher {
  align-items: center;
  gap: 8px;
  display: flex;
}

.builder-page-label {
  color: #b0b0b0;
  font-size: 13px;
  font-weight: 700;
}

.builder-page-switcher select {
  color: #fff;
  background: #2b2b2b;
  border: 1px solid #1f1f1f;
  border-radius: 3px;
  min-width: 220px;
  padding: 8px 10px;
  font-size: 13px;
}

.builder-status {
  color: #b0b0b0;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  font-size: 13px;
  overflow: hidden;
}

.builder-actions {
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.builder-actions button, .builder-link {
  color: #fff;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 3px;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 700;
  transition: background .15s;
  display: inline-flex;
}

.builder-actions button:hover, .builder-link:hover {
  background: #3f3f3f;
}

.builder-actions button:first-child {
  color: #fff;
  background: #00a4a6;
}

.builder-actions button:first-child:hover {
  background: #008a8c;
}

.builder-footer-bar {
  color: #b0b0b0;
  background: #313131;
  border-top: 1px solid #1f1f1f;
  align-items: center;
  gap: 16px;
  min-height: 36px;
  padding: 0 18px;
  font-size: 12px;
  display: flex;
}

.builder-footer-brand {
  color: #fff;
  font-weight: 700;
}

.builder-footer-info {
  color: gray;
  flex: 1;
}

.builder-footer-links {
  gap: 14px;
  display: flex;
}

.builder-footer-links a {
  color: #00a4a6;
  font-weight: 600;
  text-decoration: none;
}

.builder-footer-links a:hover {
  text-decoration: underline;
}

.builder-theme-panel {
  color: #e0e0e0;
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.builder-theme-panel > div {
  border-bottom: 1px solid #404040;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 12px;
  display: flex;
}

.builder-theme-panel > div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.builder-theme-panel strong {
  color: #fff;
  margin-bottom: 2px;
  font-size: 13px;
  font-weight: 700;
}

.builder-theme-panel label {
  color: silver;
  grid-template-columns: 1fr;
  gap: 4px;
  font-size: 12px;
  display: grid;
}

.builder-theme-panel input, .builder-theme-panel select, .builder-theme-panel button, .builder-theme-panel textarea {
  color: #fff;
  background: #1f1f1f;
  border: 1px solid #404040;
  border-radius: 3px;
  min-height: 32px;
  padding: 0 8px;
  font-size: 12px;
}

.builder-theme-panel textarea {
  resize: vertical;
  min-height: 48px;
  padding: 6px 8px;
}

.builder-theme-panel input[type="color"] {
  height: 32px;
  padding: 2px;
}

.builder-theme-panel input[type="checkbox"] {
  accent-color: #00a4a6;
  width: 20px;
  min-height: 20px;
  margin: 0;
}

.builder-theme-panel label span {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  display: grid;
}

.builder-theme-panel button {
  color: #fff;
  background: #00a4a6;
  border-color: #00a4a6;
  font-weight: 700;
}

.theme-reset-btn {
  margin-top: 4px;
  color: silver !important;
  background: none !important;
  border: 1px solid #404040 !important;
}

.theme-reset-btn:hover {
  background: #313131 !important;
}

.theme-footer-links {
  gap: 8px;
  margin-top: 6px;
  display: grid;
}

.theme-section-label {
  color: #b0b0b0;
  font-size: 12px;
  font-weight: 700;
}

.theme-footer-link-row {
  grid-template-columns: 1fr 1fr 24px;
  align-items: center;
  gap: 6px;
  display: grid;
}

.theme-footer-link-row input {
  min-width: 0;
  padding: 6px 8px;
  font-size: 12px;
}

.theme-link-remove {
  cursor: pointer;
  border-radius: 3px;
  color: #ff6b6b !important;
  background: #4a1818 !important;
  border: 1px solid #6a2020 !important;
  min-height: 24px !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.theme-link-remove:hover {
  background: #6a2020 !important;
}

.theme-link-add {
  cursor: pointer;
  border-radius: 3px;
  color: #00a4a6 !important;
  background: none !important;
  border: 1px dashed #00a4a6 !important;
  min-height: 28px !important;
  padding: 4px 10px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.theme-link-add:hover {
  background: #00a4a61a !important;
}

.theme-footer-desc-label {
  color: #b0b0b0;
  gap: 4px;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
  display: grid;
}

.theme-footer-desc {
  color: #e0e0e0;
  resize: vertical;
  background: #1f1f1f;
  border: 1px solid #404040;
  border-radius: 3px;
  min-width: 0;
  padding: 6px 8px;
  font-family: inherit;
  font-size: 12px;
}

.theme-footer-columns {
  gap: 8px;
  margin-top: 8px;
  display: grid;
}

.theme-footer-col-row {
  background: #1e1e1e;
  border: 1px solid #2c2c2c;
  border-radius: 6px;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  display: flex;
}

.theme-footer-col-row > input:first-child {
  min-width: 0;
  padding: 6px 8px;
  font-size: 12px;
}

.theme-footer-col-links {
  gap: 4px;
  display: grid;
}

.theme-footer-col-link-row {
  grid-template-columns: 1fr 1.4fr 24px;
  align-items: center;
  gap: 4px;
  display: grid;
}

.theme-footer-col-link-row input {
  min-width: 0;
  padding: 4px 6px;
  font-size: 11px;
}

.footer-quick-links {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.footer-quick-links a {
  color: #ffffffb8;
  padding: 2px 0;
  font-size: .9rem;
  text-decoration: none;
  transition: color .2s;
}

.footer-quick-links a:hover {
  color: #00a4a6;
  text-decoration: underline;
}

.builder-menu-panel {
  color: #e0e0e0;
  background: #2b2b2b;
  border-bottom: 1px solid #1f1f1f;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.builder-panel-head {
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  display: flex;
}

.builder-panel-head > div {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.builder-panel-head button {
  color: #fff;
  background: #00a4a6;
  border: 1px solid #00a4a6;
  border-radius: 3px;
  min-height: 34px;
  padding: 0 10px;
  font-weight: 800;
}

.builder-menu-editor {
  max-height: 360px;
  overflow: auto;
}

.builder-menu-panel .menu-row {
  background: #1f1f1f;
  border-color: #404040;
}

.builder-menu-panel .menu-row input:not([type="checkbox"]) {
  color: #fff;
  background: #2b2b2b;
  border-color: #404040;
}

.builder-menu-panel .menu-row button {
  color: #fff;
  background: #00a4a6;
  border-color: #00a4a6;
}

.builder-menu-panel .menu-visible {
  color: silver;
}

.builder-menu-panel .menu-row-collapsible {
  background: #1f1f1f;
  border: 1px solid #404040;
  border-radius: 6px;
  padding: 0;
  transition: border-color .2s;
  display: block;
  overflow: hidden;
}

.builder-menu-panel .menu-row-collapsible.menu-row-expanded {
  border-color: #00a4a6;
}

.builder-menu-panel .menu-row-header {
  color: #e0e0e0;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  font-size: 13px;
  transition: background-color .15s;
  display: grid;
}

.builder-menu-panel .menu-row-header:hover {
  background: #313131;
}

.builder-menu-panel .menu-row-title {
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.builder-menu-panel .menu-row-label {
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 700;
  overflow: hidden;
}

.builder-menu-panel .menu-row-href {
  color: #888;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  overflow: hidden;
}

.builder-menu-panel .menu-row-chevron {
  color: #888;
  justify-self: end;
  font-size: 12px;
  transition: transform .2s;
}

.builder-menu-panel .menu-row-chevron-open {
  color: #00a4a6;
  transform: rotate(180deg);
}

.builder-menu-panel .menu-row-body {
  background: #2b2b2b;
  border-top: 1px solid #404040;
  gap: 10px;
  padding: 12px;
  animation: .2s ease-out menuRowSlideDown;
  display: grid;
}

@keyframes menuRowSlideDown {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.builder-menu-panel .menu-row-field {
  gap: 4px;
  display: grid;
}

.builder-menu-panel .menu-row-field-label {
  color: #888;
  text-transform: uppercase;
  letter-spacing: .5px;
  font-size: 11px;
  font-weight: 700;
}

.builder-menu-panel .menu-row-field input {
  color: #fff;
  background: #1f1f1f;
  border: 1px solid #404040;
  border-radius: 4px;
  height: 34px;
  padding: 6px 10px;
  font-size: 13px;
}

.builder-menu-panel .menu-row-actions {
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 6px;
  display: flex;
}

.builder-menu-panel .menu-row-actions button {
  color: #e0e0e0;
  cursor: pointer;
  background: #313131;
  border: 1px solid #404040;
  border-radius: 4px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  transition: background-color .15s;
}

.builder-menu-panel .menu-row-actions button:hover {
  background: #404040;
}

.builder-menu-panel .menu-row-delete {
  margin-left: auto;
  color: #f43f5e !important;
  background: #f43f5e26 !important;
  border-color: #f43f5e66 !important;
}

.builder-menu-panel .menu-row-delete:hover {
  background: #f43f5e40 !important;
}

.builder-menu-panel .menu-visible {
  color: silver;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.builder-menu-panel .menu-visible input {
  accent-color: #00a4a6;
}

.builder-theme-dropdown {
  display: inline-flex;
  position: relative;
}

.builder-action-toggle {
  border-left: 1px solid #2a2d38;
  border-right: 0;
}

.builder-action-toggle.active {
  color: #fff;
  background: #00a4a6;
}

.builder-theme-popover {
  z-index: 9999;
  background: #2b2b2b;
  border: 1px solid #404040;
  border-radius: 8px;
  flex-direction: column;
  width: 520px;
  max-height: calc(100vh - 100px);
  animation: .18s ease-out themePopoverFadeIn;
  display: flex;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  overflow: hidden;
  box-shadow: 0 12px 40px #00000080;
}

@keyframes themePopoverFadeIn {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.builder-theme-popover-header {
  color: #fff;
  background: #313131;
  border-bottom: 1px solid #1f1f1f;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  display: flex;
}

.builder-theme-popover-header strong {
  font-size: 14px;
  font-weight: 700;
}

.builder-theme-popover-close {
  color: #888;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0 4px;
  font-size: 20px;
  line-height: 1;
}

.builder-theme-popover-close:hover {
  color: #fff;
}

.builder-theme-popover-body {
  color: silver;
  gap: 16px;
  padding: 16px 18px;
  display: grid;
  overflow-y: auto;
}

.builder-theme-popover-body > div {
  gap: 8px;
  display: grid;
}

.builder-theme-popover-body strong {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .5px;
  border-bottom: 1px solid #404040;
  padding-bottom: 4px;
  font-size: 13px;
  font-weight: 700;
}

.builder-theme-popover-body label {
  color: silver;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  display: flex;
}

.builder-theme-popover-body input[type="color"] {
  cursor: pointer;
  background: none;
  border: 1px solid #404040;
  border-radius: 4px;
  width: 36px;
  height: 28px;
}

.builder-theme-popover-body input[type="text"], .builder-theme-popover-body input[type="number"], .builder-theme-popover-body select {
  color: #fff;
  background: #1f1f1f;
  border: 1px solid #404040;
  border-radius: 4px;
  flex: 1;
  min-width: 0;
  height: 30px;
  padding: 0 8px;
  font-size: 12px;
}

.builder-theme-popover-body input[type="checkbox"] {
  accent-color: #00a4a6;
}

.builder-theme-popover-body label span {
  gap: 4px;
  display: flex;
}

.builder-form-row {
  align-items: center;
  gap: 12px;
  margin: 0;
  display: flex !important;
}

.builder-form-label {
  color: silver;
  text-align: right;
  flex: none;
  width: 80px;
  font-size: 12px;
}

.builder-form-input, .builder-form-select {
  color: #fff;
  background: #1f1f1f;
  border: 1px solid #404040;
  border-radius: 4px;
  min-width: 0;
  height: 30px;
  padding: 0 8px;
  font-size: 12px;
  flex: 1 !important;
}

.builder-form-row-checkbox {
  justify-content: flex-start;
}

.builder-form-row-checkbox .builder-form-label {
  width: auto;
}

.builder-logo-picker {
  flex-wrap: wrap;
  flex: 1;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.builder-form-row-logo, .builder-form-row-logo .builder-form-label {
  color: #52657d !important;
}

.builder-logo-preview-button {
  cursor: zoom-in;
  background-color: #fff;
  background-image: linear-gradient(45deg, #eef2f7 25%, #0000 25%), linear-gradient(-45deg, #eef2f7 25%, #0000 25%), linear-gradient(45deg, #0000 75%, #eef2f7 75%), linear-gradient(-45deg, #0000 75%, #eef2f7 75%);
  background-position: 0 0, 0 8px, 8px -8px, -8px 0;
  background-repeat: repeat, repeat, repeat, repeat;
  background-size: 16px 16px;
  background-attachment: scroll, scroll, scroll, scroll;
  background-origin: padding-box, padding-box, padding-box, padding-box;
  background-clip: border-box, border-box, border-box, border-box;
  border: 1px solid #cbd8e6;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  width: 110px;
  height: 56px;
  padding: 6px;
  display: inline-flex;
  box-shadow: inset 0 0 0 1px #ffffffb8;
}

.builder-logo-preview-button:hover {
  border-color: #2f78b7;
  box-shadow: 0 0 0 3px #2f78b724;
}

.builder-logo-preview {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.builder-logo-picker .builder-form-input {
  flex: 1;
}

.builder-media-btn {
  cursor: pointer;
  white-space: nowrap;
  border-radius: 6px;
  min-height: 36px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 2px 8px #2f78b72e;
  color: #fff !important;
  background: #2f78b7 !important;
  border: 1px solid #2f78b7 !important;
}

.builder-media-btn:hover {
  background: #25679f !important;
  border-color: #25679f !important;
}

.builder-media-btn-secondary {
  color: #31587f;
  background: #fff;
  border-color: #cbd8e6;
}

.builder-media-btn-secondary:hover {
  color: #1f5f94;
  background: #eef6ff;
  border-color: #2f78b7;
}

.builder-dropdowns-group {
  align-items: center;
  gap: 6px;
  display: flex;
}

.builder-menu-popover {
  width: 560px;
  max-height: calc(100vh - 100px);
}

.builder-menu-popover-body {
  padding: 18px;
  overflow-y: auto;
}

.builder-menu-editor {
  max-height: 520px;
  overflow-y: auto;
}

.builder-versions-popover {
  width: min(460px, 100vw - 32px);
}

.builder-templates-popover {
  width: min(560px, 100vw - 32px);
}

.builder-template-grid {
  background: #2b2b2b;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
  display: grid;
}

.builder-template-card {
  color: #f5f7fa;
  text-align: left;
  cursor: pointer;
  background: #343941;
  border: 1px solid #465262;
  border-radius: 8px;
  gap: 8px;
  min-height: 96px;
  padding: 14px;
  display: grid;
}

.builder-template-card:hover {
  background: #3b4652;
  border-color: #00a4a6;
}

.builder-template-card strong {
  color: #fff;
  font-size: 15px;
  line-height: 1.2;
}

.builder-template-card span {
  color: #c8d3df;
  font-size: 12px;
  line-height: 1.5;
}

.builder-template-note {
  color: #b8c3d1;
  background: #2b2b2b;
  margin: 0;
  padding: 0 16px 16px;
  font-size: 12px;
  line-height: 1.6;
}

.builder-layout-popover {
  width: min(1280px, 100vw - 32px);
  right: 0;
}

.builder-layout-popover-body {
  grid-template-columns: minmax(240px, .8fr) minmax(520px, 1.65fr) minmax(280px, .95fr);
  align-items: start;
  gap: 16px;
  max-height: calc(100vh - 190px);
  display: grid;
  overflow: auto;
}

.builder-layout-popover-body > div {
  min-width: 0;
}

.builder-panel-note {
  color: #c8d3df;
  background: #242b33;
  border: 1px solid #3a4654;
  border-radius: 6px;
  margin: 0 0 8px;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.55;
}

.builder-layout-menu-column .builder-menu-popover-actions {
  z-index: 2;
  background: #20242b;
  border: 1px solid #374151;
  border-radius: 8px;
  margin: 10px 0 12px;
  padding: 10px;
  position: sticky;
  top: 0;
}

.builder-layout-menu-column .builder-menu-popover-editor {
  max-height: 520px;
  margin-top: 0;
  padding: 2px 4px 2px 2px;
  overflow-y: auto;
}

.builder-layout-menu-column .menu-row {
  background: #151a21;
  border: 1px solid #3a4654;
  border-radius: 8px;
  padding: 0;
  display: block;
  overflow: hidden;
}

.builder-layout-menu-column .menu-row + .menu-row {
  margin-top: 8px;
}

.builder-layout-menu-column .menu-row-expanded {
  border-color: #00a4a6;
  box-shadow: 0 0 0 1px #00a4a62e;
}

.builder-layout-menu-column .menu-row-header {
  color: #142033;
  text-align: left;
  background: #f8fafc;
  border: 0;
  border-radius: 0;
  grid-template-columns: 74px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 12px;
  width: 100%;
  height: auto;
  min-height: 58px;
  padding: 10px 12px;
  display: grid;
}

.builder-layout-menu-column .menu-row-header:hover {
  background: #eef6fb;
}

.builder-layout-menu-column .menu-visible {
  color: #fff;
  white-space: nowrap;
  background: #00a4a6;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-width: 66px;
  height: 34px;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 800;
  display: inline-flex;
}

.builder-layout-menu-column .menu-visible input {
  accent-color: #fff;
}

.builder-layout-menu-column .menu-row-title {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.builder-layout-menu-column .menu-row-label {
  color: #13233a;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  display: block;
  overflow: hidden;
}

.builder-layout-menu-column .menu-row-href {
  color: #607086;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
  display: block;
  overflow: hidden;
}

.builder-layout-menu-column .menu-row-chevron {
  color: #64748b;
  transform-origin: center;
  justify-self: end;
  font-size: 16px;
}

.builder-layout-menu-column .menu-row-chevron-open {
  color: #00a4a6;
  transform: rotate(180deg);
}

.builder-layout-menu-column .menu-row-body {
  background: #20242b;
  border-top: 1px solid #334155;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  display: grid;
}

.builder-layout-menu-column .menu-row-field {
  gap: 5px;
  display: grid;
}

.builder-layout-menu-column .menu-row-field:nth-child(3) {
  grid-column: 1 / -1;
}

.builder-layout-menu-column .menu-row-field-label {
  color: #b8c3d1;
  font-size: 12px;
  font-weight: 800;
}

.builder-layout-menu-column .menu-row-field input {
  color: #f8fafc;
  background: #111827;
  border: 1px solid #465262;
  border-radius: 6px;
  width: 100%;
  min-width: 0;
  height: 36px;
  padding: 0 10px;
}

.builder-layout-menu-column .menu-row-actions {
  grid-column: 1 / -1;
  align-items: center;
  gap: 8px;
  padding-top: 2px;
  display: flex;
}

.builder-layout-menu-column .menu-row-actions button {
  color: #e5edf6;
  background: #2b3440;
  border: 1px solid #465262;
  border-radius: 6px;
  height: 32px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 800;
}

.builder-layout-menu-column .menu-row-actions button:hover {
  color: #fff;
  background: #00a4a6;
  border-color: #00a4a6;
}

.builder-layout-menu-column .menu-row-delete {
  margin-left: auto;
  color: #fecdd3 !important;
  background: #f43f5e24 !important;
  border-color: #f43f5e73 !important;
}

.builder-layout-menu-column .menu-row-delete:hover {
  background: #f43f5e47 !important;
}

@media (max-width: 980px) {
  .builder-layout-popover-body, .builder-layout-menu-column .menu-row-body {
    grid-template-columns: 1fr;
  }
}

.builder-versions-list {
  max-height: 520px;
  padding: 12px;
  overflow: auto;
}

.builder-version-row {
  color: #f5f7fa;
  background: #343434;
  border: 1px solid #424242;
  border-radius: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  display: grid;
}

.builder-version-row + .builder-version-row {
  margin-top: 10px;
}

.builder-version-row strong, .builder-version-row span, .builder-version-row p {
  display: block;
}

.builder-version-row span {
  color: #b8c3d1;
  font-size: 12px;
}

.builder-version-row p, .builder-empty-note {
  color: #d5dce6;
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.5;
}

.builder-version-row button {
  color: #fff;
  background: #00a4a6;
  border: 1px solid #00a4a6;
  border-radius: 6px;
  padding: 7px 12px;
  font-weight: 800;
}

.builder-theme-popover-body > div > label, .builder-theme-popover-body > div > .builder-form-row {
  align-items: center;
  gap: 10px;
  display: flex;
}

.builder-theme-popover-body input[type="color"] {
  cursor: pointer;
  background: none;
  border: 1px solid #404040;
  border-radius: 4px;
  width: 36px;
  height: 28px;
  padding: 0;
}

.builder-theme-popover-body input[type="color"]::-webkit-color-swatch-wrapper {
  padding: 0;
}

.builder-theme-popover-body input[type="color"]::-webkit-color-swatch {
  border: none;
  border-radius: 3px;
}

.builder-theme-popover-body input[type="number"] {
  max-width: 120px;
}

.builder-theme-popover-body textarea {
  color: #fff;
  resize: vertical;
  background: #1f1f1f;
  border: 1px solid #404040;
  border-radius: 4px;
  width: 100%;
  min-height: 60px;
  padding: 8px;
  font-family: inherit;
  font-size: 12px;
}

.builder-theme-popover-footer {
  background: #313131;
  border-top: 1px solid #1f1f1f;
  justify-content: flex-end;
  padding: 12px 18px;
  display: flex;
}

.builder-theme-popover-save {
  color: #fff;
  cursor: pointer;
  background: #00a4a6;
  border: 0;
  border-radius: 4px;
  padding: 8px 20px;
  font-size: 13px;
  font-weight: 700;
}

.builder-theme-popover-save:hover {
  background: #00c0c2;
}

.builder-header-popover {
  width: 560px;
  right: 0;
}

.builder-menu-popover {
  width: 520px;
  right: 0;
}

.builder-menu-popover-actions {
  background: #313131;
  border-radius: 6px;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
  padding: 10px 18px;
  display: flex;
}

.builder-menu-popover-actions button {
  color: #e0e0e0;
  cursor: pointer;
  background: #3d3d3d;
  border: 1px solid #505050;
  border-radius: 4px;
  padding: 5px 12px;
  font-size: 12px;
}

.builder-menu-popover-actions button:hover {
  color: #fff;
  background: #00a4a6;
  border-color: #00a4a6;
}

.builder-menu-popover-body {
  padding: 18px;
}

.builder-menu-popover-editor {
  max-height: 480px;
  padding: 4px;
  overflow-y: auto;
}

.builder-main-full {
  width: 100%;
  display: block;
}

.builder-main-full .grapes-editor-full {
  width: 100%;
  height: calc(100vh - 108px);
}

.theme-status-colors {
  gap: 8px;
  display: flex;
}

.theme-status-colors span {
  border-radius: 3px;
  width: 28px;
  height: 16px;
}

.theme-grays {
  gap: 6px;
  display: flex;
}

.theme-grays span {
  background: linear-gradient(to right, #1f1f1f, #333, #4a4a4a, #666, #888, #aaa, #ccc);
  border-radius: 3px;
  flex: 1;
  height: 12px;
}

.theme-reset-btn {
  color: #888;
  cursor: pointer;
  background: none;
  border: 1px solid #404040;
  border-radius: 4px;
  justify-self: end;
  padding: 4px 10px;
  font-size: 11px;
}

.theme-reset-btn:hover {
  color: #fff;
  border-color: #666;
}

.grapes-builder-shell {
  --gjs-primary-color: #313131;
  --gjs-secondary-color: #2b2b2b;
  --gjs-tertiary-color: #1f1f1f;
  --gjs-quaternary-color: #00a4a6;
  --gjs-font-color: #e0e0e0;
  --gjs-font-color-active: #fff;
  --gjs-main-dark-color: #1f1f1f;
  --gjs-main-light-color: #313131;
  --gjs-left-width: 280px;
  background: #1f1f1f;
  flex-direction: column;
  min-height: 100vh;
  display: flex;
}

.builder-main {
  flex: 1;
  display: flex;
  overflow: hidden;
}

.grapes-editor {
  flex: 1;
  overflow: auto;
}

.builder-side-panel {
  background: #2b2b2b;
  border-left: 1px solid #1f1f1f;
  flex-direction: column;
  width: 320px;
  display: flex;
  overflow: hidden;
}

.builder-panel-tabs {
  background: #313131;
  border-bottom: 1px solid #1f1f1f;
  display: flex;
}

.builder-panel-tab {
  color: silver;
  cursor: pointer;
  background: none;
  border: 0;
  border-bottom: 2px solid #0000;
  flex: 1;
  padding: 12px 8px;
  font-size: 13px;
  font-weight: 600;
  transition: all .2s;
}

.builder-panel-tab:hover {
  color: #fff;
  background: #00a4a61a;
}

.builder-panel-tab.active {
  color: #00a4a6;
  background: #2b2b2b;
  border-bottom-color: #00a4a6;
}

.builder-panel-content {
  flex: 1;
  padding: 14px;
  overflow-y: auto;
}

.grapes-builder-shell .gjs-one-bg {
  background-color: #313131;
}

.grapes-builder-shell .gjs-two-color {
  color: #e0e0e0;
}

.grapes-builder-shell .gjs-three-bg {
  background-color: #2b2b2b;
}

.grapes-builder-shell .gjs-four-color, .grapes-builder-shell .gjs-four-color-h:hover {
  color: #00a4a6;
}

.grapes-builder-shell .gjs-pn-panel, .grapes-builder-shell .gjs-sm-sector, .grapes-builder-shell .gjs-block-category, .grapes-builder-shell .gjs-layer-title, .grapes-builder-shell .gjs-traits-label, .grapes-builder-shell .gjs-clm-tags, .grapes-builder-shell .gjs-sm-properties, .grapes-builder-shell .gjs-am-assets-cont {
  color: #e0e0e0;
  background: #313131;
}

.grapes-builder-shell .gjs-pn-btn {
  color: silver;
}

.grapes-builder-shell .gjs-pn-btn.gjs-pn-active, .grapes-builder-shell .gjs-pn-btn:hover {
  color: #fff;
  background: #00a4a6;
}

.grapes-builder-shell .gjs-block {
  color: #e0e0e0;
  box-shadow: none;
  background: #2b2b2b;
  border: 1px solid #404040;
  border-radius: 3px;
  min-height: 100px;
  padding: 10px 8px;
}

.grapes-builder-shell .gjs-block:hover {
  color: #e0e0e0;
  background: #1f1f1f;
  border-color: #00a4a6;
}

.grapes-builder-shell .gjs-block-label, .grapes-builder-shell .gjs-title, .grapes-builder-shell .gjs-sm-label, .grapes-builder-shell .gjs-clm-label, .grapes-builder-shell .gjs-trt-trait__label, .grapes-builder-shell .gjs-sm-sector-title {
  color: #e0e0e0;
}

.grapes-builder-shell .gjs-block-label {
  width: 100%;
}

.rt-block-label {
  color: #e0e0e0;
  text-align: center;
  place-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  display: grid;
}

.rt-block-icon {
  background: #1f1f1f;
  border: 1px solid #404040;
  border-radius: 6px;
  width: 76px;
  height: 48px;
  display: block;
  position: relative;
  overflow: hidden;
}

.rt-block-icon i, .rt-block-icon b, .rt-block-icon em {
  background: #7f95ab;
  border-radius: 2px;
  display: block;
  position: absolute;
}

.rt-block-icon i {
  width: 30px;
  height: 4px;
  top: 12px;
  left: 9px;
}

.rt-block-icon b {
  width: 22px;
  height: 4px;
  top: 22px;
  left: 9px;
}

.rt-block-icon em {
  background: #76b6c8;
  width: 22px;
  height: 16px;
  bottom: 9px;
  right: 9px;
}

.rt-block-icon.hero {
  background: linear-gradient(90deg, #f9fbfe 0 48%, #4f7fa5 48%);
}

.rt-block-icon.hero i {
  background: #2f6f9f;
  width: 28px;
}

.rt-block-icon.hero b {
  background: #34465c;
  width: 34px;
  height: 9px;
}

.rt-block-icon.hero em {
  background: #9fd0df;
  border-radius: 999px;
  width: 24px;
  height: 24px;
}

.rt-block-icon.image em, .rt-block-icon.image b {
  background: linear-gradient(135deg, #8fd1b3 0 55%, #4f8aa7 55%);
  border: 2px solid #fff;
  width: 24px;
  height: 18px;
  top: 14px;
}

.rt-block-icon.image b {
  left: 16px;
}

.rt-block-icon.image em {
  right: 14px;
}

.rt-block-icon.image i {
  background: #f0d65c;
  border-radius: 999px;
  width: 9px;
  height: 9px;
  top: 11px;
  left: auto;
  right: 17px;
}

.rt-block-icon.cards {
  box-sizing: border-box;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  padding: 9px;
  display: grid;
}

.rt-block-icon.cards i, .rt-block-icon.cards b, .rt-block-icon.cards em {
  background: #dce8f3;
  border-top: 7px solid #5c91b7;
  width: auto;
  height: auto;
  min-height: 28px;
  position: static;
}

.rt-block-icon.table i, .rt-block-icon.table b, .rt-block-icon.table em {
  background: #7f95ab;
  width: 56px;
  height: 5px;
  left: 10px;
}

.rt-block-icon.table i {
  top: 12px;
}

.rt-block-icon.table b {
  top: 22px;
}

.rt-block-icon.table em {
  top: 32px;
}

.rt-block-icon.form {
  background: #f7fbff;
}

.rt-block-icon.form i, .rt-block-icon.form b, .rt-block-icon.form em {
  background: #fff;
  border: 1px solid #9fb2c5;
  width: 52px;
  height: 7px;
  left: 12px;
}

.rt-block-icon.form i {
  top: 10px;
}

.rt-block-icon.form b {
  top: 22px;
}

.rt-block-icon.form em {
  background: #2f6f9f;
  width: 32px;
  top: 35px;
}

.rt-block-icon.timeline i {
  background: #7f95ab;
  width: 5px;
  height: 34px;
  top: 7px;
  left: 35px;
}

.rt-block-icon.timeline b, .rt-block-icon.timeline em {
  background: #5bb7c8;
  border-radius: 999px;
  width: 15px;
  height: 15px;
  left: 30px;
}

.rt-block-icon.timeline b {
  top: 8px;
}

.rt-block-icon.timeline em {
  bottom: 8px;
}

.rt-block-icon.dynamic {
  background: linear-gradient(135deg, #e8f6fb, #fff);
}

.rt-block-icon.dynamic i {
  background: #35b7c8;
  border-radius: 999px;
  width: 14px;
  height: 14px;
  top: 14px;
  left: 14px;
}

.rt-block-icon.dynamic b {
  background: #7f95ab;
  width: 28px;
  top: 15px;
  left: 35px;
}

.rt-block-icon.dynamic em {
  background: #a4b4c5;
  width: 20px;
  height: 4px;
  top: 27px;
  left: 35px;
}

.rt-block-icon.control i {
  background: #2f6f9f;
  border-radius: 999px;
  width: 44px;
  height: 14px;
  top: 17px;
  left: 16px;
}

.rt-block-icon.control b, .rt-block-icon.control em, .rt-block-icon.text em {
  display: none;
}

.rt-block-icon.text i {
  width: 50px;
}

.rt-block-icon.text b {
  width: 36px;
}

.grapes-builder-shell .gjs-field, .grapes-builder-shell .gjs-input-holder, .grapes-builder-shell .gjs-sm-field, .grapes-builder-shell .gjs-clm-field, .grapes-builder-shell .gjs-field input, .grapes-builder-shell .gjs-field select, .grapes-builder-shell .gjs-field textarea {
  color: #fff;
  background: #1f1f1f;
  border-color: #404040;
}

.grapes-builder-shell .gjs-field input::placeholder, .grapes-builder-shell .gjs-field textarea::placeholder {
  color: gray;
}

.grapes-builder-shell .gjs-rte-toolbar {
  -webkit-user-select: none;
  user-select: none;
  cursor: grab;
  box-sizing: border-box;
  box-shadow: 0 4px 18px #00000052;
  z-index: 99999 !important;
  background: #303030 !important;
  border: 1px solid #ffffff1f !important;
  border-radius: 10px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: min(720px, 100vw - 32px) !important;
  padding: 8px 10px 6px !important;
  display: flex !important;
  overflow: hidden !important;
}

.grapes-builder-shell .gjs-rte-toolbar:active {
  cursor: grabbing;
}

.grapes-builder-shell .gjs-rte-toolbar:before {
  content: "";
  opacity: .7;
  pointer-events: none;
  background-image: radial-gradient(#ffffff59 1px, #0000 1px);
  background-repeat: repeat-x;
  background-size: 6px 3px;
  height: 3px;
  position: absolute;
  top: 4px;
  left: 8px;
  right: 8px;
}

.grapes-builder-shell .gjs-rte-toolbar .gjs-rte-actionbar {
  box-sizing: border-box;
  padding-top: 4px;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
  max-width: 100% !important;
  display: flex !important;
}

.grapes-builder-shell .gjs-rte-toolbar select, .grapes-builder-shell .gjs-rte-toolbar input[type="text"], .grapes-builder-shell .gjs-rte-toolbar input[type="color"], .grapes-builder-shell .gjs-rte-toolbar .gjs-rte-font, .grapes-builder-shell .gjs-rte-toolbar .gjs-rte-fontsize, .grapes-builder-shell .gjs-rte-toolbar .gjs-rte-color {
  visibility: hidden !important;
  border: 0 !important;
  width: 0 !important;
  min-width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: none !important;
}

.grapes-builder-shell .gjs-rte-toolbar .gjs-rte-action[data-gjs-rte-action="wrap"], .grapes-builder-shell .gjs-rte-toolbar .gjs-rte-action[data-gjs-rte-action="pencil"], .grapes-builder-shell .gjs-rte-toolbar [data-action="wrap"], .grapes-builder-shell .gjs-rte-toolbar [data-action="pencil"] {
  visibility: hidden !important;
  border: 0 !important;
  width: 0 !important;
  min-width: 0 !important;
  height: 0 !important;
  margin: 0 0 0 -8px !important;
  padding: 0 !important;
  display: none !important;
}

.grapes-builder-shell .gjs-rte-toolbar .gjs-rte-action, .grapes-builder-shell .gjs-rte-toolbar button {
  cursor: pointer;
}

.grapes-builder-shell .gjs-rte-toolbar .gjs-rte-action {
  box-sizing: border-box;
  transition: background .15s;
  color: #f8fafc !important;
  background: none !important;
  border-radius: 6px !important;
  flex-shrink: 0 !important;
  justify-content: center !important;
  align-items: center !important;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 30px !important;
  padding: 0 6px !important;
  font-size: 14px !important;
  display: inline-flex !important;
}

.grapes-builder-shell .gjs-rte-toolbar .gjs-rte-action:hover {
  background: #ffffff1f;
}

.grapes-builder-shell .gjs-rte-toolbar .gjs-rte-action.gjs-rte-active, .grapes-builder-shell .gjs-rte-toolbar .gjs-rte-action.active {
  color: #fff !important;
  background: #6f4b72 !important;
}

.grapes-builder-shell .gjs-rte-toolbar .gjs-rte-action > span {
  justify-content: center;
  align-items: center;
  min-width: 24px;
  height: 28px;
  font-size: 15px;
  display: inline-flex;
}

.grapes-builder-shell .gjs-rte-toolbar .gjs-sep, .grapes-builder-shell .gjs-rte-toolbar .gjs-divider, .grapes-builder-shell .gjs-rte-toolbar .gjs-d {
  flex-shrink: 0 !important;
  width: 1px !important;
  min-width: 1px !important;
  height: 20px !important;
  min-height: 20px !important;
  margin: 0 6px !important;
}

.grapes-builder-shell .builder-link-panel {
  background: #1a1a1a;
  border: 1px solid #2c2c2c;
  border-radius: 8px;
  margin-top: 10px;
  padding: 12px;
}

.grapes-builder-shell .builder-link-title {
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #b3b3b3;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
}

.grapes-builder-shell .builder-link-row {
  flex-direction: column;
  gap: 4px;
  margin-bottom: 10px;
  display: flex;
}

.grapes-builder-shell .builder-link-row--2col {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px 8px;
  display: grid;
}

.grapes-builder-shell .builder-link-label {
  color: #cfcfcf;
  font-size: 12px;
}

.grapes-builder-shell .builder-link-label--inline {
  justify-self: start;
}

.grapes-builder-shell .builder-link-check {
  color: #e0e0e0;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  grid-column: 1 / span 1;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  display: inline-flex;
}

.grapes-builder-shell .builder-link-check input[type="checkbox"] {
  accent-color: #3d7fc9;
  width: 14px;
  height: 14px;
}

.grapes-builder-shell .builder-link-href, .grapes-builder-shell .builder-link-rel {
  color: #f0f0f0;
  box-sizing: border-box;
  background: #262626;
  border: 1px solid #333;
  border-radius: 6px;
  width: 100%;
  height: 30px;
  padding: 0 8px;
  font-size: 13px;
}

.grapes-builder-shell .builder-link-rel {
  height: 28px;
}

.grapes-builder-shell .builder-link-href:focus, .grapes-builder-shell .builder-link-rel:focus {
  border-color: #3d7fc9;
  outline: none;
  box-shadow: 0 0 0 2px #3d7fc933;
}

.grapes-builder-shell .builder-link-actions {
  justify-content: flex-end;
  gap: 8px;
  margin-top: 6px;
  display: flex;
}

.grapes-builder-shell .builder-link-apply, .grapes-builder-shell .builder-link-remove {
  cursor: pointer;
  border: 1px solid #0000;
  border-radius: 6px;
  height: 30px;
  padding: 0 12px;
  font-size: 13px;
  transition: background .15s, border-color .15s, color .15s;
}

.grapes-builder-shell .builder-link-apply {
  color: #fff;
  background: #3d7fc9;
  border-color: #3d7fc9;
}

.grapes-builder-shell .builder-link-apply:hover {
  background: #5191d9;
  border-color: #5191d9;
}

.grapes-builder-shell .builder-link-remove {
  color: #ff8a8a;
  background: #262626;
  border-color: #333;
}

.grapes-builder-shell .builder-link-remove:hover {
  background: #3a1f1f;
  border-color: #6b2b2b;
}

.grapes-builder-shell .gjs-category-title, .grapes-builder-shell .gjs-sm-sector-title, .grapes-builder-shell .gjs-layer-title {
  color: #fff;
  background: #2b2b2b;
  border-color: #1f1f1f;
  font-weight: 700;
}

.rt-image-trait {
  gap: 10px;
  display: grid;
}

.rt-image-trait p {
  color: #b0b0b0;
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
}

.rt-image-trait div {
  grid-template-columns: 1fr;
  gap: 8px;
  display: grid;
}

.rt-image-trait button, .rt-image-trait label {
  color: #fff;
  cursor: pointer;
  background: #00a4a6;
  border: 1px solid #00a4a6;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  min-height: 34px;
  font-size: 12px;
  font-weight: 800;
  display: inline-flex;
}

.rt-image-trait input[type="text"] {
  color: #fff;
  background: #1f1f1f;
  border: 1px solid #404040;
  border-radius: 3px;
  min-height: 34px;
  padding: 0 10px;
  font-size: 12px;
}

.rt-image-trait input[type="file"] {
  display: none;
}

.theme-status-colors, .theme-grays {
  align-items: center;
  gap: 8px;
  display: flex;
}

.theme-status-colors span {
  border: 2px solid #10131c;
  border-radius: 999px;
  width: 28px;
  height: 28px;
  box-shadow: 0 0 0 2px #fff;
}

.theme-grays span {
  width: 26px;
  height: 34px;
}

.theme-grays span:first-child {
  background: #1f242b;
}

.theme-grays span:nth-child(2) {
  background: #333a43;
}

.theme-grays span:nth-child(3) {
  background: #515b66;
}

.theme-grays span:nth-child(4) {
  background: #87929d;
}

.theme-grays span:nth-child(5) {
  background: #b8c1ca;
}

.theme-grays span:nth-child(6) {
  background: #d9dee4;
}

.theme-grays span:nth-child(7) {
  background: #f4f6f8;
}

.front-builder {
  border: 0;
  border-radius: 0;
  min-height: 100vh;
}

.builder-topbar {
  color: #f6f8fb;
  background: #171923;
  border-bottom: 1px solid #2a2d38;
  grid-template-columns: 120px minmax(220px, .8fr) minmax(260px, 1fr) 180px;
  align-items: center;
  min-height: 52px;
  display: grid;
}

.builder-actions, .builder-save {
  align-items: stretch;
  height: 100%;
  display: flex;
}

.builder-actions button, .builder-save button {
  color: #d6dbe5;
  background: none;
  border: 0;
  border-right: 1px solid #2a2d38;
  padding: 0 18px;
  font-weight: 800;
}

.builder-actions button:disabled {
  cursor: default;
  color: #636b7a;
}

.menu-editor {
  gap: 10px;
  margin-top: 18px;
  display: grid;
}

.menu-row {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 8px;
  grid-template-columns: 82px 1fr 1fr 1.2fr auto auto auto;
  align-items: center;
  gap: 8px;
  padding: 10px;
  display: grid;
}

.menu-row input:not([type="checkbox"]) {
  border: 1px solid var(--line);
  border-radius: 6px;
  min-width: 0;
  height: 38px;
  padding: 0 10px;
}

.menu-visible {
  color: var(--muted);
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 800;
  display: inline-flex;
}

.menu-row button {
  height: 34px;
  color: var(--blue-dark);
  background: #f7fbff;
  border: 1px solid #1b5f9f2e;
  border-radius: 6px;
  font-weight: 800;
}

.builder-save {
  justify-content: flex-end;
}

.builder-save button, .builder-save a {
  border-left: 1px solid #2a2d38;
  border-right: 0;
}

.builder-save a {
  color: #d6dbe5;
  align-items: center;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 800;
  display: inline-flex;
}

.builder-save .save {
  background: var(--blue);
  color: var(--white);
}

.builder-layout-menu-column .builder-menu-manager {
  gap: 10px !important;
  max-height: 520px !important;
  margin-top: 0 !important;
  padding: 2px 6px 2px 2px !important;
  display: grid !important;
  overflow-y: auto !important;
}

.builder-layout-menu-column .builder-menu-record {
  background: #151b24 !important;
  border: 1px solid #3f4b5d !important;
  border-radius: 10px !important;
  gap: 0 !important;
  padding: 0 !important;
  display: grid !important;
  overflow: hidden !important;
  box-shadow: 0 10px 22px #0003 !important;
}

.builder-layout-menu-column .builder-menu-record-head {
  background: #f8fafc !important;
  border-bottom: 1px solid #d9e2ef !important;
  grid-template-columns: 78px 76px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 48px !important;
  padding: 10px 12px !important;
  display: grid !important;
}

.builder-layout-menu-column .builder-menu-visible {
  color: #047779 !important;
  white-space: nowrap !important;
  background: #e6fffb !important;
  border: 1px solid #14b8ba59 !important;
  border-radius: 999px !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  height: 30px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  display: inline-flex !important;
}

.builder-layout-menu-column .builder-menu-level {
  color: #42526a !important;
  background: #edf2f7 !important;
  border-radius: 999px !important;
  justify-content: center !important;
  align-items: center !important;
  height: 26px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  display: inline-flex !important;
}

.builder-layout-menu-column .builder-menu-record-title {
  color: #13233a !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  min-width: 0 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  overflow: hidden !important;
}

.builder-layout-menu-column .builder-menu-record-grid {
  background: #20242b !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 14px !important;
  display: grid !important;
}

.builder-layout-menu-column .builder-menu-record-grid label {
  color: #c8d3df !important;
  gap: 6px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  display: grid !important;
}

.builder-layout-menu-column .builder-menu-record-grid label:nth-child(3) {
  grid-column: 1 / -1 !important;
}

.builder-layout-menu-column .builder-menu-record-grid input, .builder-layout-menu-column .builder-menu-record-grid select {
  color: #f8fafc !important;
  background: #101722 !important;
  border: 1px solid #4b5870 !important;
  border-radius: 7px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 38px !important;
  padding: 0 11px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.builder-layout-menu-column .builder-menu-record-actions {
  grid-column: 1 / -1 !important;
  align-items: center !important;
  gap: 8px !important;
  display: flex !important;
}

.builder-layout-menu-column .builder-menu-record-actions button {
  color: #e5edf6 !important;
  background: #2b3440 !important;
  border: 1px solid #4b5870 !important;
  border-radius: 7px !important;
  height: 34px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.builder-layout-menu-column .builder-menu-record-actions .builder-menu-delete {
  color: #fecdd3 !important;
  background: #f43f5e24 !important;
  border-color: #f43f5e73 !important;
  margin-left: auto !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row {
  background: #111827 !important;
  border: 1px solid #3a4654 !important;
  border-radius: 10px !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  box-shadow: 0 8px 18px #0000002e !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-child {
  border-left: 4px solid #14b8ba !important;
  margin-left: 28px !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-expanded {
  border-color: #14b8ba !important;
  box-shadow: 0 0 0 1px #14b8ba38, 0 10px 22px #00000038 !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-header {
  color: #122033 !important;
  text-align: left !important;
  cursor: pointer !important;
  background: #f8fafc !important;
  border: 0 !important;
  border-radius: 0 !important;
  grid-template-columns: 78px minmax(0, 1fr) 28px !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 72px !important;
  padding: 14px 18px !important;
  display: grid !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-header:hover {
  background: #eef6fb !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-visible {
  color: #047779 !important;
  white-space: nowrap !important;
  background: #e6fffb !important;
  border: 1px solid #14b8ba52 !important;
  border-radius: 999px !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  width: 68px !important;
  min-width: 68px !important;
  height: 32px !important;
  padding: 0 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  display: inline-flex !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-visible input {
  accent-color: #00a4a6 !important;
  width: 14px !important;
  height: 14px !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-title {
  gap: 4px !important;
  min-width: 0 !important;
  display: grid !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-label {
  color: #13233a !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  display: block !important;
  overflow: hidden !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-href {
  color: #667085 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  display: block !important;
  overflow: hidden !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-chevron {
  color: #64748b !important;
  justify-self: end !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-chevron-open {
  color: #00a4a6 !important;
  transform: rotate(180deg) !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-body {
  background: #20242b !important;
  border-top: 1px solid #334155 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 14px !important;
  display: grid !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-field {
  gap: 6px !important;
  display: grid !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-field:nth-child(3), .builder-layout-menu-column .builder-menu-manager .menu-row-field:nth-child(4) {
  grid-column: 1 / -1 !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-field-label {
  color: #c8d3df !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-field input, .builder-layout-menu-column .builder-menu-manager .menu-row-field select {
  color: #f8fafc !important;
  background: #111827 !important;
  border: 1px solid #465262 !important;
  border-radius: 7px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 38px !important;
  padding: 0 11px !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-field select {
  appearance: auto !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-actions {
  grid-column: 1 / -1 !important;
  align-items: center !important;
  gap: 8px !important;
  display: flex !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-actions button {
  color: #e5edf6 !important;
  background: #2b3440 !important;
  border: 1px solid #465262 !important;
  border-radius: 7px !important;
  height: 34px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-actions button:hover {
  color: #fff !important;
  background: #00a4a6 !important;
  border-color: #00a4a6 !important;
}

.builder-layout-menu-column .builder-menu-manager .menu-row-delete {
  color: #fecdd3 !important;
  background: #f43f5e24 !important;
  border-color: #f43f5e73 !important;
  margin-left: auto !important;
}

.builder-topbar label {
  color: #b9c1cf;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  display: flex;
}

.builder-topbar select {
  color: #f6f8fb;
  background: #222633;
  border: 1px solid #343846;
  border-radius: 6px;
  min-width: 220px;
  padding: 9px 10px;
}

.device-toggle {
  justify-content: center;
  align-items: center;
  gap: 8px;
  display: flex;
}

.device-toggle button {
  color: #d6dbe5;
  background: #222633;
  border: 1px solid #343846;
  border-radius: 6px;
  min-height: 34px;
  padding: 0 10px;
  font-weight: 800;
}

.device-toggle button.active {
  background: var(--blue);
  color: var(--white);
}

.device-toggle span {
  color: #9aa4b4;
  font-size: 12px;
}

.builder-frame {
  grid-template-columns: minmax(0, 1fr) 330px;
  min-height: 760px;
  display: grid;
}

.builder-canvas {
  background: #f3f5f8;
  overflow: auto;
}

.builder-canvas.mobile {
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
  max-width: 430px;
  margin: 0 auto;
}

.builder-site-nav {
  border-bottom: 1px solid var(--line);
  background: var(--white);
  align-items: center;
  gap: 34px;
  min-height: 72px;
  padding: 0 42px;
  display: flex;
}

.builder-site-nav img {
  width: 170px;
  height: auto;
}

.builder-site-nav nav {
  color: var(--ink);
  flex-wrap: wrap;
  gap: 22px;
  font-weight: 800;
  display: flex;
}

.drop-zone {
  width: calc(100% - 44px);
  min-height: 210px;
  color: var(--white);
  background: #9adde5;
  border: 2px dashed #09bed8;
  border-radius: 6px;
  place-items: center;
  margin: 22px;
  font-size: 20px;
  font-weight: 900;
  display: grid;
}

.canvas-modules {
  gap: 18px;
  padding: 0 22px 22px;
  display: grid;
}

.canvas-module {
  background: var(--white);
  text-align: left;
  cursor: pointer;
  border: 2px solid #0000;
  border-radius: 6px;
  grid-template-columns: 220px minmax(0, 1fr) 86px;
  align-items: center;
  gap: 18px;
  padding: 16px;
  display: grid;
  position: relative;
  box-shadow: 0 10px 28px #0f365d14;
}

.canvas-module.active {
  border-color: #09bed8;
}

.canvas-module img {
  aspect-ratio: 16 / 9;
  object-fit: contain;
  border: 1px solid var(--line);
  background: #fbfcfe;
  border-radius: 6px;
  width: 100%;
  padding: 10px;
}

.canvas-module span, .canvas-module em {
  color: var(--blue);
  text-transform: uppercase;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.canvas-module strong {
  color: var(--blue-dark);
  margin-top: 6px;
  font-size: 24px;
  line-height: 1.2;
  display: block;
}

.canvas-module p {
  color: var(--muted);
  margin: 8px 0 0;
  line-height: 1.5;
}

.canvas-module em {
  color: var(--success);
  justify-self: end;
}

.module-controls {
  border-top: 1px solid var(--line);
  flex-wrap: wrap;
  grid-column: 1 / -1;
  gap: 8px;
  padding-top: 12px;
  display: flex;
}

.module-controls button {
  border: 1px solid var(--line);
  min-height: 32px;
  color: var(--blue-dark);
  background: #fbfcfe;
  border-radius: 6px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 800;
}

.builder-footer-preview {
  color: #f6f8fb;
  background: #111827;
  grid-template-columns: .7fr 1.4fr 1fr;
  gap: 36px;
  padding: 42px 70px;
  display: grid;
}

.builder-footer-preview div {
  align-content: start;
  gap: 10px;
  display: grid;
}

.builder-footer-preview span, .builder-footer-preview p {
  color: #b9c1cf;
  margin: 0;
  line-height: 1.5;
}

.builder-sidebar {
  color: #d6dbe5;
  background: #171923;
  border-left: 1px solid #2a2d38;
}

.builder-tabs {
  border-bottom: 1px solid #2a2d38;
  grid-template-columns: repeat(3, 1fr);
  display: grid;
}

.builder-tabs button {
  color: #b9c1cf;
  background: none;
  border: 0;
  min-height: 52px;
  font-weight: 900;
}

.builder-tabs .active {
  color: var(--white);
  box-shadow: inset 0 -3px #09bed8;
}

.block-search {
  color: #f6f8fb;
  background: #272a35;
  border: 0;
  border-bottom: 1px solid #2a2d38;
  outline: 0;
  width: 100%;
  padding: 14px;
}

.sidebar-label {
  color: #d6dbe5;
  padding: 16px 14px 10px;
  font-size: 13px;
  font-weight: 900;
  display: block;
}

.block-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px;
  padding: 0 12px 16px;
  display: grid;
}

.block-tile {
  color: #d6dbe5;
  background: #353743;
  border: 1px solid #2f3340;
  place-items: center;
  gap: 8px;
  min-height: 126px;
  padding: 12px;
  display: grid;
}

.block-tile:hover {
  background: #414552;
}

.block-tile strong, .block-tile em {
  text-align: center;
  font-size: 13px;
  font-style: normal;
}

.block-tile em {
  color: #9aa4b4;
}

.block-icon {
  background: linear-gradient(90deg, #7ab9c2 45%, #e7ebef 45%);
  border-radius: 3px;
  width: 74px;
  height: 46px;
  display: block;
  position: relative;
}

.block-icon:before, .block-icon:after {
  content: "";
  background: #cfd7e2;
  position: absolute;
}

.block-icon:before {
  width: 32px;
  height: 4px;
  top: 12px;
  left: 8px;
}

.block-icon:after {
  background: #8ec6d1;
  width: 22px;
  height: 18px;
  bottom: 8px;
  right: 8px;
}

.block-icon.hero {
  background: #547f89;
}

.block-icon.gallery {
  background: repeating-linear-gradient(90deg, #8ec6d1 0 20px, #353743 20px 26px);
}

.block-icon.cards {
  background: repeating-linear-gradient(90deg, #7ab9c2 0 22px, #353743 22px 28px);
}

.block-icon.cta {
  background: linear-gradient(#353743 0 35%, #7ab9c2 35%);
}

.customize-panel {
  border-top: 1px solid #2a2d38;
  gap: 12px;
  padding: 0 14px 18px;
  display: grid;
}

.customize-panel .field label {
  color: #d6dbe5;
}

.customize-panel .field input, .customize-panel .field textarea {
  color: #f6f8fb;
  background: #222633;
  border-color: #343846;
}

.publish-button {
  background: var(--blue);
  min-height: 42px;
  color: var(--white);
  border: 0;
  border-radius: 6px;
  font-weight: 900;
}

.publish-button.secondary {
  background: #353743;
}

.publish-button.danger {
  background: #9b2c2c;
}

.builder-output {
  gap: 18px;
  display: grid;
}

.builder-output-row {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 8px;
  grid-template-columns: minmax(240px, .46fr) minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  padding: 18px;
  display: grid;
}

.builder-output-row img, .builder-output-gallery img {
  border: 1px solid var(--line);
  object-fit: contain;
  background: #fbfcfe;
  border-radius: 6px;
  width: 100%;
  display: block;
}

.builder-output-row img {
  aspect-ratio: 4 / 3;
  padding: 12px;
}

.builder-output-row h2, .builder-output-row p, .builder-output-card h3, .builder-output-card p {
  margin: 0 0 14px;
}

.builder-output-row p, .builder-output-card p {
  color: var(--muted);
  line-height: 1.65;
}

.builder-output-gallery {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 8px;
  padding: 18px;
}

.builder-output-gallery img {
  aspect-ratio: 1;
  padding: 14px;
}

.builder-output-card a {
  color: var(--blue);
  font-weight: 800;
}

.media-uploader {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
  display: grid;
}

.media-uploader label {
  color: var(--blue-dark);
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  display: grid;
}

.media-uploader input[type="file"] {
  color: #12243a;
  background: #fff;
  border: 1px dashed #8ba4bd;
  border-radius: 6px;
  min-height: 44px;
  padding: 10px;
}

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

.media-card {
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 8px;
  margin: 0;
  overflow: hidden;
}

.media-card img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  width: 100%;
  display: block;
}

.media-card figcaption {
  color: var(--muted);
  gap: 8px;
  padding: 12px;
  font-size: 13px;
  line-height: 1.45;
  display: grid;
}

.media-card label {
  color: var(--muted);
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
  display: grid;
}

.media-card input {
  box-sizing: border-box;
  color: #12243a;
  width: 100%;
  font: inherit;
  background: #fff;
  border: 1px solid #b8c7d9;
  border-radius: 6px;
  padding: 8px;
}

.knowledge-list {
  gap: 16px;
  display: grid;
}

.rt-article-list, .rt-knowledge-list {
  gap: 14px;
  display: grid;
}

.rt-knowledge-row {
  background: #fff;
  border: 1px solid #d8e4ef;
  border-radius: 8px;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  padding: 20px 22px;
  display: grid;
  box-shadow: 0 12px 28px #0c27440d;
}

.rt-article-list .rt-knowledge-list {
  width: min(100%, 1120px);
  margin: 0 auto;
}

.rt-article-list .rt-knowledge-row {
  background: #fff;
  border: 1px solid #d8e4ef;
  border-radius: 8px;
  grid-template-columns: minmax(140px, 190px) minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  padding: 20px 22px;
  display: grid;
}

.rt-knowledge-meta {
  align-content: start;
  gap: 10px;
  display: grid;
}

.rt-knowledge-meta > span {
  border-left: 3px solid var(--blue);
  width: fit-content;
  color: var(--blue);
  padding-left: 10px;
  font-size: 13px;
  font-weight: 900;
}

.rt-article-list .rt-knowledge-meta > span {
  color: var(--blue);
  font-size: 13px;
  font-weight: 900;
}

.rt-knowledge-main {
  gap: 8px;
  min-width: 0;
  display: grid;
}

.rt-knowledge-main h3 {
  color: var(--blue-dark);
  margin: 0;
  font-size: 22px;
  line-height: 1.35;
}

.rt-knowledge-main h3 a {
  color: inherit;
  text-decoration: none;
}

.rt-knowledge-main h3 a:hover {
  color: var(--blue);
}

.rt-knowledge-main p {
  color: var(--muted);
  margin: 0;
  line-height: 1.75;
}

.rt-knowledge-link {
  min-width: 76px;
  color: var(--blue-dark);
  border: 1px solid #c7d8e8;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 10px 14px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
}

.rt-knowledge-link:after {
  content: "→";
  margin-left: 8px;
}

.rt-knowledge-link:hover {
  border-color: var(--blue);
  color: var(--blue);
}

.rt-article-list article {
  border-top: 1px solid #dbe5ef;
  gap: 8px;
  padding: 20px 0;
  display: grid;
}

.rt-article-list article > span {
  color: var(--blue);
  font-size: 13px;
  font-weight: 900;
}

.rt-article-list h3 {
  color: var(--blue-dark);
  margin: 0;
  font-size: 22px;
}

.rt-article-list h3 a {
  color: inherit;
  text-decoration: none;
}

.rt-article-list h3 a:hover {
  color: var(--blue);
}

.rt-article-list p {
  color: var(--muted);
  margin: 0;
  line-height: 1.75;
}

@media (max-width: 760px) {
  .st-text-cover {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .st-text-cover-copy {
    padding: 56px 24px;
  }

  .st-text-cover-media {
    min-height: 320px;
  }

  .rt-knowledge-row, .rt-article-list .rt-knowledge-row {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px;
  }

  .rt-knowledge-link {
    width: fit-content;
  }
}

.rt-dynamic-empty {
  color: var(--muted);
  border: 1px dashed #b8c7d9;
  border-radius: 8px;
  padding: 20px;
}

.rt-dynamic-map-frame {
  background: #e8f1f8;
  border: 0;
  border-radius: 8px;
  width: 100%;
  min-height: 420px;
  display: block;
  box-shadow: 0 16px 38px #1536581f;
}

.rt-social-links {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.rt-social-links a, .rt-social-links > div, .rt-social-links > span {
  color: inherit;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: inline-flex;
  position: relative;
}

.rt-social-icon {
  background: var(--blue);
  color: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  transition: background .16s, border-color .16s, transform .16s;
  display: inline-flex;
}

.rt-social-icon svg {
  fill: currentColor;
  width: 20px;
  height: 20px;
}

.rt-social-links a:hover .rt-social-icon, .rt-social-links a:focus-visible .rt-social-icon, .rt-social-links > span:hover .rt-social-icon, .rt-social-links > div:hover .rt-social-icon {
  transform: translateY(-2px);
}

.rt-social-links img {
  object-fit: contain;
  opacity: 0;
  pointer-events: none;
  z-index: 20;
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  width: 132px;
  height: 132px;
  padding: 8px;
  transition: opacity .16s, transform .16s;
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%)translateY(6px);
  box-shadow: 0 14px 34px #0815242e;
}

.rt-social-links a:hover img, .rt-social-links > div:hover img, .rt-social-links > span:hover img, .rt-social-links a:focus-visible img {
  opacity: 1;
  transform: translateX(-50%)translateY(0);
}

.footer-social-slot, .footer .rt-social-links {
  margin-top: 18px;
}

.footer .rt-social-icon {
  color: #fff;
  background: #ffffff1f;
  border: 1px solid #ffffff38;
}

.footer .rt-social-links a:hover .rt-social-icon, .footer .rt-social-links a:focus-visible .rt-social-icon, .footer .rt-social-links > span:hover .rt-social-icon, .footer .rt-social-links > div:hover .rt-social-icon {
  background: #ffffff38;
  border-color: #ffffff57;
}

.knowledge-detail {
  width: min(980px, 100% - 40px);
  margin: 0 auto;
  padding: 56px 0 80px;
}

.knowledge-detail article, .knowledge-detail-empty {
  gap: 18px;
  display: grid;
}

.knowledge-back, .knowledge-source {
  color: var(--blue);
  font-weight: 800;
  text-decoration: none;
}

.knowledge-category {
  color: var(--blue);
  font-size: 14px;
  font-weight: 900;
}

.knowledge-detail h1 {
  max-width: 820px;
  color: var(--blue-dark);
  margin: 0;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.08;
}

.knowledge-summary {
  max-width: 820px;
  color: var(--muted);
  margin: 0;
  font-size: 18px;
  line-height: 1.8;
}

.knowledge-tags {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.knowledge-tags span, .rt-tags span {
  color: var(--blue-dark);
  background: #eef4fa;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 800;
}

.knowledge-body {
  border-top: 1px solid #dbe5ef;
  gap: 14px;
  max-width: 820px;
  padding-top: 24px;
  display: grid;
}

.knowledge-body p {
  color: #4f6178;
  margin: 0;
  font-size: 17px;
  line-height: 1.9;
}

.rt-product-categories {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
  display: flex;
}

.rt-product-categories span {
  color: var(--blue-dark);
  background: #f5f9fd;
  border: 1px solid #dbe5ef;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 800;
}

.rt-product-dynamic-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.rt-product-dynamic-grid.list {
  grid-template-columns: 1fr;
}

.rt-product-dynamic-grid.list .rt-product-dynamic-card {
  display: block;
}

.rt-product-dynamic-grid.list .rt-product-dynamic-card > div {
  padding: 20px 24px;
}

.rt-product-dynamic-grid.list .rt-product-dynamic-card h3 {
  font-size: 22px;
}

.rt-product-dynamic-grid.compact {
  grid-template-columns: 1fr;
}

.rt-product-dynamic-grid.compact .rt-product-dynamic-card {
  grid-template-columns: 120px minmax(0, 1fr);
  display: grid;
}

.rt-product-dynamic-grid.compact .rt-product-dynamic-card img, .rt-product-dynamic-grid.compact .rt-product-no-image {
  aspect-ratio: 1;
}

.rt-product-dynamic-grid.compact .rt-product-dynamic-card > div {
  gap: 4px;
  padding: 12px 16px;
}

.rt-product-dynamic-grid.compact .rt-product-dynamic-card h3 {
  font-size: 16px;
}

.rt-product-dynamic-grid.compact .rt-product-dynamic-card p {
  min-height: 0;
  font-size: 13px;
}

.rt-catalog {
  gap: 16px;
  display: grid;
}

.rt-catalog-toolbar {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  display: flex;
}

.rt-catalog-search {
  flex: 1;
  min-width: 220px;
}

.rt-catalog-search input {
  color: #1e293b;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  outline: none;
  width: 100%;
  padding: 10px 14px;
  font-size: 14px;
  transition: border-color .15s;
}

.rt-catalog-search input:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px #2563eb1f;
}

.rt-catalog-views {
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  display: inline-flex;
  overflow: hidden;
}

.rt-catalog-views button {
  color: #64748b;
  cursor: pointer;
  background: none;
  border: none;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 700;
  transition: background .15s, color .15s;
}

.rt-catalog-views button:hover {
  color: #1e293b;
  background: #f1f5f9;
}

.rt-catalog-views button.active {
  background: var(--blue-dark);
  color: #fff;
}

.rt-catalog-views button + button {
  border-left: 1px solid #d1d5db;
}

.rt-catalog-categories {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.rt-catalog-categories button {
  color: var(--blue-dark);
  cursor: pointer;
  background: #f5f9fd;
  border: 1px solid #dbe5ef;
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 700;
  transition: all .15s;
}

.rt-catalog-categories button:hover {
  border-color: var(--blue);
  background: #e0ecfb;
}

.rt-catalog-categories button.active {
  background: var(--blue-dark);
  color: #fff;
  border-color: var(--blue-dark);
}

.rt-catalog-meta {
  color: #64748b;
  padding: 0 4px;
  font-size: 13px;
  font-weight: 600;
}

.rt-catalog-pagination {
  border-top: 1px solid #edf2f7;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  padding: 16px;
  display: flex;
}

.rt-catalog-pagination button {
  color: #475569;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 700;
  transition: all .15s;
}

.rt-catalog-pagination button:hover:not(:disabled) {
  border-color: var(--blue);
  color: var(--blue-dark);
  background: #f1f5f9;
}

.rt-catalog-pagination button.active {
  background: var(--blue-dark);
  border-color: var(--blue-dark);
  color: #fff;
}

.rt-catalog-pagination button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.rt-page-ellipsis {
  color: #94a3b8;
  padding: 0 4px;
  font-size: 13px;
}

@media (max-width: 768px) {
  .rt-product-dynamic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rt-product-dynamic-grid.list .rt-product-dynamic-card, .rt-product-dynamic-grid.compact .rt-product-dynamic-card {
    grid-template-columns: 1fr;
  }

  .rt-catalog-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
}

.rt-product-category-group {
  gap: 14px;
  margin-top: 26px;
  display: grid;
}

.rt-product-category-group > h3 {
  color: var(--blue-dark);
  margin: 0;
  font-size: 24px;
}

.rt-product-category-grouped {
  gap: 28px;
  display: grid;
}

.rt-product-category-grouped .rt-product-category-group {
  margin-top: 0;
}

.rt-product-category-grouped .rt-product-category-group > h3 {
  border-bottom: 1px solid #e8eff7;
  padding-bottom: 6px;
}

.rt-product-dynamic-card {
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  overflow: hidden;
}

.rt-product-dynamic-card img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #eef4fa;
  width: 100%;
  display: block;
}

.rt-product-no-image {
  aspect-ratio: 4 / 3;
  color: #94a3b8;
  letter-spacing: .5px;
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: 13px;
  font-weight: 600;
  display: flex;
}

.rt-product-no-image span {
  background: #fff9;
  border: 1px dashed #cbd5e1;
  border-radius: 999px;
  padding: 6px 14px;
}

.rt-product-dynamic-card > div {
  gap: 8px;
  padding: 16px;
  display: grid;
}

.rt-product-dynamic-card span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
}

.rt-product-dynamic-card h3 {
  color: var(--blue-dark);
  margin: 0;
  font-size: 20px;
}

.rt-product-dynamic-card p {
  min-height: 44px;
  color: var(--muted);
  margin: 0;
  line-height: 1.6;
}

.rt-product-dynamic-card dl {
  gap: 6px;
  margin: 6px 0 0;
  display: grid;
}

.rt-product-dynamic-card dl div {
  border-top: 1px solid #edf2f7;
  justify-content: space-between;
  gap: 10px;
  padding-top: 6px;
  display: flex;
}

.rt-product-dynamic-card dt {
  color: #8291a8;
  font-size: 12px;
  font-weight: 800;
}

.rt-product-dynamic-card dd {
  color: #364760;
  text-align: right;
  margin: 0;
  font-size: 12px;
  font-weight: 800;
}

.rt-product-drawings {
  background: #f8fbff;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  gap: 8px;
  padding: 10px;
  display: grid;
}

.rt-product-drawings strong {
  color: var(--blue-dark);
  font-size: 13px;
  font-weight: 900;
}

.rt-product-drawings div {
  flex-wrap: wrap;
  gap: 7px;
  display: flex;
}

.rt-product-drawings a {
  min-height: 28px;
  color: var(--rt-primary, var(--blue));
  background: #fff;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  align-items: center;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
}

.rt-product-drawings a:hover {
  border-color: var(--rt-primary, var(--blue));
  background: #edf6fd;
}

.rt-product-cart-actions {
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  display: flex;
}

.rt-add-cart-btn {
  border: 1px solid var(--rt-primary, var(--blue));
  background: var(--rt-primary, var(--blue));
  color: #fff;
  cursor: pointer;
  border-radius: 6px;
  width: 100%;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 800;
  transition: background .16s, border-color .16s, transform .16s;
}

.rt-add-cart-btn:hover {
  background: var(--rt-secondary, #1f5f98);
  border-color: var(--rt-secondary, #1f5f98);
  transform: translateY(-1px);
}

.rt-product-dynamic-card .rt-product-out-stock {
  color: #8b9ab0;
  background: #f8fafc;
  border: 1px solid #dbe5ef;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 800;
  display: inline-flex;
}

.rt-cart-float {
  z-index: 900;
  background: var(--rt-primary, var(--blue));
  color: #fff;
  cursor: pointer;
  border: 1px solid #ffffff47;
  border-radius: 999px;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 900;
  display: inline-flex;
  position: fixed;
  bottom: 24px;
  right: 24px;
  box-shadow: 0 18px 44px #0c35593d;
}

.rt-cart-float b {
  text-align: center;
  background: #fff3;
  border-radius: 999px;
  min-width: 26px;
  padding: 3px 8px;
}

.rt-cart-backdrop {
  z-index: 1200;
  background: #0c192a61;
  justify-content: flex-end;
  display: flex;
  position: fixed;
  inset: 0;
}

.rt-cart-panel {
  background: #fff;
  flex-direction: column;
  width: min(460px, 100vw);
  height: 100%;
  display: flex;
  box-shadow: -24px 0 64px #0f172a38;
}

.rt-cart-head, .rt-cart-footer {
  border-bottom: 1px solid #e2e8f0;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  display: flex;
}

.rt-cart-head div {
  color: var(--blue-dark);
  align-items: center;
  gap: 10px;
  font-weight: 900;
  display: flex;
}

.rt-cart-head span {
  font-size: 20px;
}

.rt-cart-head strong {
  min-width: 30px;
  color: var(--rt-primary, var(--blue));
  text-align: center;
  background: #edf6fd;
  border-radius: 999px;
  padding: 4px 9px;
}

.rt-cart-head button {
  color: #475569;
  cursor: pointer;
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 24px;
  line-height: 1;
}

.rt-cart-notice {
  color: #24547d;
  background: #edf6fd;
  border-radius: 6px;
  margin: 14px 20px 0;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 800;
}

.rt-cart-empty {
  color: #64748b;
  text-align: center;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  margin: 20px;
  padding: 22px;
}

.rt-cart-list {
  gap: 12px;
  padding: 20px;
  display: grid;
  overflow: auto;
}

.rt-cart-item {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  grid-template-columns: 76px 1fr;
  gap: 12px;
  padding: 10px;
  display: grid;
}

.rt-cart-item img, .rt-cart-thumb {
  object-fit: cover;
  background: #eef4fa;
  border-radius: 6px;
  width: 76px;
  height: 76px;
}

.rt-cart-item-body {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.rt-cart-item-body strong {
  color: var(--blue-dark);
  font-size: 15px;
}

.rt-cart-item-body span, .rt-cart-item-body small {
  color: #64748b;
  font-size: 12px;
  line-height: 1.5;
}

.rt-cart-qty {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.rt-cart-qty label {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.rt-cart-qty button, .rt-cart-qty input {
  color: var(--blue-dark);
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 6px;
  min-height: 32px;
  padding: 5px 9px;
  font-weight: 800;
}

.rt-cart-qty input {
  text-align: center;
  width: 54px;
}

.rt-cart-qty .rt-cart-remove {
  color: #b42318;
  margin-left: auto;
}

.drawing-binding-list {
  gap: 10px;
  margin-top: 16px;
  display: grid;
}

.drawing-binding-row {
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 12px;
  display: grid;
}

.drawing-binding-row div {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.drawing-binding-row strong {
  color: var(--blue-dark);
  font-size: 15px;
}

.drawing-binding-row span {
  color: #64748b;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  overflow: hidden;
}

.drawing-binding-row a, .drawing-binding-row button {
  color: var(--blue-dark);
  cursor: pointer;
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.drawing-binding-row button {
  color: #b91c1c;
  border-color: #fecaca;
}

.rt-cart-footer {
  border-top: 1px solid #e2e8f0;
  border-bottom: 0;
  margin-top: auto;
}

.rt-cart-footer button {
  color: var(--blue-dark);
  cursor: pointer;
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 6px;
  padding: 11px 16px;
  font-weight: 900;
}

.rt-cart-footer button.primary {
  background: var(--rt-primary, var(--blue));
  border-color: var(--rt-primary, var(--blue));
  color: #fff;
}

.rt-cart-footer button:disabled {
  cursor: not-allowed;
  opacity: .48;
}

.rt-customer-backdrop {
  z-index: 1300;
  background: #0c192a6b;
  place-items: center;
  padding: 20px;
  display: grid;
  position: fixed;
  inset: 0;
}

.rt-customer-dialog {
  width: min(560px, 100%);
  color: var(--blue-dark);
  background: #fff;
  border: 1px solid #d8e3ef;
  border-radius: 10px;
  box-shadow: 0 28px 80px #0f172a42;
}

.rt-customer-head {
  border-bottom: 1px solid #e2e8f0;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 22px 24px;
  display: flex;
}

.rt-customer-head h3 {
  color: var(--blue-dark);
  margin: 0 0 6px;
  font-size: 24px;
  line-height: 1.25;
}

.rt-customer-head p {
  color: #64748b;
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}

.rt-customer-head button {
  color: #475569;
  cursor: pointer;
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 24px;
  line-height: 1;
}

.rt-customer-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 22px 24px 10px;
  display: grid;
}

.rt-customer-grid label {
  color: #31587f;
  gap: 7px;
  font-size: 13px;
  font-weight: 900;
  display: grid;
}

.rt-customer-grid input {
  min-height: 44px;
  color: var(--blue-dark);
  background: #fff;
  border: 1px solid #cbd8e6;
  border-radius: 6px;
  padding: 0 12px;
  font-size: 15px;
}

.rt-customer-grid input:focus {
  border-color: var(--rt-primary, var(--blue));
  outline: none;
  box-shadow: 0 0 0 3px #2f78b724;
}

.rt-customer-hint {
  color: #64748b;
  margin: 0;
  padding: 0 24px 18px;
  font-size: 13px;
  font-weight: 800;
}

.rt-customer-actions {
  border-top: 1px solid #e2e8f0;
  justify-content: flex-end;
  gap: 10px;
  padding: 18px 24px;
  display: flex;
}

.rt-customer-actions button {
  color: var(--blue-dark);
  cursor: pointer;
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 6px;
  padding: 11px 16px;
  font-weight: 900;
}

.rt-customer-actions button.primary {
  background: var(--rt-primary, var(--blue));
  border-color: var(--rt-primary, var(--blue));
  color: #fff;
}

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

.footer {
  background: var(--rt-footer-background, var(--blue-dark));
  color: #ffffffe0;
  padding: var(--rt-footer-padding-top, 28px) 0 var(--rt-footer-padding-bottom, 18px);
  margin-top: 24px;
}

.footer-grid {
  grid-template-columns: 1.4fr 1fr repeat(auto-fill, minmax(180px, 1fr));
  gap: 24px;
  display: grid;
}

.footer h3, .footer h4 {
  color: var(--white);
  margin: 0 0 10px;
}

.footer p {
  color: #ffffffad;
  margin: 0;
  line-height: 1.6;
}

.layout-centered .nav {
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  display: grid;
}

.layout-centered .brand-centered {
  justify-self: center;
}

.layout-centered .nav-right {
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  display: flex;
}

.layout-compact .nav {
  position: relative;
}

.nav-toggle {
  color: var(--text);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 4px 8px;
  font-size: 22px;
  display: none;
}

.nav-dropdown {
  border: 1px solid var(--border);
  z-index: 100;
  background: #fff;
  border-radius: 0 0 8px 8px;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  box-shadow: 0 8px 24px #0000001f;
}

.nav-dropdown.open {
  display: flex;
}

.layout-compact .nav-toggle {
  display: block;
}

.header-standard {
  position: sticky;
  top: 0;
}

.header-scroll {
  transition: background-color .3s, box-shadow .3s;
  position: relative;
}

.header-scroll.is-scrolled {
  z-index: 50;
  background: #f6f8fbf5;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  box-shadow: 0 2px 12px #00000014;
}

.header-fixed {
  z-index: 50;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: #f6f8fbf5;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

body:has(.header-fixed) .site-shell {
  padding-top: 72px;
}

.header-disappears {
  z-index: 50;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: #f6f8fbf5;
  transition: transform .3s;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transform: translateY(0);
}

.header-disappears.is-hidden {
  transform: translateY(-110%);
}

body:has(.header-disappears) .site-shell {
  padding-top: 72px;
}

.header-fadeout {
  z-index: 50;
  opacity: 1;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: #f6f8fbf5;
  transition: opacity .35s, transform .35s;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.header-fadeout.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-20px);
}

body:has(.header-fadeout) .site-shell {
  padding-top: 72px;
}

.footer-bottom {
  border-top: 1px solid #ffffff1f;
  margin-top: 18px;
  padding: 12px 0 0;
}

.footer-bottom .container p {
  color: #ffffff8c;
  text-align: center;
  margin: 0;
  font-size: 13px;
}

.footer-minimal {
  padding: 20px 0;
}

.footer-minimal-content p {
  text-align: center;
  color: #ffffffa6;
  margin: 0;
  font-size: 13px;
}

.footer-centered {
  text-align: center;
}

.footer-centered-content {
  flex-direction: column;
  align-items: center;
  gap: 16px;
  display: flex;
}

.footer-desc-centered {
  max-width: 560px;
}

.footer-quick-links-centered {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 24px;
  display: flex;
}

.footer-quick-links-centered a {
  color: #fffc;
  font-size: 14px;
  text-decoration: none;
}

.footer-quick-links-centered a:hover {
  color: #fff;
}

.footer-columns-centered {
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
  display: flex;
}

.footer-columns-centered > div {
  min-width: 160px;
}

.copyright {
  color: #ffffff8c;
  border-top: 1px solid #ffffff1f;
  width: 100%;
  max-width: 640px;
  margin-top: 16px;
  padding-top: 16px;
  font-size: 13px;
}

.builder-text-toolbar {
  z-index: 10000;
  white-space: nowrap;
  background: #1f1f1f;
  border: 1px solid #404040;
  border-radius: 6px;
  align-items: center;
  gap: 2px;
  padding: 6px 8px;
  animation: .15s ease-out textToolbarFadeIn;
  display: flex;
  position: absolute;
  box-shadow: 0 4px 20px #0006;
}

@keyframes textToolbarFadeIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.builder-text-toolbar button {
  color: #e0e0e0;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 28px;
  padding: 0;
  font-size: 13px;
  display: inline-flex;
}

.builder-text-toolbar button:hover {
  color: #fff;
  background: #00a4a6;
}

.builder-text-toolbar select {
  color: #e0e0e0;
  cursor: pointer;
  background: #2b2b2b;
  border: 1px solid #404040;
  border-radius: 4px;
  height: 28px;
  padding: 0 6px;
  font-size: 12px;
}

.builder-text-toolbar input[type="color"] {
  cursor: pointer;
  background: none;
  border: 1px solid #404040;
  border-radius: 4px;
  width: 28px;
  height: 28px;
  padding: 0;
}

.builder-text-toolbar input[type="color"]::-webkit-color-swatch-wrapper {
  padding: 0;
}

.builder-text-toolbar input[type="color"]::-webkit-color-swatch {
  border: none;
  border-radius: 3px;
}

.builder-text-toolbar-sep {
  background: #404040;
  width: 1px;
  height: 18px;
  margin: 0 4px;
}

.footer.align-left, .footer.align-left .footer-grid, .footer.align-left .footer-centered-content {
  text-align: left;
  align-items: flex-start;
}

.footer.align-left .footer-centered-content {
  align-items: flex-start;
}

.footer.align-left .footer-quick-links-centered, .footer.align-left .footer-columns-centered {
  justify-content: flex-start;
}

.footer.align-right, .footer.align-right .footer-grid, .footer.align-right .footer-centered-content {
  text-align: right;
}

.footer.align-right .footer-centered-content {
  align-items: flex-end;
}

.footer.align-right .footer-quick-links-centered, .footer.align-right .footer-columns-centered {
  justify-content: flex-end;
}

.footer.align-center, .footer.align-center .footer-grid, .footer.align-center .footer-centered-content {
  text-align: center;
}

.footer.align-center .footer-centered-content {
  align-items: center;
}

.footer.align-center .footer-quick-links-centered, .footer.align-center .footer-columns-centered {
  justify-content: center;
}

.footer-dark {
  color: #ccc;
  background: #1a1a2e;
}

.footer-bordered {
  color: #333;
  background: #f8f9fa;
}

.footer-bordered h3, .footer-bordered h4 {
  color: #222;
}

.footer-bordered p {
  color: #666;
}

.footer-bordered-content {
  flex-direction: column;
  gap: 20px;
  padding: 24px 0;
  display: flex;
}

.footer-bordered-top {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  display: grid;
}

.footer-bordered-columns {
  border-top: 1px solid #e0e0e0;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 20px;
  padding-top: 16px;
  display: grid;
}

.footer-bordered-bottom {
  border-top: 1px solid #e0e0e0;
  padding-top: 16px;
}

.footer-bordered-bottom p {
  color: #888;
  text-align: center;
  font-size: 13px;
}

.footer-split {
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  padding: 32px 0;
  display: grid;
}

.footer-split-left h3 {
  margin-bottom: 12px;
}

.footer-split-left p {
  margin-bottom: 8px;
}

.footer-split-right {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.footer-split-columns {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 16px;
  display: grid;
}

.footer-columns-layout {
  padding: var(--rt-footer-padding-top, 28px) 0 var(--rt-footer-padding-bottom, 18px);
  grid-template-columns: minmax(260px, .85fr) minmax(560px, 1.7fr);
  align-items: start;
  gap: 56px;
  display: grid;
}

.footer-col-brand {
  max-width: 440px;
}

.footer-col-brand h3 {
  margin-bottom: 12px;
}

.footer-col-links {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.footer-col-columns {
  grid-template-columns: repeat(var(--rt-footer-column-count, 3), minmax(140px, 1fr));
  gap: var(--rt-footer-column-gap, 28px);
  align-items: start;
  display: grid;
}

.footer.footer-columns .footer-columns-layout {
  grid-template-columns: minmax(260px, .85fr) minmax(560px, 1.7fr) !important;
}

.footer.footer-columns .footer-col-columns {
  align-items: start;
  grid-template-columns: repeat(var(--rt-footer-column-count, 3), minmax(140px, 1fr)) !important;
  gap: var(--rt-footer-column-gap, 28px) !important;
  display: grid !important;
}

.footer-col-columns > div {
  min-width: 0;
}

.footer-column-links {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.footer-column-links a {
  color: #ffffffb8;
  padding: 2px 0;
  font-size: .9rem;
  text-decoration: none;
  transition: color .2s;
}

.footer-column-links a:hover {
  color: #00a4a6;
  text-decoration: underline;
}

.footer-bordered .footer-quick-links a, .footer-bordered .footer-column-links a {
  color: #555;
}

.footer-bordered .footer-quick-links a:hover, .footer-bordered .footer-column-links a:hover {
  color: #222;
}

.footer.align-left .footer-bottom .container p {
  text-align: left;
}

.footer.align-right .footer-bottom .container p {
  text-align: right;
}

.footer.align-center .footer-bottom .container p {
  text-align: center;
}

.footer.align-left .footer-split, .footer.align-left .footer-columns-layout, .footer.align-left .footer-bordered-top, .footer.align-left .footer-bordered-columns, .footer.align-left .footer-bordered-bottom {
  text-align: left;
}

.footer.align-right .footer-split, .footer.align-right .footer-columns-layout, .footer.align-right .footer-bordered-top, .footer.align-right .footer-bordered-columns, .footer.align-right .footer-bordered-bottom {
  text-align: right;
}

.footer.align-center .footer-split, .footer.align-center .footer-columns-layout, .footer.align-center .footer-bordered-top, .footer.align-center .footer-bordered-columns, .footer.align-center .footer-bordered-bottom {
  text-align: center;
}

.footer.align-right .footer-split, .footer.align-right .footer-columns-layout, .footer.align-right .footer-bordered-top {
  justify-content: flex-end;
}

.footer.align-center .footer-split, .footer.align-center .footer-columns-layout, .footer.align-center .footer-bordered-top {
  justify-content: center;
}

@media (max-width: 780px) {
  .footer {
    text-align: center;
    padding: 24px 0;
  }

  .footer-grid, .footer-columns-layout {
    grid-template-columns: 1fr;
  }

  .footer-col-brand {
    max-width: none;
  }

  .footer-col-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .footer-bordered-top {
    text-align: center;
    flex-direction: column;
    gap: 16px;
  }

  .footer-split {
    flex-direction: column;
    gap: 20px;
  }

  .footer-split-left, .footer-split-right {
    width: 100%;
    max-width: 100%;
  }

  .footer-bordered-columns, .footer-split-columns {
    grid-template-columns: 1fr 1fr;
  }

  .footer-quick-links, .footer-column-links {
    align-items: center !important;
  }

  .footer-bottom .container p {
    text-align: center !important;
  }
}

@media (max-width: 640px) {
  .footer {
    padding: 20px 0;
  }

  .footer .container {
    width: calc(100% - 32px);
  }

  .footer-bordered-columns, .footer-split-columns, .footer-col-columns {
    grid-template-columns: 1fr;
  }

  .footer-split-right {
    gap: 16px;
  }
}

@media (max-width: 980px) {
  .nav {
    flex-wrap: wrap;
  }

  .nav-links {
    order: 3;
    justify-content: flex-start;
    width: 100%;
    overflow-x: auto;
  }

  .hero, .page-hero, .image-story, .finder-grid, .admin-shell, .builder-frame, .builder-footer-preview {
    grid-template-columns: 1fr;
  }

  .builder-sidebar {
    border-top: 1px solid #2a2d38;
    border-left: 0;
  }

  .canvas-module {
    grid-template-columns: 1fr;
  }

  .grid-3, .grid-4, .metric-grid, .portal-grid, .trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-item:nth-child(2n) {
    border-right: 0;
  }
}

@media (max-width: 640px) {
  .container, .nav {
    width: min(100% - 22px, 1180px);
  }

  .brand img {
    width: 158px;
  }

  .hero {
    padding-top: 24px;
  }

  .hero h1 {
    font-size: 42px;
  }

  .field-grid, .grid-3, .grid-4, .metric-grid, .admin-form, .portal-grid, .trust-grid {
    grid-template-columns: 1fr;
  }

  .portal-item {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    min-height: 0;
  }

  .portal-item:last-child {
    border-bottom: 0;
  }

  .trust-band {
    width: min(100% - 22px, 1180px);
    padding: 22px;
  }

  .admin-form .wide {
    grid-column: auto;
  }

  .bolt-board {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .cross-row, .cms-grid, .media-grid, .media-uploader {
    grid-template-columns: 1fr;
  }

  .cross-row.header {
    display: none;
  }

  .recommendation {
    grid-template-columns: 1fr;
  }

  .confidence {
    text-align: left;
  }
}

.rt-calculator {
  color: #1e293b;
  box-sizing: border-box;
  background: #f8fafc;
  border-radius: 16px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 20px;
  font-family: -apple-system, BlinkMacSystemFont, PingFang SC, Microsoft YaHei, sans-serif;
}

.rt-calc-header {
  text-align: center;
  margin-bottom: 28px;
}

.rt-calc-header h2 {
  color: #0f172a;
  margin: 0 0 8px;
  font-size: 1.8rem;
  font-weight: 700;
}

.rt-calc-header p {
  color: #64748b;
  margin: 0;
  font-size: .95rem;
}

.rt-calc-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
  margin-bottom: 28px;
  display: grid;
}

.rt-calc-card {
  text-align: left;
  cursor: pointer;
  color: inherit;
  font: inherit;
  background: #fff;
  border: 1.5px solid #e2e8f0;
  border-radius: 12px;
  flex-direction: column;
  gap: 6px;
  padding: 20px;
  line-height: 1.5;
  text-decoration: none;
  transition: all .18s;
  display: flex;
  position: relative;
}

a.rt-calc-card {
  color: inherit;
  flex-direction: column;
  text-decoration: none;
  display: flex;
}

.rt-calc-card:hover {
  border-color: #3b82f6;
  transform: translateY(-2px);
  box-shadow: 0 4px 18px #3b82f61f;
}

.rt-calc-card.active {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  border-color: #2563eb;
  box-shadow: 0 4px 18px #2563eb26;
}

.rt-calc-card h3 {
  color: #0f172a;
  margin: 0;
  font-size: 1.08rem;
  font-weight: 700;
}

.rt-calc-card p {
  color: #64748b;
  margin: 0;
  font-size: .85rem;
}

.rt-calc-card-arrow {
  color: #2563eb;
  text-align: right;
  align-self: flex-end;
  margin-top: auto;
  padding-top: 10px;
  font-size: .85rem;
  font-weight: 600;
}

.rt-calc-panel {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 24px 28px;
  box-shadow: 0 2px 10px #0f172a0a;
}

.rt-calc-panel > h3 {
  color: #0f172a;
  border-bottom: 1px solid #f1f5f9;
  margin: 0 0 20px;
  padding-bottom: 12px;
  font-size: 1.25rem;
  font-weight: 700;
}

.rt-calc-body {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.rt-calc-row {
  grid-template-columns: 180px 1fr auto;
  align-items: center;
  gap: 12px;
  display: grid;
}

.rt-calc-row label {
  color: #334155;
  font-size: .92rem;
  font-weight: 600;
}

.rt-calc-row input, .rt-calc-row select {
  color: #0f172a;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  width: 100%;
  padding: 9px 12px;
  font-size: .95rem;
  transition: border-color .15s, box-shadow .15s;
}

.rt-calc-row input:focus, .rt-calc-row select:focus {
  border-color: #2563eb;
  outline: none;
  box-shadow: 0 0 0 3px #2563eb1a;
}

.rt-calc-row span {
  color: #64748b;
  min-width: 40px;
  font-size: .85rem;
}

.rt-calc-row select:not(:nth-child(3)):last-child, .rt-calc-row input:last-child {
  grid-column: 2 / -1;
}

.rt-calc-result {
  background: linear-gradient(135deg, #f0fdf4 0%, #ecfeff 100%);
  border: 1px solid #bbf7d0;
  border-radius: 10px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 10px 20px;
  margin-top: 8px;
  padding: 18px 20px;
  display: grid;
}

.rt-calc-result > div {
  border-bottom: 1px dashed #22c55e33;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 6px 0;
  display: flex;
}

.rt-calc-result > div:last-child {
  border-bottom: none;
}

.rt-calc-result dt {
  color: #475569;
  margin: 0;
  font-size: .82rem;
  font-weight: 500;
}

.rt-calc-result dd {
  color: #0f172a;
  text-align: right;
  font-variant-numeric: tabular-nums;
  margin: 0;
  font-size: .98rem;
  font-weight: 600;
}

.rt-calc-note {
  background: #fef9c3;
  border-left: 3px solid #eab308;
  border-radius: 0 6px 6px 0;
  padding: 10px 14px;
  line-height: 1.6;
  color: #854d0e !important;
  margin: 12px 0 0 !important;
  font-size: .82rem !important;
}

.rt-calc-preview {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 20px;
}

.rt-calc-single-top {
  margin-bottom: 18px;
}

.rt-calc-back {
  color: #1d4ed8;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: .88rem;
  font-weight: 500;
  text-decoration: none;
  transition: all .15s;
  display: inline-flex;
}

.rt-calc-back:hover {
  color: #1e40af;
  background: #dbeafe;
  border-color: #93c5fd;
}

.rt-calculator.rt-calculator-single .rt-calc-panel {
  margin-top: 16px;
}

@media (max-width: 768px) {
  .rt-calculator {
    padding: 20px 14px;
  }

  .rt-calc-row {
    grid-template-columns: 1fr;
  }

  .rt-calc-row label {
    margin-bottom: -4px;
  }

  .rt-calc-result {
    grid-template-columns: 1fr;
  }

  .rt-calc-grid {
    grid-template-columns: 1fr 1fr;
  }

  .rt-calc-card {
    padding: 14px;
  }

  .rt-calc-card h3 {
    font-size: .95rem;
  }
}

@media (max-width: 480px) {
  .rt-calc-grid {
    grid-template-columns: 1fr;
  }

  .rt-calc-panel {
    padding: 16px;
  }

  .rt-calc-header h2 {
    font-size: 1.4rem;
  }
}

.rt-section {
  padding: 48px 0;
}

.rt-section-head {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 28px;
}

.rt-eyebrow {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--blue, #1e6fdc);
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
}

.rt-cta .rt-eyebrow {
  color: #fffc;
}

.rt-section-head h2 {
  color: var(--ink, #1a2233);
  margin: 0 0 10px;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.rt-section-head p {
  color: var(--ink-muted, #6b7688);
  font-size: 1rem;
  line-height: 1.7;
}

.st-text-cover {
  color: #fff;
  background: #102033;
  grid-template-columns: minmax(0, .78fr) minmax(360px, 1fr);
  min-height: 620px;
  display: grid;
}

.st-text-cover-copy {
  flex-direction: column;
  justify-content: center;
  padding: 80px max(28px, 50vw - 562px);
  display: flex;
}

.st-text-cover h1 {
  color: #fff;
  margin: 16px 0;
  font-size: clamp(2.75rem, 5vw, 4.375rem);
  font-weight: 500;
  line-height: .98;
}

.st-text-cover p {
  color: #dbe8f6;
}

.st-text-cover-media {
  background-color: #dbe5ef;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 420px;
}

.rt-hero {
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
  align-items: stretch;
  gap: 34px;
  padding: 46px 0 34px;
  display: grid;
}

.rt-hero > .rt-copy, .rt-hero > .hero-copy {
  padding: 28px 0;
}

.rt-hero img {
  object-fit: cover;
  border-radius: 10px;
  width: 100%;
  height: 100%;
}

.rt-text-image {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 40px;
  display: grid;
}

.rt-text-image > img {
  object-fit: cover;
  border-radius: 10px;
  width: 100%;
  height: 100%;
  max-height: 480px;
}

.rt-text-image > div > h2 {
  color: var(--ink, #1a2233);
  margin: 10px 0 14px;
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
}

.rt-text-image > div > p {
  color: var(--ink-muted, #6b7688);
  margin-bottom: 16px;
  line-height: 1.7;
}

.rt-split-panel {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 40px;
  display: grid;
}

.rt-split-panel > div:first-child {
  padding-top: 12px;
}

.rt-split-panel h2 {
  margin: 10px 0 14px;
  font-size: clamp(1.5rem, 2.2vw, 2rem);
}

.rt-split-panel p {
  color: var(--ink-muted, #6b7688);
  line-height: 1.7;
}

.rt-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  display: grid;
}

.rt-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rt-card {
  border: 1px solid var(--line, #e3e8ef);
  background: #fff;
  border-radius: 10px;
  padding: 22px;
  transition: box-shadow .25s, transform .25s;
}

.rt-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px #12325414;
}

.rt-card h3 {
  color: var(--ink, #1a2233);
  margin: 0 0 10px;
  font-size: 1.1rem;
}

.rt-card p {
  color: var(--ink-muted, #6b7688);
  margin: 0;
  line-height: 1.6;
}

.rt-image-card {
  padding: 0;
  overflow: hidden;
}

.rt-image-card > img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
}

.rt-image-card > :not(img) {
  padding: 16px 20px 20px;
}

.rt-kicker {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue, #1e6fdc);
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
  display: inline-block;
}

.rt-showcase {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: center;
  gap: 40px;
  display: grid;
}

.rt-showcase h2 {
  margin: 10px 0 14px;
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
}

.rt-showcase p {
  color: var(--ink-muted, #6b7688);
  line-height: 1.7;
}

.rt-tags {
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 22px;
  display: flex;
}

.rt-tags span {
  color: var(--blue, #1e6fdc);
  background: #1e6fdc14;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 600;
}

.rt-product-strip {
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  display: grid;
}

.rt-product-strip img {
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 8px;
  width: 100%;
}

.rt-cross-table {
  border: 1px solid var(--line, #e3e8ef);
  background: #fff;
  border-radius: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  display: grid;
  overflow: hidden;
}

.rt-cross-row {
  display: contents;
}

.rt-cross-row > div {
  border-bottom: 1px solid var(--line, #e3e8ef);
  border-right: 1px solid var(--line, #e3e8ef);
  padding: 14px 18px;
  font-size: .95rem;
}

.rt-cross-row:last-child > div {
  border-bottom: 0;
}

.rt-cross-row > div:last-child {
  border-right: 0;
}

.rt-cross-header > div {
  background: var(--bg-soft, #f4f6fa);
  color: var(--ink, #1a2233);
  font-weight: 700;
}

.rt-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  display: grid;
}

.rt-steps article {
  border: 1px solid var(--line, #e3e8ef);
  background: #fff;
  border-radius: 10px;
  padding: 22px;
}

.rt-steps article > span {
  letter-spacing: .1em;
  color: var(--blue, #1e6fdc);
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 800;
  display: inline-block;
}

.rt-steps article h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
}

.rt-steps article p {
  color: var(--ink-muted, #6b7688);
  margin: 0;
  font-size: .92rem;
  line-height: 1.6;
}

.rt-timeline {
  text-align: center;
}

.rt-timeline > h2 {
  margin: 10px 0 28px;
  font-size: clamp(1.5rem, 2.2vw, 2rem);
}

.rt-timeline-list {
  text-align: left;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  display: grid;
}

.rt-timeline-list > div {
  border: 1px solid var(--line, #e3e8ef);
  background: #fff;
  border-radius: 10px;
  padding: 22px;
}

.rt-timeline-list strong {
  color: var(--ink, #1a2233);
  margin-bottom: 8px;
  font-size: 1.05rem;
  display: block;
}

.rt-timeline-list p {
  color: var(--ink-muted, #6b7688);
  margin: 0;
  line-height: 1.6;
}

.rt-cert-band {
  background: linear-gradient(135deg, #1e6fdc0f, #1e6fdc05);
  border-radius: 14px;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 30px;
  padding: 36px 40px;
  display: grid;
}

.rt-cert-band h2 {
  margin: 10px 0 0;
  font-size: clamp(1.4rem, 2vw, 1.8rem);
}

.rt-cert-list {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  display: flex;
}

.rt-cert-list span {
  border: 1px solid var(--line, #e3e8ef);
  color: var(--ink, #1a2233);
  background: #fff;
  border-radius: 999px;
  padding: 8px 16px;
  font-size: .9rem;
  font-weight: 600;
}

.rt-rfq-panel {
  background: linear-gradient(135deg, #1e6fdc0d, #1e6fdc03);
  border-radius: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 40px;
  padding: 40px;
  display: grid;
}

.rt-rfq-panel h2 {
  margin: 10px 0 14px;
  font-size: clamp(1.5rem, 2.2vw, 2rem);
}

.rt-rfq-panel > div > p {
  color: var(--ink-muted, #6b7688);
  line-height: 1.7;
}

.rt-mini-form {
  gap: 12px;
  display: grid;
}

.rt-mini-form input, .rt-mini-form textarea {
  border: 1px solid var(--line, #e3e8ef);
  background: #fff;
  border-radius: 8px;
  width: 100%;
  padding: 12px 14px;
  font-family: inherit;
  font-size: .95rem;
}

.rt-mini-form textarea {
  resize: vertical;
  min-height: 80px;
}

.rt-faq-list {
  gap: 10px;
  max-width: 820px;
  margin: 0 auto;
  display: grid;
}

.rt-faq-list details {
  border: 1px solid var(--line, #e3e8ef);
  background: #fff;
  border-radius: 10px;
  padding: 16px 20px;
}

.rt-faq-list summary {
  cursor: pointer;
  color: var(--ink, #1a2233);
  font-weight: 700;
  list-style: none;
}

.rt-faq-list summary::-webkit-details-marker {
  display: none;
}

.rt-faq-list summary:after {
  content: "+";
  float: right;
  color: var(--blue, #1e6fdc);
  font-weight: 400;
}

.rt-faq-list details[open] summary:after {
  content: "−";
}

.rt-faq-list p {
  color: var(--ink-muted, #6b7688);
  margin: 12px 0 0;
  line-height: 1.6;
}

.rt-article-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  display: grid;
}

.rt-article-list article {
  border: 1px solid var(--line, #e3e8ef);
  background: #fff;
  border-radius: 10px;
  padding: 22px;
}

.rt-article-list article > span {
  letter-spacing: .1em;
  color: var(--blue, #1e6fdc);
  text-transform: uppercase;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 700;
  display: inline-block;
}

.rt-article-list article h3 {
  color: var(--ink, #1a2233);
  margin: 0 0 8px;
  font-size: 1.05rem;
}

.rt-article-list article p {
  color: var(--ink-muted, #6b7688);
  margin: 0;
  line-height: 1.6;
}

.rt-metrics {
  gap: 28px;
  margin-top: 18px;
  display: flex;
}

.rt-metrics > div {
  flex-direction: column;
  display: flex;
}

.rt-metrics strong {
  color: var(--ink, #1a2233);
  font-size: 1.05rem;
}

.rt-metrics span {
  color: var(--ink-muted, #6b7688);
  font-size: .88rem;
}

.rt-cta {
  text-align: center;
  background: linear-gradient(135deg, var(--blue-dark, #123254), var(--blue, #1e6fdc));
  color: #fff;
  border-radius: 14px;
  padding: 56px 40px;
}

.rt-cta h2 {
  color: #fff;
  max-width: 760px;
  margin: 10px auto 16px;
  font-size: clamp(1.6rem, 2.6vw, 2.4rem);
}

.rt-cta p {
  color: #ffffffd1;
  max-width: 680px;
  margin: 0 auto 28px;
  line-height: 1.7;
}

.rt-actions {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.rt-button {
  border-radius: 8px;
  padding: 12px 28px;
  font-size: .95rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s, background .2s;
  display: inline-block;
}

.rt-button.primary {
  background: var(--blue, #1e6fdc);
  color: #fff;
}

.rt-button.primary:hover {
  background: var(--blue-dark, #123254);
}

.rt-button.secondary {
  color: #fff;
  background: none;
  border: 1px solid #fff9;
}

.rt-button.secondary:hover {
  background: #ffffff1a;
}

.rt-cta .rt-button.primary {
  color: var(--blue-dark, #123254);
  background: #fff;
}

.rt-section .rt-button.secondary {
  color: var(--ink, #1a2233);
  border-color: var(--line, #e3e8ef);
}

.rt-section .rt-button.secondary:hover {
  background: var(--bg-soft, #f4f6fa);
}

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

.rt-gallery img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
  width: 100%;
}

@media (max-width: 980px) {
  .rt-hero, .rt-text-image, .rt-split-panel, .rt-showcase, .rt-cert-band, .rt-rfq-panel {
    grid-template-columns: 1fr;
  }

  .rt-grid, .rt-grid-4, .rt-article-list, .rt-steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .rt-timeline-list {
    grid-template-columns: 1fr;
  }

  .rt-cross-table {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .rt-section {
    padding: 32px 0;
  }

  .rt-grid, .rt-grid-4, .rt-article-list, .rt-steps, .rt-cross-table, .rt-gallery {
    grid-template-columns: 1fr;
  }

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

  .rt-metrics {
    flex-wrap: wrap;
  }
}

.builder-layout-popover .builder-global-popover-body {
  grid-template-columns: 1fr !important;
  padding-bottom: 0 !important;
}

.builder-global-theme-section {
  background: #111827 !important;
  border: 1px solid #3b4658 !important;
  border-radius: 10px !important;
  gap: 10px !important;
  padding: 14px !important;
  display: grid !important;
}

.builder-global-theme-grid {
  grid-template-columns: repeat(5, minmax(120px, 1fr)) !important;
  gap: 12px !important;
  display: grid !important;
}

.builder-global-theme-grid label {
  min-width: 0 !important;
}

.builder-global-theme-grid input[type="color"] {
  width: 54px !important;
}

.builder-global-theme-grid .theme-reset-btn {
  color: #e5edf6 !important;
  background: #202938 !important;
  border: 1px solid #40506a !important;
  border-radius: 8px !important;
  align-self: end !important;
  height: 38px !important;
  font-weight: 900 !important;
}

.builder-global-theme-grid .theme-reset-btn:hover {
  color: #fff !important;
  background: #00a4a6 !important;
  border-color: #00a4a6 !important;
}

.builder-layout-popover .builder-theme-popover-footer {
  justify-content: flex-end !important;
  gap: 10px !important;
  display: flex !important;
}

@media (max-width: 1320px) {
  .builder-global-theme-grid {
    grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .builder-global-theme-grid {
    grid-template-columns: repeat(2, minmax(120px, 1fr)) !important;
  }
}

.builder-layout-menu-column .builder-menu-popover-actions {
  background: #151922 !important;
  border: 1px solid #3b4658 !important;
  border-radius: 10px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 12px !important;
  display: grid !important;
}

.builder-layout-menu-column .builder-menu-popover-actions button {
  color: #f8fafc !important;
  background: #202938 !important;
  border: 1px solid #314055 !important;
  border-radius: 8px !important;
  min-width: 0 !important;
  height: 40px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.builder-layout-menu-column .builder-menu-manager.builder-menu-editor {
  gap: 12px !important;
  max-height: 560px !important;
  padding: 4px 6px 12px 2px !important;
  display: grid !important;
  overflow-y: auto !important;
}

.builder-layout-menu-column .builder-menu-record {
  box-shadow: none !important;
  background: #121821 !important;
  border: 1px solid #435168 !important;
  border-radius: 10px !important;
  grid-template-columns: 74px 56px minmax(130px, 1fr) minmax(130px, 1fr) !important;
  align-items: end !important;
  gap: 10px 12px !important;
  padding: 12px !important;
  display: grid !important;
  overflow: visible !important;
}

.builder-layout-menu-column .builder-menu-record-child {
  border-left: 4px solid #00a4a6 !important;
  margin-left: 24px !important;
}

.builder-layout-menu-column .builder-menu-visible {
  color: #9ff5ed !important;
  white-space: nowrap !important;
  background: #14b8ba1f !important;
  border: 1px solid #14b8ba73 !important;
  border-radius: 8px !important;
  justify-content: center !important;
  align-self: end !important;
  align-items: center !important;
  gap: 6px !important;
  height: 38px !important;
  padding: 0 10px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  display: inline-flex !important;
}

.builder-layout-menu-column .builder-menu-visible input {
  accent-color: #00a4a6 !important;
  width: 16px !important;
  height: 16px !important;
}

.builder-layout-menu-column .builder-menu-level {
  color: #d7e2ef !important;
  background: #243044 !important;
  border-radius: 8px !important;
  justify-content: center !important;
  align-self: end !important;
  align-items: center !important;
  height: 38px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  display: inline-flex !important;
}

.builder-layout-menu-column .builder-menu-cell {
  color: #cbd5e1 !important;
  gap: 6px !important;
  min-width: 0 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  display: grid !important;
}

.builder-layout-menu-column .builder-menu-cell span {
  color: #9fb1c7 !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

.builder-layout-menu-column .builder-menu-cell input, .builder-layout-menu-column .builder-menu-cell select {
  color: #f8fafc !important;
  background: #0b1220 !important;
  border: 1px solid #40506a !important;
  border-radius: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 38px !important;
  padding: 0 10px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.builder-layout-menu-column .builder-menu-cell input:focus, .builder-layout-menu-column .builder-menu-cell select:focus {
  border-color: #00a4a6 !important;
  outline: 2px solid #00a4a659 !important;
}

.builder-layout-menu-column .builder-menu-cell-wide {
  grid-column: 1 / 3 !important;
}

.builder-layout-menu-column .builder-menu-record-actions {
  grid-column: 3 / 5 !important;
  justify-content: flex-end !important;
  align-items: end !important;
  gap: 8px !important;
  display: flex !important;
}

.builder-layout-menu-column .builder-menu-record-actions button {
  color: #e5edf6 !important;
  background: #202938 !important;
  border: 1px solid #40506a !important;
  border-radius: 8px !important;
  min-width: 56px !important;
  height: 38px !important;
  padding: 0 10px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.builder-layout-menu-column .builder-menu-record-actions .builder-menu-delete:hover {
  color: #fff !important;
  background: #f43f5e !important;
  border-color: #f43f5e !important;
}

@media (max-width: 1180px) {
  .builder-layout-menu-column .builder-menu-record {
    grid-template-columns: 74px 56px minmax(0, 1fr) !important;
  }

  .builder-layout-menu-column .builder-menu-cell, .builder-layout-menu-column .builder-menu-cell-wide, .builder-layout-menu-column .builder-menu-record-actions {
    grid-column: 1 / -1 !important;
  }
}

.builder-layout-popover {
  width: min(1380px, 100vw - 40px) !important;
}

.builder-global-tabs {
  background: #f6f8fb !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 14px 16px 0 !important;
  display: grid !important;
}

.builder-global-tabs button {
  color: #314158 !important;
  background: #fff !important;
  border: 1px solid #d7e0ec !important;
  border-radius: 10px 10px 0 0 !important;
  height: 42px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.builder-global-tabs button.active {
  color: #fff !important;
  background: #2f6f9f !important;
  border-color: #2f6f9f !important;
}

.builder-global-tab-body {
  grid-template-columns: none !important;
  display: block !important;
}

.builder-global-tab-body > div, .builder-global-theme-section {
  color: #172033 !important;
  background: #fff !important;
  border: 1px solid #d7e0ec !important;
}

.builder-theme-preset-row {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 10px !important;
  display: grid !important;
}

.builder-theme-preset-card {
  color: #20324a !important;
  background: #f8fafc !important;
  border: 1px solid #d7e0ec !important;
  border-radius: 8px !important;
  grid-template-columns: 1fr 18px 18px 18px !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  display: grid !important;
}

.builder-theme-preset-card:hover {
  background: #eef6ff !important;
  border-color: #2f6f9f !important;
}

.builder-theme-preset-card span {
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.builder-theme-preset-card i {
  border: 1px solid #0f172a2e !important;
  border-radius: 50% !important;
  width: 18px !important;
  height: 18px !important;
}

.builder-layout-popover .builder-template-grid, .builder-layout-popover .builder-template-grid-inline {
  background: #fff !important;
  border: 1px solid #d8e1ec !important;
  border-radius: 8px !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  padding: 12px !important;
}

.builder-layout-popover .builder-global-theme-grid, .builder-layout-popover .builder-template-content-settings {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

.builder-layout-popover .builder-theme-popover-body input[type="text"], .builder-layout-popover .builder-theme-popover-body input[type="number"], .builder-layout-popover .builder-theme-popover-body select {
  width: 100% !important;
  max-width: 100% !important;
}

.builder-layout-menu-column .builder-menu-popover-actions {
  background: #f8fafc !important;
  border-color: #d7e0ec !important;
}

.builder-layout-menu-column .builder-menu-popover-actions button {
  color: #20324a !important;
  background: #fff !important;
  border-color: #d7e0ec !important;
}

.builder-layout-menu-column .builder-menu-popover-actions button:first-child, .builder-layout-menu-column .builder-menu-popover-actions button:hover {
  color: #fff !important;
  background: #2f6f9f !important;
  border-color: #2f6f9f !important;
}

.builder-layout-menu-column .builder-menu-record {
  background: #fff !important;
  border-color: #d7e0ec !important;
  box-shadow: 0 8px 18px #14243a14 !important;
}

.builder-layout-menu-column .builder-menu-record-child {
  border-left-color: #5b8dbd !important;
}

.builder-layout-menu-column .builder-menu-visible {
  color: #087779 !important;
  background: #e9fbfb !important;
  border-color: #b7eced !important;
}

.builder-layout-menu-column .builder-menu-level {
  color: #42526a !important;
  background: #eef3f8 !important;
}

.builder-layout-menu-column .builder-menu-cell, .builder-layout-menu-column .builder-menu-cell span {
  color: #50627a !important;
}

.builder-layout-menu-column .builder-menu-cell input, .builder-layout-menu-column .builder-menu-cell select {
  color: #172033 !important;
  background: #fff !important;
  border-color: #ccd8e6 !important;
}

.builder-layout-menu-column .builder-menu-record-actions button {
  color: #20324a !important;
  background: #f8fafc !important;
  border-color: #d7e0ec !important;
}

.builder-layout-menu-column .builder-menu-record-actions button:hover {
  color: #fff !important;
  background: #2f6f9f !important;
  border-color: #2f6f9f !important;
}

.builder-layout-menu-column .builder-menu-record-actions .builder-menu-delete {
  color: #be123c !important;
  background: #fff1f2 !important;
  border-color: #fecdd3 !important;
}

@media (max-width: 980px) {
  .builder-global-tabs, .builder-theme-preset-row, .builder-global-theme-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

.builder-layout-popover.builder-theme-popover {
  background: #fff !important;
  border: 1px solid #d8e1ec !important;
  width: auto !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100vh - 96px) !important;
  position: fixed !important;
  top: 76px !important;
  left: 16px !important;
  right: 16px !important;
  box-shadow: 0 18px 46px #1c2b422e !important;
}

.builder-layout-popover .builder-theme-popover-header {
  color: #1f2d3d !important;
  background: #fff !important;
  border-bottom: 1px solid #d8e1ec !important;
}

.builder-layout-popover .builder-theme-popover-header strong {
  color: #1f2d3d !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-size: 16px !important;
}

.builder-layout-popover .builder-theme-popover-close {
  color: #64748b !important;
}

.builder-layout-popover .builder-theme-popover-close:hover {
  color: #1f2d3d !important;
}

.builder-layout-popover .builder-global-tabs {
  background: #f5f7fa !important;
  border-bottom: 1px solid #d8e1ec !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
  padding: 12px 16px 0 !important;
}

.builder-layout-popover .builder-global-tabs button {
  color: #334155 !important;
  box-shadow: none !important;
  background: #fff !important;
  border: 1px solid #d8e1ec !important;
}

.builder-layout-popover .builder-global-tabs button.active {
  color: #fff !important;
  background: #2f78b7 !important;
  border-color: #2f78b7 !important;
}

.builder-layout-popover .builder-theme-popover-body {
  color: #334155 !important;
  background: #fff !important;
  overflow-x: hidden !important;
}

.builder-layout-popover .builder-panel-note {
  color: #52657d !important;
  background: #f8fafc !important;
  border: 1px solid #d8e1ec !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
}

.builder-layout-popover .builder-theme-popover-body strong {
  color: #1f2d3d !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border-bottom: 1px solid #e5ebf2 !important;
}

.builder-layout-popover .builder-theme-popover-body label, .builder-layout-popover .builder-theme-popover-body label span {
  color: #52657d !important;
}

.builder-layout-popover .builder-theme-popover-body input[type="text"], .builder-layout-popover .builder-theme-popover-body input[type="number"], .builder-layout-popover .builder-theme-popover-body select, .builder-layout-popover .builder-menu-cell input, .builder-layout-popover .builder-menu-cell select {
  color: #1f2d3d !important;
  box-shadow: none !important;
  background: #fff !important;
  border: 1px solid #cbd8e6 !important;
  border-radius: 6px !important;
}

.builder-layout-popover .builder-theme-popover-body input[type="text"]:focus, .builder-layout-popover .builder-theme-popover-body input[type="number"]:focus, .builder-layout-popover .builder-theme-popover-body select:focus, .builder-layout-popover .builder-menu-cell input:focus, .builder-layout-popover .builder-menu-cell select:focus {
  border-color: #2f78b7 !important;
  outline: 2px solid #2f78b72e !important;
}

.builder-layout-popover .builder-theme-popover-body input[type="color"] {
  background: #fff !important;
  border: 1px solid #9fb1c7 !important;
}

.builder-layout-popover .builder-global-theme-section, .builder-layout-popover .builder-global-tab-body > div, .builder-layout-popover .builder-layout-menu-column .builder-menu-popover-actions, .builder-layout-popover .builder-layout-menu-column .builder-menu-record {
  background: #fff !important;
  border-color: #d8e1ec !important;
}

.builder-layout-popover .builder-theme-preset-card, .builder-layout-popover .builder-menu-popover-actions button, .builder-layout-popover .builder-menu-record-actions button {
  color: #334155 !important;
  background: #f8fafc !important;
  border-color: #d8e1ec !important;
}

.builder-layout-popover .builder-theme-preset-card:hover, .builder-layout-popover .builder-menu-popover-actions button:hover, .builder-layout-popover .builder-menu-record-actions button:hover {
  color: #1f5f94 !important;
  background: #eaf3fb !important;
  border-color: #2f78b7 !important;
}

.builder-layout-popover .builder-menu-popover-actions button:first-child, .builder-layout-popover .builder-theme-popover-save {
  color: #fff !important;
  background: #2f78b7 !important;
  border: 1px solid #2f78b7 !important;
}

.builder-layout-popover .builder-logo-picker .builder-media-btn {
  color: #fff !important;
  background: #2f78b7 !important;
  border: 1px solid #2f78b7 !important;
  border-radius: 8px !important;
  min-height: 40px !important;
  padding: 0 16px !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 8px #2f78b72e !important;
}

.builder-layout-popover .builder-logo-picker .builder-media-btn:hover, .builder-layout-popover .builder-theme-popover-save:hover {
  background: #25679f !important;
  border-color: #25679f !important;
}

.builder-layout-popover .theme-reset-btn {
  color: #334155 !important;
  background: #fff !important;
  border-color: #cbd8e6 !important;
}

.builder-layout-popover .theme-reset-btn:hover {
  color: #1f5f94 !important;
  background: #eaf3fb !important;
  border-color: #2f78b7 !important;
}

.builder-layout-popover .builder-menu-visible {
  color: #1f5f94 !important;
  background: #edf7ff !important;
  border-color: #b8d8f0 !important;
}

.builder-layout-popover .builder-menu-level {
  color: #475569 !important;
  background: #f1f5f9 !important;
}

.builder-layout-popover .builder-menu-record-actions .builder-menu-delete {
  color: #b42318 !important;
  background: #fff5f5 !important;
  border-color: #f2b8b8 !important;
}

.builder-layout-popover .builder-menu-record-actions .builder-menu-delete:hover {
  color: #fff !important;
  background: #b42318 !important;
  border-color: #b42318 !important;
}

.builder-layout-popover .builder-theme-popover-footer {
  background: #f8fafc !important;
  border-top: 1px solid #d8e1ec !important;
}

.builder-logo-modal-backdrop {
  background: #0f172a75;
  justify-content: center;
  align-items: center;
  padding: 24px;
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 2147483647 !important;
}

.builder-logo-modal {
  color: #1f2d3d;
  background: #fff;
  border: 1px solid #d8e1ec;
  border-radius: 10px;
  flex-direction: column;
  width: min(920px, 100vw - 48px);
  max-height: min(760px, 100vh - 48px);
  display: flex;
  overflow: hidden;
  box-shadow: 0 28px 70px #0f172a47;
}

.builder-logo-modal-header {
  background: #f8fafc;
  border-bottom: 1px solid #d8e1ec;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 18px 20px;
  display: flex;
}

.builder-logo-modal-header div {
  gap: 4px;
  display: grid;
}

.builder-logo-modal-header strong {
  color: #1f2d3d;
  font-size: 18px;
}

.builder-logo-modal-header span {
  color: #64748b;
  font-size: 13px;
}

.builder-logo-modal-header button {
  color: #334155;
  cursor: pointer;
  background: #fff;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
  width: 36px;
  height: 36px;
  font-size: 24px;
  line-height: 1;
}

.builder-logo-modal-actions {
  background: #fff;
  border-bottom: 1px solid #e5ebf2;
  gap: 10px;
  padding: 14px 20px;
  display: flex;
}

.builder-light-btn {
  color: #334155;
  cursor: pointer;
  background: #fff;
  border: 1px solid #cbd8e6;
  border-radius: 6px;
  min-height: 36px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 800;
}

.builder-light-btn:hover {
  color: #1f5f94;
  background: #eaf3fb;
  border-color: #2f78b7;
}

.builder-logo-asset-grid {
  background: #f8fafc;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 14px;
  padding: 20px;
  display: grid;
  overflow: auto;
}

.builder-logo-asset {
  color: #334155;
  text-align: left;
  background: #fff;
  border: 1px solid #d8e1ec;
  border-radius: 8px;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  display: grid;
}

.builder-logo-asset:hover, .builder-logo-asset.active {
  border-color: #2f78b7;
  box-shadow: 0 0 0 3px #2f78b71f;
}

.builder-logo-asset img {
  object-fit: contain;
  background-color: #fff;
  background-image: linear-gradient(45deg, #eef2f7 25%, #0000 25%), linear-gradient(-45deg, #eef2f7 25%, #0000 25%), linear-gradient(45deg, #0000 75%, #eef2f7 75%), linear-gradient(-45deg, #0000 75%, #eef2f7 75%);
  background-position: 0 0, 0 8px, 8px -8px, -8px 0;
  background-repeat: repeat, repeat, repeat, repeat;
  background-size: 16px 16px;
  background-attachment: scroll, scroll, scroll, scroll;
  background-origin: padding-box, padding-box, padding-box, padding-box;
  background-clip: border-box, border-box, border-box, border-box;
  border: 1px solid #e5ebf2;
  border-radius: 6px;
  width: 100%;
  height: 92px;
}

.builder-logo-asset span {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
  overflow: hidden;
}

.builder-logo-asset-actions {
  grid-template-columns: 1fr auto;
  gap: 8px;
  display: grid;
}

.builder-logo-asset-actions button {
  color: #334155;
  cursor: pointer;
  background: #f8fafc;
  border: 1px solid #cbd8e6;
  border-radius: 6px;
  min-height: 32px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 800;
}

.builder-logo-asset-actions button:hover {
  color: #1f5f94;
  background: #eaf3fb;
  border-color: #2f78b7;
}

.builder-logo-asset-actions button.danger {
  color: #b42318;
  background: #fff5f5;
  border-color: #f2b8b8;
}

.builder-logo-asset-actions button.danger:hover {
  color: #fff;
  background: #b42318;
  border-color: #b42318;
}

.builder-logo-empty {
  color: #64748b;
  text-align: center;
  background: #fff;
  border: 1px dashed #cbd8e6;
  border-radius: 8px;
  grid-column: 1 / -1;
  gap: 6px;
  padding: 40px 20px;
  display: grid;
}

.builder-logo-empty strong {
  color: #1f2d3d;
}

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

.rt-image-grid figure {
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  margin: 0;
  overflow: hidden;
  box-shadow: 0 12px 30px #15365814;
}

.rt-image-grid img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  display: block;
}

.rt-image-grid figcaption {
  color: #31587f;
  padding: 12px 14px;
  font-size: 15px;
  font-weight: 800;
}

.rt-visual-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.rt-visual-cards article {
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 14px 34px #15365814;
}

.rt-visual-cards img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  width: 100%;
  display: block;
}

.rt-visual-cards div {
  padding: 20px;
}

.rt-visual-cards h3 {
  color: #31587f;
  margin: 0 0 8px;
  font-size: 22px;
}

.rt-visual-cards p {
  color: #8291a8;
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
}

.rt-photo-band {
  grid-template-columns: 1.15fr .85fr;
  align-items: stretch;
  gap: 18px;
  display: grid;
}

.rt-photo-band img {
  object-fit: cover;
  border-radius: 8px;
  width: 100%;
  height: 100%;
  min-height: 360px;
  box-shadow: 0 18px 44px #1536581f;
}

.rt-photo-band .rt-band-copy {
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  flex-direction: column;
  justify-content: center;
  padding: 30px;
  display: flex;
}

.rt-photo-band h2 {
  margin-top: 0;
}

.rt-customer-showcase .rt-customer-strip {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
  display: flex;
}

.rt-customer-showcase .rt-customer-strip span {
  color: #31587f;
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 999px;
  align-items: center;
  min-height: 38px;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 800;
  display: inline-flex;
  box-shadow: 0 8px 18px #1536580f;
}

.rt-logo-wall {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.rt-client-logo {
  color: #8291a8;
  text-align: center;
  letter-spacing: .08em;
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  min-height: 92px;
  padding: 18px;
  font-size: 14px;
  font-weight: 800;
  display: flex;
  box-shadow: 0 12px 28px #1536580f;
}

.rt-client-logo img {
  object-fit: contain;
  max-width: 100%;
  max-height: 54px;
  display: block;
}

.manage-page {
  color: #1f2d3d;
  background: #f3f7fb;
  min-height: 100vh;
  padding: 56px 20px;
}

.manage-panel {
  background: #fff;
  border: 1px solid #d8e1ec;
  border-radius: 12px;
  width: min(1080px, 100%);
  margin: 0 auto;
  padding: 34px;
  box-shadow: 0 20px 54px #1536581a;
}

.manage-brand {
  border-bottom: 1px solid #e2e8f0;
  align-items: center;
  gap: 18px;
  padding-bottom: 24px;
  display: flex;
}

.manage-brand img {
  object-fit: contain;
  width: 160px;
  max-height: 56px;
}

.manage-brand span {
  color: #5d92c8;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 800;
}

.manage-brand h1 {
  color: #1f2d3d;
  margin: 4px 0 0;
  font-size: 32px;
}

.manage-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 26px;
  display: grid;
}

.manage-card {
  color: #1f2d3d;
  background: #f8fbff;
  border: 1px solid #d8e1ec;
  border-radius: 10px;
  min-height: 170px;
  padding: 24px;
  text-decoration: none;
  transition: transform .16s, box-shadow .16s, border-color .16s;
}

.manage-card:hover {
  border-color: #5d92c8;
  transform: translateY(-2px);
  box-shadow: 0 16px 34px #1536581f;
}

.manage-card.primary {
  background: #eef6ff;
}

.manage-card span {
  color: #5d92c8;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 800;
}

.manage-card strong {
  margin: 10px 0;
  font-size: 26px;
  display: block;
}

.manage-card small {
  color: #63758d;
  font-size: 15px;
  line-height: 1.7;
}

.manage-pages {
  border-top: 1px solid #e2e8f0;
  margin-top: 28px;
  padding-top: 24px;
}

.manage-pages h2 {
  color: #1f2d3d;
  margin: 0 0 14px;
  font-size: 20px;
}

.manage-pages div {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.manage-pages a {
  color: #31587f;
  background: #fff;
  border: 1px solid #d8e1ec;
  border-radius: 8px;
  align-items: center;
  min-height: 40px;
  padding: 8px 14px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
}

.manage-pages a:hover {
  background: #eef6ff;
  border-color: #5d92c8;
}

@media (max-width: 900px) {
  .rt-image-grid, .rt-visual-cards, .rt-photo-band {
    grid-template-columns: 1fr 1fr;
  }

  .rt-photo-band .rt-band-copy {
    grid-column: 1 / -1;
  }

  .rt-photo-band img {
    min-height: 240px;
  }

  .rt-logo-wall {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .manage-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .rt-image-grid, .rt-visual-cards, .rt-photo-band {
    grid-template-columns: 1fr;
  }

  .rt-logo-wall {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__06.-pfn._.css.map*/