/* ==========================================================================
   Buldok 3.0 — Emerald Obsidian (light-default surface)
   Lifted from the Buldok design-system bundle + the Land deals hi-fi.
   Section-scoped CSS lives in each module's module.css; this file is
   theme-wide tokens, base type, buttons, link helpers, and section primitive.
   ========================================================================== */

:root {
  /* ── Obsidian foundation (dark surfaces, used inside dark sections) ── */
  --obsidian:        #0B0F14;
  --onyx:            #11161D;
  --graphite:        #1A2129;
  --slate:           #2A333E;
  --pewter:          #4A5562;

  /* ── Alabaster foundation (light surfaces, default) ── */
  --alabaster:       #F7F8F5;
  --bone:            #FFFFFF;
  --pearl:           #EEF1EC;
  --ash:             #D7DCD3;
  --ash-soft:        #E6E9E2;

  /* ── Emerald accent ── */
  --emerald-glow:    #34F5B5;
  --emerald:         #10B981;
  --emerald-deep:    #059669;
  --emerald-shadow:  #065F46;
  --emerald-tint:    rgba(5, 150, 105, 0.08);
  --emerald-tint-2:  rgba(5, 150, 105, 0.14);

  /* ── Signal blue (secondary accent) ── */
  --signal-bright:   #79C0FF;
  --signal:          #58A6FF;
  --signal-deep:     #2563EB;
  --signal-tint:     rgba(37, 99, 235, 0.05);

  /* ── Alert / validation (used by inline form errors only — not for tone copy) ── */
  --alert-ink:       #B91C1C;
  --alert-bg:        #FEE2E2;
  --alert-border:    #FCA5A5;

  /* ── Ink (text on light) ── */
  --ink:             #0B0F14;
  --ink-2:           #2A333E;
  --ink-3:           #5C6772;
  --ink-4:           #8A929A;

  /* ── White / platinum (text on dark) ── */
  --white:           #FFFFFF;
  --platinum:        #E6E9EC;
  --silver:          #B7BFC8;
  --steel:           #7B8593;

  /* ── Semantic tokens — LIGHT DEFAULT ── */
  --bg:              var(--alabaster);
  --bg-elev:         var(--bone);
  --bg-tinted:       var(--pearl);

  --line:            var(--ash);
  --line-soft:       var(--ash-soft);
  --line-strong:     #BAC1B5;

  --focus-ring:      var(--emerald-deep);

  /* ── Typography ── */
  --font-display:    'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
  --font-body:       'DM Sans', ui-sans-serif, system-ui, sans-serif;
  --font-alt:        'Instrument Sans', ui-sans-serif, system-ui, sans-serif;
  --font-mono:       'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --fs-display:      64px;
  --fs-h1:           48px;
  --fs-h2:           36px;
  --fs-h3:           24px;
  --fs-h4:           18px;
  --fs-body-lg:      18px;
  --fs-body:         16px;
  --fs-small:        14px;
  --fs-caption:      13px;
  --fs-eyebrow:      12px;

  --lh-tight:        1.05;
  --lh-snug:         1.15;
  --lh-normal:       1.4;
  --lh-relaxed:      1.55;
  --lh-loose:        1.65;

  --ls-display:      -2px;
  --ls-h1:           -1.4px;
  --ls-h2:           -0.8px;
  --ls-h3:           -0.4px;
  --ls-eyebrow:      1.6px;

  --fw-regular:      400;
  --fw-medium:       500;
  --fw-semibold:     600;
  --fw-bold:         700;

  /* ── Spacing scale (8px-ish base, named s-1..s-10) ── */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px;
  --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;

  /* ── Radii ── */
  --radius-sm:       6px;
  --radius-md:       10px;
  --radius-lg:       14px;
  --radius-pill:     999px;

  /* ── Layout ── */
  --container-max:   1200px;
  --container-pad:   32px;

  /* ── Motion ── */
  --dur-fast:        150ms;
  --dur-normal:      200ms;
  --dur-slow:        250ms;
  --ease-smooth:     cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out:        cubic-bezier(0.22, 1, 0.36, 1);
  --dur-hero:        1600ms;
  --ease-overshoot:  cubic-bezier(0.34, 1.2, 0.5, 1);

  /* ── Shadows ── */
  --shadow-bar:      0 1px 0 rgba(11,15,20,0.04), 0 6px 24px rgba(11,15,20,0.06);
}

/* ── Dark-surface opt-in (used for footer band, future dark sections) ── */
[data-surface="dark"] {
  --bg:              var(--obsidian);
  --bg-elev:         var(--onyx);
  --bg-tinted:       var(--graphite);
  --line:            var(--graphite);
  --line-soft:       rgba(255, 255, 255, 0.06);
  --line-strong:     var(--slate);
  --ink:             var(--white);
  --ink-2:           var(--platinum);
  --ink-3:           var(--silver);
  --ink-4:           var(--steel);
  --focus-ring:      var(--emerald-glow);
}

/* ── Base ── */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }

body.buldok-body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-relaxed);
  color: var(--ink-2);
  background: var(--bg);
  text-rendering: optimizeLegibility;
}

button { font-family: inherit; cursor: pointer; }
img { max-width: 100%; display: block; }
ul, ol { padding: 0; margin: 0; list-style: none; }
a { color: inherit; }

*:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
  border-radius: 4px;
}

.buldok-container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-pad);
}

/* ── Type ── */
h1, h2, h3, h4 { margin: 0; }

.eyebrow {
  font-family: var(--font-display);
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-semibold);
  text-transform: uppercase;
  letter-spacing: var(--ls-eyebrow);
  color: var(--emerald-deep);
  display: inline-block;
  margin: 0 0 var(--s-3);
}

.h1 {
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  font-weight: var(--fw-bold);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-h1);
  color: var(--ink);
  text-wrap: balance;
  margin: 0 0 var(--s-4);
}
.h2 {
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-h2);
  color: var(--ink);
  text-wrap: balance;
  max-width: 24ch;
  margin: 0 0 var(--s-3);
}
.h2.wide { max-width: none; }
.h3 {
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: var(--fw-semibold);
  line-height: 1.2;
  letter-spacing: var(--ls-h3);
  color: var(--ink);
  margin: 0 0 var(--s-2);
}
.h4 {
  font-family: var(--font-display);
  font-size: var(--fs-h4);
  font-weight: var(--fw-semibold);
  line-height: 1.25;
  color: var(--ink);
  margin: 0 0 var(--s-2);
}
.lede {
  font-family: var(--font-body);
  font-size: var(--fs-body-lg);
  line-height: var(--lh-loose);
  color: var(--ink-2);
  max-width: 56ch;
  margin: 0 0 var(--s-5);
  text-wrap: pretty;
}
.small { font-size: var(--fs-small); color: var(--ink-3); }
.caption { font-size: var(--fs-caption); color: var(--ink-3); }
.mono { font-family: var(--font-mono); letter-spacing: 0.02em; }

@media (max-width: 1023px) {
  :root { --fs-h1: 40px; --fs-h2: 30px; --container-pad: 24px; }
}
@media (max-width: 767px) {
  :root { --fs-h1: 32px; --fs-h2: 24px; --fs-h3: 20px; --fs-h4: 17px; --fs-body-lg: 17px; }
  .h2 { max-width: none; }
}

/* ── Buttons ── */
.btn {
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  border-radius: var(--radius-md);
  cursor: pointer;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--bone);
  padding: 14px 22px;
  font-size: 15px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  white-space: nowrap;
  letter-spacing: -0.1px;
  text-decoration: none;
  transition:
    background var(--dur-fast) var(--ease-smooth),
    border-color var(--dur-fast) var(--ease-smooth),
    color var(--dur-fast) var(--ease-smooth),
    transform var(--dur-fast) var(--ease-smooth);
}
.btn:hover {
  background: var(--emerald-deep);
  border-color: var(--emerald-deep);
}
.btn:active {
  background: var(--emerald-shadow);
  border-color: var(--emerald-shadow);
  transform: translateY(1px);
}
.btn-sm { padding: 10px 16px; font-size: 14px; min-height: 40px; }
.btn-ghost {
  background: transparent;
  color: var(--ink);
  border-color: var(--line);
}
.btn-ghost:hover {
  border-color: var(--ink);
  background: var(--bg-elev);
  color: var(--ink);
}
.btn-ghost:active { background: var(--pearl); color: var(--ink); }

.link-arrow {
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-small);
  color: var(--ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color var(--dur-fast) var(--ease-smooth), gap var(--dur-fast) var(--ease-smooth);
}
.link-arrow::after {
  content: "→";
  display: inline-block;
  transition: transform var(--dur-fast) var(--ease-smooth);
}
.link-arrow:hover { color: var(--emerald-deep); }
.link-arrow:hover::after { transform: translateX(3px); }

/* ── Section primitive ── */
.section {
  padding: var(--s-9) 0;
  position: relative;
  background: var(--bg);
}
.section.tinted { background: var(--bg-tinted); }
.section.elev { background: var(--bg-elev); }

/* ── Per-module background selector (data-bg) ──
   Editor-driven section background so hiding/reordering modules doesn't
   break the alabaster/bone/pearl rhythm. Placed after .section so it wins
   the (0,1,0) specificity tie by source order. */
[data-bg="alabaster"] { background: var(--bg); }
[data-bg="bone"]      { background: var(--bg-elev); }
[data-bg="pearl"]     { background: var(--bg-tinted); }

.section-head { margin-bottom: var(--s-7); max-width: 720px; }

@media (max-width: 767px) {
  .section { padding: var(--s-7) 0; }
}

/* ── Blog card (shared component — used by blog-featured, blog-grid, post-related) ── */
.blog-card {
  background: var(--bone);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color var(--dur-normal) var(--ease-out), transform var(--dur-normal) var(--ease-out);
}
.blog-card:hover { border-color: var(--ink); transform: translateY(-2px); }
.blog-card__image { display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--pearl); }
.blog-card__image img { width: 100%; height: 100%; object-fit: cover; object-position: left top; transform-origin: left top; transition: transform var(--dur-slow) var(--ease-out); }
.blog-card:hover .blog-card__image img { transform: scale(1.03); }
.blog-card__placeholder {
  width: 100%; height: 100%;
  background: var(--pearl);
  background-image: radial-gradient(circle at 1px 1px, rgba(11,15,20,0.05) 1px, transparent 1px);
  background-size: 16px 16px;
}
.blog-card__body { padding: var(--s-4) var(--s-5) var(--s-5); display: flex; flex-direction: column; gap: var(--s-2); flex: 1; }
.blog-card__tags { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.blog-card__tag {
  font-family: var(--font-mono); font-size: 10px; font-weight: var(--fw-semibold);
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--emerald-deep);
  text-decoration: none; padding: 2px 8px; background: var(--emerald-tint);
  border-radius: var(--radius-sm); transition: background var(--dur-fast) var(--ease-smooth);
}
.blog-card__tag:hover { background: rgba(5,150,105,0.16); }
.blog-card__title {
  font-family: var(--font-display); font-size: 18px; font-weight: var(--fw-semibold);
  line-height: 1.3; letter-spacing: -0.3px; color: var(--ink);
  text-decoration: none; display: block; margin: var(--s-1) 0;
}
.blog-card__title:hover { color: var(--emerald-deep); }
.blog-card__excerpt {
  font-size: 14px; line-height: 1.55; color: var(--ink-2); margin: 0;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.blog-card__meta {
  margin-top: auto; padding-top: var(--s-3);
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-3);
  letter-spacing: 0.02em; display: flex; gap: var(--s-2); align-items: center;
}
.blog-card__sep { color: var(--ink-4); }

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* cb 1780131702 */


/* ============================================================
   Shared Dark Form Theme (.buldok-form-dark) — Emerald Obsidian port
   Wrap any HubSpot form embed container in class "buldok-form-dark".
   ============================================================ */
    text-align: center;
  }
}

/* ===================================
   Shared Dark Form Theme (.buldok-form-dark)
   Reusable HubSpot form styling for dark backgrounds.
   Usage: wrap HubSpot embed code in <div class="buldok-form-dark">
   Override --form-bg for label float background (default: --charcoal)
   =================================== */

.buldok-form-dark {
  isolation: isolate; /* real property — HubSpot's minifier strips rules with only custom properties */
  /* Ported from buldok-theme (v2) — re-tokenized for Emerald Obsidian.
     Override --form-bg to the host card background (label float chip). */
  --form-bg: var(--obsidian);
  --bfd-input-bg: rgba(255, 255, 255, 0.08);
  --bfd-border: rgba(255, 255, 255, 0.22);
  --bfd-text: var(--bone);
  --bfd-muted: rgba(255, 255, 255, 0.5);
  --bfd-accent: var(--emerald-glow);
  --bfd-accent-shadow: rgba(52, 245, 181, 0.16);
  --hsf-row__vertical-spacing: 0;
  --hsf-module__vertical-spacing: 0;
  --hsf-background__padding: 0;
  --hsf-background__background-color: transparent;
  --hsf-field-input__border-radius: 8px;
  --hsf-field-input__background-color: rgba(255, 255, 255, 0.08);
  --hsf-field-input__border-color: rgba(255, 255, 255, 0.22);
  --hsf-field-input__color: var(--bone);
  --hsf-field-input__placeholder-color: transparent;
  --hsf-field-input__padding: 16px;
  --hsf-button__background-color: var(--emerald);
  --hsf-button__color: #06251C;
  --hsf-button__border-radius: 8px;
  --hsf-button__font-weight: 700;
  --hsf-button__padding: 16px 32px;
}

.buldok-form-dark .hsfc-Form {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* Field Rows */
.buldok-form-dark .hsfc-Row,
.buldok-form-dark .hs-form-field {
  position: relative !important;
  margin-bottom: 20px !important;
}

.buldok-form-dark .hsfc-Row {
  display: flex !important;
  gap: 12px !important;
}

.buldok-form-dark .hsfc-Row > * {
  flex: 1 !important;
  min-width: 0 !important;
}

/* Floating Labels */
.buldok-form-dark .hsfc-FieldLabel,
.buldok-form-dark .hs-form-field > label {
  position: absolute !important;
  top: 26px !important;
  left: 16px !important;
  transform: translateY(-50%) !important;
  color: rgba(255, 255, 255, 0.5) !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  pointer-events: none !important;
  transition: top 0.2s cubic-bezier(0.4, 0, 0.2, 1),
              color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
              background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 1 !important;
  background: transparent !important;
  padding: 0 4px !important;
  margin: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Label floated state */
.buldok-form-dark .hsfc-Row:focus-within .hsfc-FieldLabel,
.buldok-form-dark .hs-form-field:focus-within > label,
.buldok-form-dark .hsfc-Row.has-value .hsfc-FieldLabel,
.buldok-form-dark .hs-form-field.has-value > label,
.buldok-form-dark [class*="Field"].has-value > .hsfc-FieldLabel {
  top: 0 !important;
  transform: translateY(-50%) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--emerald-glow) !important;
  background: #0E1B16 !important;
  letter-spacing: 0.3px !important;
}

/* Non-JS fallback */
.buldok-form-dark .hsfc-TextInput:not(:placeholder-shown) + .hsfc-FieldLabel,
.buldok-form-dark input:not(:placeholder-shown) ~ label {
  top: 0 !important;
  transform: translateY(-50%) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--emerald-glow) !important;
  background: #0E1B16 !important;
}

/* Browser autofill detection — float label when browser prefills */
.buldok-form-dark input:-webkit-autofill ~ label,
.buldok-form-dark input:-webkit-autofill + .hsfc-FieldLabel,
.buldok-form-dark .hs-form-field:has(input:-webkit-autofill) > label,
.buldok-form-dark .hsfc-Row:has(input:-webkit-autofill) .hsfc-FieldLabel {
  top: 0 !important;
  transform: translateY(-50%) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--emerald-glow) !important;
  background: #0E1B16 !important;
  letter-spacing: 0.3px !important;
}

/* Override browser autofill background to match dark theme */
.buldok-form-dark input:-webkit-autofill,
.buldok-form-dark input:-webkit-autofill:hover,
.buldok-form-dark input:-webkit-autofill:focus {
  -webkit-text-fill-color: #ffffff !important;
  -webkit-box-shadow: 0 0 0 1000px rgba(13, 17, 23, 0.9) inset !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* Label inside flex row fields */
.buldok-form-dark .hsfc-Row > .hsfc-Field,
.buldok-form-dark .hsfc-Row > [class*="Field"] {
  position: relative !important;
}

/* Textarea label */
.buldok-form-dark .hs-fieldtype-textarea .hsfc-FieldLabel,
.buldok-form-dark .hs-fieldtype-textarea > label,
.buldok-form-dark [class*="TextareaField"] .hsfc-FieldLabel {
  top: 16px !important;
  transform: none !important;
}

.buldok-form-dark .hs-fieldtype-textarea:focus-within .hsfc-FieldLabel,
.buldok-form-dark .hs-fieldtype-textarea:focus-within > label,
.buldok-form-dark .hs-fieldtype-textarea.has-value .hsfc-FieldLabel,
.buldok-form-dark .hs-fieldtype-textarea.has-value > label,
.buldok-form-dark [class*="TextareaField"]:focus-within .hsfc-FieldLabel,
.buldok-form-dark [class*="TextareaField"].has-value .hsfc-FieldLabel {
  top: -8px !important;
  transform: none !important;
}

/* Label as flex container for asterisk */
.buldok-form-dark .hsfc-FieldLabel,
.buldok-form-dark [class*="FieldLabel"]:not([class*="ErrorAlert"]):not([class*="RequiredIndicator"]) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
}

/* Required asterisk */
.buldok-form-dark .hs-form-required,
.buldok-form-dark .hsfc-FieldLabel__RequiredIndicator,
.buldok-form-dark [class*="RequiredIndicator"] {
  color: var(--emerald-glow) !important;
  position: static !important;
  display: inline !important;
  font-size: inherit !important;
  margin-left: 2px !important;
  transform: none !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
}

/* Inputs & Textareas */
.buldok-form-dark .hsfc-TextInput,
.buldok-form-dark .hs-input,
.buldok-form-dark input[type="text"],
.buldok-form-dark input[type="email"],
.buldok-form-dark input[type="tel"],
.buldok-form-dark input[type="url"],
.buldok-form-dark input[type="number"],
.buldok-form-dark input[type="date"],
.buldok-form-dark textarea {
  width: 100% !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid var(--bfd-border) !important;
  color: var(--bone) !important;
  padding: 16px !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* Hide native placeholder */
.buldok-form-dark .hsfc-TextInput::placeholder,
.buldok-form-dark .hs-input::placeholder,
.buldok-form-dark input::placeholder,
.buldok-form-dark textarea::placeholder {
  color: transparent !important;
}

/* Focus state */
.buldok-form-dark .hsfc-TextInput:focus,
.buldok-form-dark .hs-input:focus,
.buldok-form-dark input:focus,
.buldok-form-dark textarea:focus,
.buldok-form-dark select:focus {
  outline: none !important;
  border-color: var(--emerald-glow) !important;
  box-shadow: 0 0 0 3px var(--bfd-accent-shadow) !important;
}

/* Textarea specific */
.buldok-form-dark textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

/* Select / Dropdown */
.buldok-form-dark select,
.buldok-form-dark .hsfc-SelectInput {
  width: 100% !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid var(--bfd-border) !important;
  color: transparent !important;
  padding: 16px !important;
  padding-right: 48px !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238B949E' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
}

.buldok-form-dark .hs-form-field.has-value select,
.buldok-form-dark .hsfc-Row.has-value select,
.buldok-form-dark .hsfc-Row.has-value .hsfc-SelectInput,
.buldok-form-dark select:focus,
.buldok-form-dark .hsfc-SelectInput:focus {
  color: var(--bone) !important;
}

.buldok-form-dark select option[value=""] {
  color: rgba(255, 255, 255, 0.5) !important;
}

.buldok-form-dark select option {
  color: var(--bone) !important;
  background: #0E1B16 !important;
}

/* Checkboxes */
.buldok-form-dark input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--emerald-glow) !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

.buldok-form-dark .hs-form-booleancheckbox-display,
.buldok-form-dark .hsfc-CheckboxField,
.buldok-form-dark .hs-form-checkbox-display {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.65) !important;
  cursor: pointer !important;
}

.buldok-form-dark .hs-form-checkbox,
.buldok-form-dark .hs-form-booleancheckbox {
  margin-bottom: 8px !important;
}

/* Radio Buttons */
.buldok-form-dark input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--emerald-glow) !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

.buldok-form-dark .hs-form-radio-display {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.65) !important;
  cursor: pointer !important;
  margin-bottom: 8px !important;
}

/* Radio/Checkbox group labels (not floating) */
.buldok-form-dark .hs-fieldtype-radio > label,
.buldok-form-dark .hs-fieldtype-checkbox > label,
.buldok-form-dark .hs-fieldtype-booleancheckbox > label {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  pointer-events: auto !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.65) !important;
  margin-bottom: 10px !important;
  display: block !important;
  background: transparent !important;
}

/* Date Picker */
.buldok-form-dark input[type="date"] {
  color-scheme: dark !important;
}

/* Legal Consent / GDPR */
.buldok-form-dark .legal-consent-container,
.buldok-form-dark .hs-richtext {
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin-bottom: 16px !important;
}

.buldok-form-dark .legal-consent-container a {
  color: var(--emerald-glow) !important;
}

/* Submit Button */
.buldok-form-dark .hsfc-Button,
.buldok-form-dark .hs-button,
.buldok-form-dark button[type="submit"],
.buldok-form-dark input[type="submit"] {
  width: 100% !important;
  background-color: var(--emerald-glow) !important;
  background: var(--emerald-glow) !important;
  border: none !important;
  color: #06251C !important;
  font-family: var(--font-display) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 16px 32px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  margin-top: 8px !important;
}

.buldok-form-dark .hsfc-Button:hover,
.buldok-form-dark .hs-button:hover,
.buldok-form-dark button[type="submit"]:hover,
.buldok-form-dark input[type="submit"]:hover {
  background-color: var(--emerald) !important;
  background: var(--emerald) !important;
  transform: translateY(-2px) !important;
}

/* Navigation row */
.buldok-form-dark .hsfc-NavigationRow,
.buldok-form-dark .hsfc-NavigationRow__Buttons,
.buldok-form-dark .hs-submit {
  width: 100% !important;
}

/* Fieldset resets */
.buldok-form-dark fieldset {
  max-width: 100% !important;
  width: 100% !important;
}

.buldok-form-dark .hs-input {
  width: 100% !important;
}

/* Validation Icons - Hide */
.buldok-form-dark .hsfc-FieldValidationIcon,
.buldok-form-dark [class*="ValidationIcon"] {
  display: none !important;
}

/* Error Messages */
.buldok-form-dark .hs-error-msgs,
.buldok-form-dark .hs-error-msg,
.buldok-form-dark .hsfc-ErrorMessage,
.buldok-form-dark .hsfc-ErrorAlert,
.buldok-form-dark [class*="ErrorAlert"] {
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  color: var(--error) !important;
  margin-top: 4px !important;
  padding-left: 4px !important;
}

/* Error input border */
.buldok-form-dark .hsfc-TextInput[aria-invalid="true"],
.buldok-form-dark .hs-input.error,
.buldok-form-dark input.invalid {
  border-color: var(--error) !important;
}

/* Success / Thank You */
.buldok-form-dark .submitted-message,
.buldok-form-dark .hsfc-SuccessMessage {
  text-align: center !important;
  padding: var(--space-lg) var(--space-sm) !important;
  color: var(--emerald-glow) !important;
  font-family: var(--font-body) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

/* File Upload */
.buldok-form-dark input[type="file"] {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.65) !important;
  padding: 12px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px dashed var(--bfd-border) !important;
  border-radius: 8px !important;
  width: 100% !important;
  cursor: pointer !important;
}

.buldok-form-dark input[type="file"]::file-selector-button {
  background: rgba(255, 255, 255, 0.22) !important;
  color: var(--bone) !important;
  border: none !important;
  padding: 8px 16px !important;
  border-radius: 4px !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  margin-right: 12px !important;
}
/* cb 1783426877 */
/* cb 1783427581 */
/* cb 1783428092 */
/* cb 1783428229 */
/* cb 1783428319 */

/* ── form-dark: new-renderer (hsfc) geometry + error visibility ── */
.buldok-form-dark .hsfc-Step__Content { padding: 0 !important; }
.buldok-form-dark .hsfc-Row:has(> input[type="hidden"]:only-child) { margin: 0 !important; }
.buldok-form-dark .hs-form-field:has(input[type="hidden"]:only-child) { margin: 0 !important; }
.buldok-form-dark .hsfc-NavigationRow__Alerts:empty { margin: 0 !important; }
.buldok-form-dark .hsfc-Button { width: 100% !important; }
.buldok-form-dark .hsfc-NavigationRow { margin-top: 0 !important; }

.buldok-form-dark .hs-error-msgs,
.buldok-form-dark .hs-error-msgs label,
.buldok-form-dark .hs-error-msg,
.buldok-form-dark .hs_error_rollup label,
.buldok-form-dark [class*="ErrorAlert"],
.buldok-form-dark .hsfc-NavigationRow__Alerts,
.buldok-form-dark [class*="FieldAlert"] {
  color: #FDA4AF !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 6px 0 0 !important;
}
.buldok-form-dark .hs-input.invalid,
.buldok-form-dark .hs-input.error,
.buldok-form-dark [aria-invalid="true"] {
  border-color: rgba(253, 164, 175, 0.65) !important;
}
/* cb 1783431216 */
/* cb 1783431347 */

/* ============================================================
   Glass image float (.buldok-glass-frame) — no box, no padding:
   the image itself floats on a layered emerald light-and-shadow
   bed (blurred glow beneath + deep elevation shadows + hairline
   edge). Redesigned 2026-07-07: the earlier dark glass slab ate
   dark image edges — effect now lives UNDER the image only.
   Wrap: <div class="buldok-glass-frame"><img ...></div>
   ============================================================ */
.buldok-glass-frame {
  position: relative;
  transition: transform 400ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.buldok-glass-frame > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(11, 15, 20, 0.10);
  position: relative;
  z-index: 1;
  box-shadow:
    0 2px 6px rgba(4, 20, 15, 0.08),
    0 14px 34px rgba(4, 20, 15, 0.16),
    0 32px 70px rgba(4, 20, 15, 0.18);
  transition: box-shadow 400ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
/* the "glass light" beneath: blurred emerald wash the image floats over */
.buldok-glass-frame::before {
  content: "";
  position: absolute;
  left: 6%;
  right: 6%;
  bottom: -6%;
  height: 55%;
  background: radial-gradient(ellipse 70% 60% at 50% 100%, rgba(16, 185, 129, 0.35), rgba(52, 245, 181, 0.12) 55%, transparent 75%);
  filter: blur(28px);
  z-index: 0;
  pointer-events: none;
}
.buldok-glass-frame:hover { transform: translateY(-3px); }
.buldok-glass-frame:hover > img {
  box-shadow:
    0 2px 6px rgba(4, 20, 15, 0.08),
    0 18px 40px rgba(4, 20, 15, 0.18),
    0 42px 90px rgba(4, 20, 15, 0.22);
}
@media (prefers-reduced-motion: reduce) {
  .buldok-glass-frame, .buldok-glass-frame:hover { transition: none; transform: none; }
}
/* cb 1783439651 */
/* cb 1783440364 */

/* ── Rich-text lists (systemic) ─────────────────────────────
   The global reset strips list-style everywhere. Richtext-field
   lists carry NO class; hand-built module lists always do — so
   unclassed lists are, by construction, editor content. */
ul:not([class]) { list-style: disc outside; padding-left: 22px; margin: 0 0 var(--s-4); }
ul:not([class]) ul:not([class]) { list-style: circle outside; margin: var(--s-1) 0 0; }
ol:not([class]) { list-style: decimal outside; padding-left: 22px; margin: 0 0 var(--s-4); }
ul:not([class]) li, ol:not([class]) li { margin-bottom: var(--s-1); }
ul:not([class]) li::marker { color: var(--emerald-deep); }
[data-surface="dark"] ul:not([class]) li::marker { color: var(--emerald-glow); }
/* cb 1783440855 */