/* ============================================================
   Bloom PR — Webfonts
   Brand typeface: SPACE GROTESK (Google Fonts / Adobe Fonts)
   Used for BOTH titles and body. Titles: Bold, UPPERCASE.
   Weights in use: 300 (Clara), 400 (Normal), 500 (Média), 600 (Seminegrito), 700 (Bold).
   Loaded from Google Fonts CDN so consumers get the real binaries.
   ============================================================ */
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/vendor/91e065fa-6487-4d9e-9622-f3e86a5ef1cf.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/vendor/0f452a9c-091d-44f6-a1aa-5ff2b6bdb79e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/vendor/03395581-87a6-4708-85b5-bbf7376e5072.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/vendor/91e065fa-6487-4d9e-9622-f3e86a5ef1cf.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/vendor/0f452a9c-091d-44f6-a1aa-5ff2b6bdb79e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/vendor/03395581-87a6-4708-85b5-bbf7376e5072.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/vendor/91e065fa-6487-4d9e-9622-f3e86a5ef1cf.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/vendor/0f452a9c-091d-44f6-a1aa-5ff2b6bdb79e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/vendor/03395581-87a6-4708-85b5-bbf7376e5072.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/vendor/91e065fa-6487-4d9e-9622-f3e86a5ef1cf.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/vendor/0f452a9c-091d-44f6-a1aa-5ff2b6bdb79e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/vendor/03395581-87a6-4708-85b5-bbf7376e5072.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/vendor/91e065fa-6487-4d9e-9622-f3e86a5ef1cf.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/vendor/0f452a9c-091d-44f6-a1aa-5ff2b6bdb79e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/vendor/03395581-87a6-4708-85b5-bbf7376e5072.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================
   Bloom PR — Color tokens
   Source: Manual de Identidade Visual (Maio 2026), §3 Cores
   The official color is VERDE LIMA — vibrant, fresh, potent.
   Black is institutional (the weight of Grupo In Press).
   Cream + White are complementary support colors.
   ============================================================ */
:root {
  /* ---- Brand base palette ---- */
  --lime: #DBDB4B;          /* Verde Lima — official brand color */
  --black: #000000;         /* Preto — institutional */
  --cream: #EFE7D5;         /* Creme — complementary support */
  --white: #FFFFFF;         /* Branco — complementary support */

  /* ---- Lime tonal ramp (derived from --lime for UI states) ---- */
  --lime-700: #9A9A24;      /* pressed / deep accent on light */
  --lime-600: #B8B834;      /* hover on light surfaces */
  --lime-500: #DBDB4B;      /* = --lime, default */
  --lime-300: #E8E889;      /* soft fill */
  --lime-100: #F4F4C8;      /* faint tint / wash */

  /* ---- Cream / neutral ramp ---- */
  --cream-300: #E2D9C2;     /* cream borders, dividers */
  --cream-200: #EFE7D5;     /* = --cream */
  --cream-100: #F6F1E6;     /* lightest cream surface */

  /* ---- Ink / graphite ramp (warm-leaning blacks) ---- */
  --ink-900: #000000;       /* = --black */
  --ink-700: #1C1C18;       /* near-black text on cream */
  --ink-500: #4A4A42;       /* secondary text */
  --ink-300: #8C8C82;       /* tertiary / muted text */
  --ink-100: #C7C7BD;       /* faint lines on dark */

  /* ---- Gradient (Verde Lima -> Creme): the "gateway" motif ---- */
  --gradient-bloom: linear-gradient(90deg, var(--lime) 0%, var(--cream) 100%);
  --gradient-bloom-diag: linear-gradient(120deg, var(--lime) 0%, var(--cream) 100%);

  /* ============================================================
     Semantic aliases — reference these in components
     ============================================================ */
  /* Surfaces */
  --surface-page: var(--cream-100);     /* default app background */
  --surface-card: var(--white);         /* raised card */
  --surface-inverse: var(--black);      /* dark / institutional panels */
  --surface-accent: var(--lime);        /* lime fill block */
  --surface-muted: var(--cream-200);    /* subtle fill */

  /* Text */
  --text-primary: var(--ink-700);       /* body / headings on light */
  --text-secondary: var(--ink-500);
  --text-muted: var(--ink-300);
  --text-on-lime: var(--black);         /* always black on lime */
  --text-on-dark: var(--cream-100);     /* cream-white on black */
  --text-inverse: var(--white);

  /* Lines / borders */
  --border-subtle: var(--cream-300);
  --border-strong: var(--ink-700);
  --border-on-dark: rgba(239,231,213,0.18);

  /* Interactive accent */
  --accent: var(--lime);
  --accent-hover: var(--lime-600);
  --accent-press: var(--lime-700);
  --focus-ring: rgba(219,219,75,0.55);
}

/* ============================================================
   Bloom PR — Typography tokens
   One typeface, Space Grotesk, across the whole system.
   Titles favour Bold + UPPERCASE with tight tracking.
   Body runs in Regular/Medium, sentence case, generous leading.
   ============================================================ */
:root {
  /* ---- Families ---- */
  --font-sans: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --font-display: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'Space Grotesk', ui-monospace, 'SF Mono', Menlo, monospace;

  /* ---- Weights ---- */
  --weight-light: 300;     /* Clara */
  --weight-regular: 400;   /* Normal */
  --weight-medium: 500;    /* Média */
  --weight-semibold: 600;  /* Seminegrito */
  --weight-bold: 700;      /* Bold — titles */

  /* ---- Type scale (1.25 major-third, rounded) ---- */
  --text-2xs: 11px;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-md: 18px;
  --text-lg: 22px;
  --text-xl: 28px;
  --text-2xl: 36px;
  --text-3xl: 48px;
  --text-4xl: 64px;
  --text-5xl: 88px;
  --text-6xl: 120px;

  /* ---- Line heights ---- */
  --leading-tight: 1.02;   /* big display titles */
  --leading-snug: 1.15;    /* headings */
  --leading-normal: 1.45;  /* body */
  --leading-relaxed: 1.6;  /* long-form body */

  /* ---- Letter spacing ---- */
  --tracking-tight: -0.02em;   /* large display */
  --tracking-normal: 0em;
  --tracking-wide: 0.04em;
  --tracking-caps: 0.14em;     /* uppercase labels / kickers */

  /* ============================================================
     Semantic type roles
     ============================================================ */
  --display-font: var(--weight-bold) var(--text-5xl)/var(--leading-tight) var(--font-display);
  --h1-font: var(--weight-bold) var(--text-3xl)/var(--leading-snug) var(--font-display);
  --h2-font: var(--weight-bold) var(--text-2xl)/var(--leading-snug) var(--font-display);
  --h3-font: var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-sans);
  --body-font: var(--weight-regular) var(--text-base)/var(--leading-normal) var(--font-sans);
  --body-lg-font: var(--weight-regular) var(--text-md)/var(--leading-relaxed) var(--font-sans);
  --label-font: var(--weight-medium) var(--text-sm)/1.2 var(--font-sans);
  --kicker-font: var(--weight-bold) var(--text-xs)/1.2 var(--font-sans);  /* + uppercase + tracking-caps */
}

/* ============================================================
   Bloom PR — Spacing, radii, shadows, motion
   The brand reads as raw, organic, robust: spacing is generous,
   corners lean toward soft pill/organic radii on shapes but stay
   modest on functional UI. Shadows are quiet (editorial, premium).
   ============================================================ */
:root {
  /* ---- Spacing scale (4px base) ---- */
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  /* ---- Radii ---- */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 28px;
  --radius-pill: 999px;      /* organic capsule — echoes the shapes */
  --radius-blob: 48% 52% 56% 44% / 52% 44% 56% 48%;  /* organic shape */

  /* ---- Borders ---- */
  --border-width: 1px;
  --border-width-strong: 2px;

  /* ---- Shadows (warm, low, editorial) ---- */
  --shadow-xs: 0 1px 2px rgba(28,28,24,0.06);
  --shadow-sm: 0 2px 8px rgba(28,28,24,0.08);
  --shadow-md: 0 8px 24px rgba(28,28,24,0.10);
  --shadow-lg: 0 18px 48px rgba(28,28,24,0.14);
  --shadow-lime: 0 8px 28px rgba(219,219,75,0.40);  /* glow under lime CTAs */

  /* ---- Motion (calm, confident — no bounce) ---- */
  --ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1); /* @kind other */
  --ease-in: cubic-bezier(0.4, 0, 1, 1); /* @kind other */
  --ease-out: cubic-bezier(0, 0, 0.2, 1); /* @kind other */
  --duration-fast: 120ms; /* @kind other */
  --duration-base: 200ms; /* @kind other */
  --duration-slow: 360ms; /* @kind other */

  /* ---- Layout ---- */
  --container-sm: 640px;
  --container-md: 960px;
  --container-lg: 1200px;
  --container-xl: 1440px;
}

/* ============================================================
   Bloom PR — Base element styles
   Light reset + brand defaults applied to bare HTML so specimen
   cards and kits inherit the right type/color without classes.
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font: var(--body-font);
  color: var(--text-primary);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  margin: 0 0 0.4em;
  color: var(--text-primary);
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  line-height: var(--leading-snug);
  text-wrap: balance;
}
h1 { font-size: var(--text-3xl); line-height: var(--leading-tight); }
h2 { font-size: var(--text-2xl); }
h3 { font-size: var(--text-xl); font-weight: var(--weight-semibold); }

p { margin: 0 0 1em; text-wrap: pretty; }

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

/* Brand kicker / eyebrow — uppercase tracked label */
.bloom-kicker {
  font: var(--kicker-font);
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
  color: var(--text-secondary);
}

::selection { background: var(--lime); color: var(--black); }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* ============================================================
   Bloom PR — Design System
   Global stylesheet entry point. This is the single file
   consumers link. Keep it as @import lines only.
   ============================================================ */
/* ============================================================
   Bloom PR — Webfonts
   Brand typeface: SPACE GROTESK (Google Fonts / Adobe Fonts)
   Used for BOTH titles and body. Titles: Bold, UPPERCASE.
   Weights in use: 300 (Clara), 400 (Normal), 500 (Média), 600 (Seminegrito), 700 (Bold).
   Loaded from Google Fonts CDN so consumers get the real binaries.
   ============================================================ */
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/vendor/91e065fa-6487-4d9e-9622-f3e86a5ef1cf.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/vendor/0f452a9c-091d-44f6-a1aa-5ff2b6bdb79e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/vendor/03395581-87a6-4708-85b5-bbf7376e5072.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/vendor/91e065fa-6487-4d9e-9622-f3e86a5ef1cf.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/vendor/0f452a9c-091d-44f6-a1aa-5ff2b6bdb79e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/vendor/03395581-87a6-4708-85b5-bbf7376e5072.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/vendor/91e065fa-6487-4d9e-9622-f3e86a5ef1cf.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/vendor/0f452a9c-091d-44f6-a1aa-5ff2b6bdb79e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/vendor/03395581-87a6-4708-85b5-bbf7376e5072.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/vendor/91e065fa-6487-4d9e-9622-f3e86a5ef1cf.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/vendor/0f452a9c-091d-44f6-a1aa-5ff2b6bdb79e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/vendor/03395581-87a6-4708-85b5-bbf7376e5072.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/vendor/91e065fa-6487-4d9e-9622-f3e86a5ef1cf.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/vendor/0f452a9c-091d-44f6-a1aa-5ff2b6bdb79e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/vendor/03395581-87a6-4708-85b5-bbf7376e5072.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ============================================================
   Bloom PR — Color tokens
   Source: Manual de Identidade Visual (Maio 2026), §3 Cores
   The official color is VERDE LIMA — vibrant, fresh, potent.
   Black is institutional (the weight of Grupo In Press).
   Cream + White are complementary support colors.
   ============================================================ */
:root {
  /* ---- Brand base palette ---- */
  --lime: #DBDB4B;          /* Verde Lima — official brand color */
  --black: #000000;         /* Preto — institutional */
  --cream: #EFE7D5;         /* Creme — complementary support */
  --white: #FFFFFF;         /* Branco — complementary support */

  /* ---- Lime tonal ramp (derived from --lime for UI states) ---- */
  --lime-700: #9A9A24;      /* pressed / deep accent on light */
  --lime-600: #B8B834;      /* hover on light surfaces */
  --lime-500: #DBDB4B;      /* = --lime, default */
  --lime-300: #E8E889;      /* soft fill */
  --lime-100: #F4F4C8;      /* faint tint / wash */

  /* ---- Cream / neutral ramp ---- */
  --cream-300: #E2D9C2;     /* cream borders, dividers */
  --cream-200: #EFE7D5;     /* = --cream */
  --cream-100: #F6F1E6;     /* lightest cream surface */

  /* ---- Ink / graphite ramp (warm-leaning blacks) ---- */
  --ink-900: #000000;       /* = --black */
  --ink-700: #1C1C18;       /* near-black text on cream */
  --ink-500: #4A4A42;       /* secondary text */
  --ink-300: #8C8C82;       /* tertiary / muted text */
  --ink-100: #C7C7BD;       /* faint lines on dark */

  /* ---- Gradient (Verde Lima -> Creme): the "gateway" motif ---- */
  --gradient-bloom: linear-gradient(90deg, var(--lime) 0%, var(--cream) 100%);
  --gradient-bloom-diag: linear-gradient(120deg, var(--lime) 0%, var(--cream) 100%);

  /* ============================================================
     Semantic aliases — reference these in components
     ============================================================ */
  /* Surfaces */
  --surface-page: var(--cream-100);     /* default app background */
  --surface-card: var(--white);         /* raised card */
  --surface-inverse: var(--black);      /* dark / institutional panels */
  --surface-accent: var(--lime);        /* lime fill block */
  --surface-muted: var(--cream-200);    /* subtle fill */

  /* Text */
  --text-primary: var(--ink-700);       /* body / headings on light */
  --text-secondary: var(--ink-500);
  --text-muted: var(--ink-300);
  --text-on-lime: var(--black);         /* always black on lime */
  --text-on-dark: var(--cream-100);     /* cream-white on black */
  --text-inverse: var(--white);

  /* Lines / borders */
  --border-subtle: var(--cream-300);
  --border-strong: var(--ink-700);
  --border-on-dark: rgba(239,231,213,0.18);

  /* Interactive accent */
  --accent: var(--lime);
  --accent-hover: var(--lime-600);
  --accent-press: var(--lime-700);
  --focus-ring: rgba(219,219,75,0.55);
}

/* ============================================================
   Bloom PR — Typography tokens
   One typeface, Space Grotesk, across the whole system.
   Titles favour Bold + UPPERCASE with tight tracking.
   Body runs in Regular/Medium, sentence case, generous leading.
   ============================================================ */
:root {
  /* ---- Families ---- */
  --font-sans: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --font-display: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'Space Grotesk', ui-monospace, 'SF Mono', Menlo, monospace;

  /* ---- Weights ---- */
  --weight-light: 300;     /* Clara */
  --weight-regular: 400;   /* Normal */
  --weight-medium: 500;    /* Média */
  --weight-semibold: 600;  /* Seminegrito */
  --weight-bold: 700;      /* Bold — titles */

  /* ---- Type scale (1.25 major-third, rounded) ---- */
  --text-2xs: 11px;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-md: 18px;
  --text-lg: 22px;
  --text-xl: 28px;
  --text-2xl: 36px;
  --text-3xl: 48px;
  --text-4xl: 64px;
  --text-5xl: 88px;
  --text-6xl: 120px;

  /* ---- Line heights ---- */
  --leading-tight: 1.02;   /* big display titles */
  --leading-snug: 1.15;    /* headings */
  --leading-normal: 1.45;  /* body */
  --leading-relaxed: 1.6;  /* long-form body */

  /* ---- Letter spacing ---- */
  --tracking-tight: -0.02em;   /* large display */
  --tracking-normal: 0em;
  --tracking-wide: 0.04em;
  --tracking-caps: 0.14em;     /* uppercase labels / kickers */

  /* ============================================================
     Semantic type roles
     ============================================================ */
  --display-font: var(--weight-bold) var(--text-5xl)/var(--leading-tight) var(--font-display);
  --h1-font: var(--weight-bold) var(--text-3xl)/var(--leading-snug) var(--font-display);
  --h2-font: var(--weight-bold) var(--text-2xl)/var(--leading-snug) var(--font-display);
  --h3-font: var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-sans);
  --body-font: var(--weight-regular) var(--text-base)/var(--leading-normal) var(--font-sans);
  --body-lg-font: var(--weight-regular) var(--text-md)/var(--leading-relaxed) var(--font-sans);
  --label-font: var(--weight-medium) var(--text-sm)/1.2 var(--font-sans);
  --kicker-font: var(--weight-bold) var(--text-xs)/1.2 var(--font-sans);  /* + uppercase + tracking-caps */
}

/* ============================================================
   Bloom PR — Spacing, radii, shadows, motion
   The brand reads as raw, organic, robust: spacing is generous,
   corners lean toward soft pill/organic radii on shapes but stay
   modest on functional UI. Shadows are quiet (editorial, premium).
   ============================================================ */
:root {
  /* ---- Spacing scale (4px base) ---- */
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  /* ---- Radii ---- */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 28px;
  --radius-pill: 999px;      /* organic capsule — echoes the shapes */
  --radius-blob: 48% 52% 56% 44% / 52% 44% 56% 48%;  /* organic shape */

  /* ---- Borders ---- */
  --border-width: 1px;
  --border-width-strong: 2px;

  /* ---- Shadows (warm, low, editorial) ---- */
  --shadow-xs: 0 1px 2px rgba(28,28,24,0.06);
  --shadow-sm: 0 2px 8px rgba(28,28,24,0.08);
  --shadow-md: 0 8px 24px rgba(28,28,24,0.10);
  --shadow-lg: 0 18px 48px rgba(28,28,24,0.14);
  --shadow-lime: 0 8px 28px rgba(219,219,75,0.40);  /* glow under lime CTAs */

  /* ---- Motion (calm, confident — no bounce) ---- */
  --ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1); /* @kind other */
  --ease-in: cubic-bezier(0.4, 0, 1, 1); /* @kind other */
  --ease-out: cubic-bezier(0, 0, 0.2, 1); /* @kind other */
  --duration-fast: 120ms; /* @kind other */
  --duration-base: 200ms; /* @kind other */
  --duration-slow: 360ms; /* @kind other */

  /* ---- Layout ---- */
  --container-sm: 640px;
  --container-md: 960px;
  --container-lg: 1200px;
  --container-xl: 1440px;
}

/* ============================================================
   Bloom PR — Base element styles
   Light reset + brand defaults applied to bare HTML so specimen
   cards and kits inherit the right type/color without classes.
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font: var(--body-font);
  color: var(--text-primary);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  margin: 0 0 0.4em;
  color: var(--text-primary);
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  line-height: var(--leading-snug);
  text-wrap: balance;
}
h1 { font-size: var(--text-3xl); line-height: var(--leading-tight); }
h2 { font-size: var(--text-2xl); }
h3 { font-size: var(--text-xl); font-weight: var(--weight-semibold); }

p { margin: 0 0 1em; text-wrap: pretty; }

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

/* Brand kicker / eyebrow — uppercase tracked label */
.bloom-kicker {
  font: var(--kicker-font);
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
  color: var(--text-secondary);
}

::selection { background: var(--lime); color: var(--black); }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

html { scroll-behavior: smooth; }
  html { margin: 0; background: var(--cream-100); color: var(--text-primary); font-family: var(--font-sans); }
  body { margin: 0; background: transparent; color: var(--text-primary); font-family: var(--font-sans); }
  #app { min-height: 100vh; overflow-x: hidden; }
  a { text-decoration: none; }
  ::selection { background: var(--lime); color: var(--black); }

  @media (max-width: 860px) {
    .bloom-desktop-nav { display: none !important; }
    .bloom-burger { display: inline-flex !important; }
    .bloom-two-col { grid-template-columns: 1fr !important; }
    .bloom-clients-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .bloom-client-cell { border-right: 1px solid var(--border-subtle) !important; }
    .bloom-services-grid { grid-template-columns: repeat(2, 1fr) !important; }
  }
  @media (max-width: 860px) {
    .bloom-footer-offices { grid-template-columns: repeat(2, 1fr) !important; }
  }
  @media (max-width: 700px) {
    .bloom-footer-top { grid-template-columns: 1fr !important; }
    .bloom-footer-top > div:first-child { grid-column: auto !important; }
  }
  .bloom-social-link:hover { transform: scale(1.08); background: var(--lime-600); }
  .bloom-cover:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
  .bloom-stat + .bloom-stat{border-left:1px solid rgba(0,0,0,0.16)}
  @media (max-width:760px){.bloom-stats{grid-template-columns:1fr !important}.bloom-stat+.bloom-stat{border-left:none;border-top:1px solid rgba(0,0,0,0.16);padding-top:32px !important;margin-top:32px}}
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease-standard),transform .7s var(--ease-standard)}
  .reveal.in{opacity:1;transform:none}
  @keyframes bloomRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
  .hero-rise{opacity:0;animation:bloomRise .85s var(--ease-standard) forwards}
  .bloom-ghost-btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 26px;border:2px solid rgba(255,255,255,0.7);border-radius:var(--radius-pill);color:#fff;font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-base);letter-spacing:0.01em;cursor:pointer;background:rgba(255,255,255,0.08);transition:background var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}
  .bloom-ghost-btn:hover{background:rgba(255,255,255,0.18);border-color:#fff}
  @media (prefers-reduced-motion: reduce){.reveal,.hero-rise{opacity:1 !important;transform:none !important;animation:none !important;transition:none !important}}
  @media (max-width: 600px) {
    .bloom-social-rail { flex-direction: row !important; top: auto !important; bottom: 16px !important; right: 50% !important; transform: translateX(50%) !important; }
    .bloom-services-grid { grid-template-columns: 1fr !important; }
  }

  /* ============================================================
     Bloom PR — Static components (Header, Button, Card, Input, Kicker)
     Vanilla replacements for what used to be React components.
     ============================================================ */
  .bloom-header {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100; height: 72px;
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
    padding: 0 clamp(20px, 5vw, 56px);
    background: rgba(246,241,230,0);
    border-bottom: 1px solid transparent;
    transition: background var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard);
  }
  .bloom-header.is-scrolled {
    background: rgba(246,241,230,0.86);
    -webkit-backdrop-filter: saturate(150%) blur(12px);
    backdrop-filter: saturate(150%) blur(12px);
    border-bottom-color: var(--border-subtle);
  }
  .bloom-header .logo-dark { display: none; }
  .bloom-header.is-scrolled .logo-white { display: none !important; }
  .bloom-header.is-scrolled .logo-dark { display: block !important; }
  .bloom-header .logo-divider { background: var(--cream-100); opacity: 0.5; }
  .bloom-header.is-scrolled .logo-divider { background: var(--ink-300); }

  .bloom-header .nav-link {
    display: inline-block; font-family: var(--font-sans); font-weight: var(--weight-medium);
    font-size: var(--text-sm); color: rgba(255,255,255,0.78); cursor: pointer; padding-bottom: 4px;
    border-bottom: 2px solid transparent; text-decoration: none;
    transition: color var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard);
  }
  .bloom-header .nav-link.is-active { color: var(--white); border-bottom-color: var(--lime); }
  .bloom-header.is-scrolled .nav-link { color: var(--ink-500); }
  .bloom-header.is-scrolled .nav-link.is-active { color: var(--ink-900); }

  .bloom-burger { display: none; background: none; border: none; cursor: pointer; padding: 8px; color: var(--white); }
  .bloom-header.is-scrolled .bloom-burger { color: var(--ink-900); }

  .bloom-mobile-menu {
    position: fixed; top: 72px; left: 0; right: 0; bottom: 0; display: none; z-index: 99;
    background: var(--cream-100); overflow-y: auto;
    flex-direction: column; justify-content: center; gap: 4px; padding: 24px 24px 40px;
  }
  .bloom-mobile-menu.is-open { display: flex; }
  .bloom-mobile-menu .nav-link {
    font-family: var(--font-sans); font-weight: var(--weight-medium); font-size: var(--text-xl);
    color: var(--ink-500); cursor: pointer; padding: 18px 4px; border-bottom: 1px solid var(--border-subtle);
    text-decoration: none;
  }
  .bloom-mobile-menu .nav-link.is-active { color: var(--ink-900); }
  .bloom-mobile-menu .bloom-btn { margin-top: 20px; }

  .bloom-kicker--lime { color: var(--lime-700); }
  .bloom-kicker--on-dark { color: var(--lime); }

  .bloom-btn {
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: var(--radius-pill); border: 2px solid transparent;
    font-family: var(--font-sans); font-weight: var(--weight-semibold);
    line-height: 1; letter-spacing: 0.01em; cursor: pointer; text-decoration: none;
    white-space: nowrap; -webkit-tap-highlight-color: transparent;
    transition: background var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard),
      border-color var(--duration-base) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
  }
  .bloom-btn:active { transform: scale(0.97); }
  .bloom-btn--sm { height: 36px; padding: 8px 14px; gap: 6px; font-size: var(--text-sm); }
  .bloom-btn--md { height: 44px; padding: 11px 20px; gap: 8px; font-size: var(--text-base); }
  .bloom-btn--lg { height: 54px; padding: 15px 28px; gap: 10px; font-size: var(--text-md); }
  .bloom-btn--primary { background: var(--lime); color: var(--black); border-color: var(--lime); }
  .bloom-btn--primary:hover { background: var(--lime-600); border-color: var(--lime-600); }
  .bloom-btn--secondary { background: transparent; color: var(--ink-700); border-color: var(--ink-700); }
  .bloom-btn--secondary:hover { background: var(--ink-700); color: var(--cream-100); }
  .bloom-btn--dark { background: var(--black); color: var(--cream-100); border-color: var(--black); }
  .bloom-btn--dark:hover { background: var(--ink-700); border-color: var(--ink-700); }

  .bloom-card {
    position: relative; border-radius: var(--radius-lg); padding: var(--space-6); overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard);
  }
  .bloom-card--white { background: var(--surface-card); color: var(--text-primary); border: 1px solid var(--border-subtle); }
  .bloom-card--cream { background: var(--cream-200); color: var(--ink-700); border: 1px solid var(--cream-300); }
  .bloom-card--dark { background: var(--black); color: var(--cream-100); border: 1px solid rgba(239,231,213,0.14); }
  .bloom-card--lime { background: var(--lime); color: var(--black); border: 1px solid var(--lime); }
  .bloom-card--interactive { cursor: pointer; }
  .bloom-card--interactive:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); }
  .bloom-card--accent::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: var(--gradient-bloom);
  }

  .bloom-client-cell img { opacity: 0.82; transition: opacity var(--duration-base) var(--ease-standard); }
  .bloom-client-cell:hover img { opacity: 1; }

  .bloom-avatar {
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
    border-radius: var(--radius-blob); background: var(--lime); color: var(--black);
    font-family: var(--font-display); font-weight: var(--weight-bold); letter-spacing: 0.01em; user-select: none;
  }

  .bloom-field { display: flex; flex-direction: column; gap: 6px; }
  .bloom-field label { font: var(--label-font); color: var(--text-primary); }
  .bloom-field-box {
    display: flex; align-items: center; gap: 8px; background: var(--surface-card);
    border: 1.5px solid var(--border-subtle); border-radius: var(--radius-md); padding: 0 14px; height: 46px;
    transition: border-color var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard);
  }
  .bloom-field-box:focus-within { border-color: var(--lime-600); box-shadow: 0 0 0 3px var(--focus-ring); }
  .bloom-field-box input {
    flex: 1; border: none; outline: none; background: transparent;
    font: var(--body-font); color: var(--text-primary); height: 100%;
  }
  .bloom-textarea {
    width: 100%; box-sizing: border-box; resize: vertical;
    font-family: var(--font-sans); font-size: var(--text-base); color: var(--text-primary);
    padding: 11px 14px; border-radius: var(--radius-md); border: 1px solid var(--border-subtle);
    background: var(--cream-100); outline: none;
  }

  /* ---------------- RD Station Forms: reveste o form embutido com o visual do site ---------------- */
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 form {
    display: flex !important; flex-direction: column !important; gap: 16px !important;
  }
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 label {
    display: block !important; font: var(--label-font) !important; color: var(--text-primary) !important;
    margin: 0 0 8px !important; font-weight: var(--weight-semibold, 600) !important;
  }
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 input[type="text"],
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 input[type="email"],
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 input[type="tel"],
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 input[type="number"],
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 input[type="url"],
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 select {
    width: 100% !important; box-sizing: border-box !important; height: 46px !important;
    padding: 0 14px !important; margin: 0 !important;
    background: var(--surface-card) !important; border: 1.5px solid var(--border-subtle) !important;
    border-radius: var(--radius-md) !important; font: var(--body-font) !important; color: var(--text-primary) !important;
    outline: none !important; box-shadow: none !important;
    transition: border-color var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard);
  }
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 textarea {
    width: 100% !important; box-sizing: border-box !important; resize: vertical !important;
    min-height: 84px !important; padding: 11px 14px !important; margin: 0 !important;
    background: var(--surface-card) !important; border: 1.5px solid var(--border-subtle) !important;
    border-radius: var(--radius-md) !important; font: var(--body-font) !important; color: var(--text-primary) !important;
    outline: none !important; box-shadow: none !important;
  }
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 input:focus,
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 select:focus,
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 textarea:focus {
    border-color: var(--lime-600) !important; box-shadow: 0 0 0 3px var(--focus-ring) !important;
  }
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 button[type="submit"],
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 input[type="submit"] {
    width: 100% !important; height: 54px !important; padding: 15px 28px !important; margin-top: 4px !important;
    border-radius: var(--radius-pill) !important; border: 2px solid var(--lime) !important;
    background: var(--lime) !important; color: var(--black) !important;
    font-family: var(--font-sans) !important; font-weight: var(--weight-semibold) !important; font-size: var(--text-md) !important;
    letter-spacing: 0.01em !important; line-height: 1 !important; cursor: pointer !important;
    transition: background var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard);
  }
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 button[type="submit"]:hover,
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 input[type="submit"]:hover {
    background: var(--lime-600) !important; border-color: var(--lime-600) !important;
  }
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 input[type="checkbox"],
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 input[type="radio"] {
    width: auto !important; height: auto !important; margin: 2px 8px 0 0 !important; accent-color: var(--lime-600);
  }
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 [class*="privacy"] label,
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 [class*="consent"] label {
    display: flex !important; align-items: flex-start !important; gap: 8px !important;
    font-size: var(--text-sm) !important; font-weight: 400 !important; color: var(--text-secondary) !important;
  }
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 label[class*="error"] {
    color: #d64545 !important; font-size: var(--text-sm) !important; font-weight: 400 !important; margin: 6px 0 0 !important; display: block !important;
  }
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 input[class*="error"],
  .bloom-rd-form #formulario-site-bloom-0f625cb6529f1ec51933 textarea[class*="error"] {
    border-color: #d64545 !important; box-shadow: 0 0 0 3px rgba(214,69,69,0.16) !important;
  }