/* Bennett Property Shop — "Sell Your Home & Get a Free Vacation for Two" promotion
   landing page (/florida-promotion/, Nov 2026). Loaded only on that page.
   Layout is native Beaver Builder (rows / columns / heading / rich-text / HTML /
   PowerPack Gravity Form); this file holds the postcard styling the modules can't
   express on their own. Self-hosted fonts below (SIL OFL), latin + latin-ext. */

/* ---- fonts ---------------------------------------------------------------- */
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(fonts/Montserrat-600-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(fonts/Montserrat-600-latin.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; }
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/Oswald-700-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/Oswald-700-latin.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; }
@font-face { font-family: 'Kaushan Script'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/KaushanScript-400-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Kaushan Script'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/KaushanScript-400-latin.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; }
@font-face { font-family: 'Caveat'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/Caveat-700-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Caveat'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/Caveat-700-latin.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; }

/* ---- tokens ---------------------------------------------------------------- */
.bp-fl {
  --fl-montserrat: 'Montserrat', Arial, Helvetica, sans-serif;
  --fl-oswald: 'Oswald', Impact, sans-serif;
  --fl-kaushan: 'Kaushan Script', cursive;
  --fl-caveat: 'Caveat', cursive;
  --fl-red: #dc1e26;
  --fl-red-dark: #b31218;
  --fl-yellow: #f7ce46;
  --fl-gold: #d4a63f;
  --fl-ink: #0b0e14;
  font-family: var(--fl-montserrat);
  color: var(--fl-ink);
  -webkit-font-smoothing: antialiased;
}
body.page-template-tpl-no-header-footer .fl-page { background: #0d131a; }
.bp-fl *, .bp-fl *::before, .bp-fl *::after { box-sizing: border-box; }
.bp-fl .fl-module, .bp-fl .fl-module > .fl-module-content { margin: 0; }
.bp-fl .fl-col-content { display: flex; flex-direction: column; }
body .bp-fl p { margin: 0; }

/* ---- hero row: photo + sunburst lighting + airplane trail ------------------ */
.fl-row.bp-fl__hero > .fl-row-content-wrap { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: 100vh; min-height: 100svh; }
.fl-row.bp-fl__hero > .fl-row-content-wrap::before {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(ellipse 52% 48% at 24% 34%, rgba(255,255,255,.94) 0%, rgba(255,255,255,.82) 42%, rgba(255,255,255,.28) 72%, transparent 100%),
    linear-gradient(180deg, rgba(255,255,255,.35) 0%, rgba(255,255,255,.05) 55%, rgba(15,23,34,.18) 100%),
    linear-gradient(180deg, rgba(255,252,245,0) 70%, rgba(245,229,198,.28) 86%, rgba(232,207,165,.55) 100%);
}
/* dotted heart trail + paper plane (the SVG from the design, inlined) */
.fl-row.bp-fl__hero > .fl-row-content-wrap::after {
  content: ''; position: absolute; top: 10px; left: 42%; width: 230px; height: 62px; z-index: 1; opacity: .9; pointer-events: none;
  filter: drop-shadow(0 2px 4px rgba(0,60,90,.25));
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 70' fill='none'%3E%3Cpath d='M6 58 C 48 56, 78 38, 92 22 C 102 10, 88 2, 78 12 C 68 22, 82 36, 98 28 C 114 20, 106 4, 94 12 C 84 19, 98 42, 142 36 C 178 31, 206 22, 228 14' stroke='rgba(255,255,255,0.85)' stroke-width='2.2' stroke-dasharray='5 5' stroke-linecap='round'/%3E%3Cpath d='M248 7 L231 24 L234 16 L223 19 L227 13 L218 11 L232 9 L235 2 Z' fill='%23ffffff'/%3E%3C/svg%3E") no-repeat center / contain;
}
.bp-fl__hero .fl-row-content, body .fl-row.bp-fl__hero > .fl-row-content-wrap > .fl-row-content { position: relative; z-index: 2; width: 100%; max-width: 1356px !important; } /* = the design's 1420px canvas minus its 32px side padding */
.fl-row.bp-fl__hero > .fl-row-content-wrap { padding: 20px 32px 24px !important; }
.bp-fl__hero .fl-row-content > .fl-col-group { float: none; }

/* ---- top kicker pill ------------------------------------------------------- */
.bp-fl__pill .fl-rich-text { display: flex; justify-content: flex-start; }
body .bp-fl__pill p {
  display: inline-flex; align-items: center; gap: 10px; padding: 7px 18px; border-radius: 999px;
  background: linear-gradient(90deg, rgba(235,195,102,.95), rgba(213,160,58,.92));
  border: 1.5px solid rgba(255,255,255,.85); box-shadow: 0 6px 18px rgba(0,0,0,.14); line-height: 1;
}
.bp-fl__pill-city { font-family: var(--fl-oswald); font-weight: 700; font-size: 13px; letter-spacing: 1px; color: #0b0e14; }
.bp-fl__pill-script { font-family: var(--fl-kaushan); font-size: 21px; line-height: 1; color: var(--fl-red); text-shadow: 0 1px 0 rgba(255,255,255,.8); }
.bp-fl__top { margin-bottom: 10px; }

/* ---- two-column campaign grid ---------------------------------------------- */
.bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2) { display: flex; align-items: center; gap: 32px; }
.bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2)::before, .bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2)::after,
.bp-fl__left::before, .bp-fl__left::after, .bp-fl__left > .fl-col-content::before, .bp-fl__left > .fl-col-content::after,
.bp-fl__left .fl-col-group-nested::before, .bp-fl__left .fl-col-group-nested::after { content: none !important; display: none !important; }
.bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2) .fl-col { min-width: 0; float: none; }
/* same tracks as the design: minmax(0, 1.18fr) minmax(380px, 460px) */
.bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2) .fl-col.bp-fl__left { flex: 1 1 0; width: auto !important; }
.bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2) .fl-col.bp-fl__right { flex: 0 1 460px; min-width: 380px; width: auto !important; }
.bp-fl__left > .fl-col-content { align-items: flex-start; }

/* red painted brush banner */
.bp-fl .fl-module.bp-fl__brush { position: relative; display: inline-block; align-self: flex-start; transform: rotate(-2.2deg); margin: 0 0 6px 4px; }
body .bp-fl__brush p {
  position: relative; display: flex; flex-direction: column; align-items: center; text-align: center;
  background: linear-gradient(135deg, #e42229 0%, #c9151c 100%); padding: 12px 34px 10px; border-radius: 10px 26px 8px 22px;
  box-shadow: 0 10px 24px rgba(185,16,22,.32), inset 0 1px 0 rgba(255,255,255,.35);
  clip-path: polygon(1.5% 8%, 98% 0%, 100% 24%, 98.5% 88%, 96% 98%, 2% 96%, 0% 74%, 1.8% 32%);
}
.bp-fl__brush-top { font-family: var(--fl-oswald); font-weight: 700; font-size: clamp(24px, 3vw, 42px); line-height: 1; letter-spacing: .8px; color: #fff; text-shadow: 0 2px 6px rgba(0,0,0,.28); }
.bp-fl__brush-bottom { font-family: var(--fl-oswald); font-style: italic; font-weight: 700; font-size: clamp(26px, 3.3vw, 46px); line-height: 1.04; letter-spacing: 1px; color: var(--fl-yellow); text-shadow: 0 2px 6px rgba(0,0,0,.32); }
.bp-fl__brush .fl-rich-text::after {
  content: ''; display: block; width: 96%; height: 18px; margin: -2px 0 4px 2%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 22' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='500' y2='0' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23b88728'/%3E%3Cstop offset='.5' stop-color='%23f2ce68'/%3E%3Cstop offset='1' stop-color='%23b88728'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M8 15 C 145 4, 340 4, 492 12 C 375 10, 170 13, 24 19 Z' fill='url(%23g)'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}

/* stacked postcard headline (one Heading module; the lines are spans) */
.bp-fl__h1 { width: 100%; }
.bp-fl__h1 .fl-heading { margin: 0; text-transform: uppercase; }
.bp-fl__h1 .fl-heading-text { display: flex; flex-direction: column; align-items: flex-start; width: 100%; }
.bp-fl__h1-sell { font-family: var(--fl-montserrat); font-weight: 900; font-size: clamp(32px, 4.4vw, 64px); line-height: .96; letter-spacing: -1.6px; color: #090b10; white-space: nowrap; text-shadow: 0 2px 0 rgba(255,255,255,.95), 0 4px 16px rgba(255,255,255,.9); }
.bp-fl__h1-free { display: flex; align-items: baseline; gap: .2em; margin-top: 3px; white-space: nowrap; }
.bp-fl__h1-get { font-family: var(--fl-montserrat); font-weight: 900; font-size: clamp(23px, 3vw, 44px); line-height: 1; letter-spacing: -1px; color: #090b10; text-shadow: 0 2px 0 rgba(255,255,255,.95); }
.bp-fl__h1-gold {
  font-family: var(--fl-montserrat); font-weight: 900; font-size: clamp(30px, 4.1vw, 60px); line-height: .96; letter-spacing: -1.5px;
  background: linear-gradient(180deg, #f6d97a 0%, #d4a238 45%, #986910 85%, #c99731 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 2px 0 rgba(255,255,255,.95)) drop-shadow(0 4px 10px rgba(0,0,0,.16));
}
.bp-fl__h1-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; margin-top: 2px; }
.bp-fl__h1-twoblock { display: flex; flex-direction: column; align-items: flex-start; }
.bp-fl__h1-two {
  display: block; font-family: var(--fl-kaushan); font-weight: 400; font-size: clamp(42px, 5.4vw, 76px); line-height: .94; color: var(--fl-red);
  transform: rotate(-3deg); margin-left: 20px;
  text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 0 6px 16px rgba(0,0,0,.18);
}
.bp-fl__h1-twoblock::after {
  content: ''; display: block; width: clamp(230px, 28vw, 350px); height: 22px; margin: -2px 0 0 12px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 26' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='420' y2='0' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23a7771c'/%3E%3Cstop offset='.5' stop-color='%23f3d274'/%3E%3Cstop offset='1' stop-color='%23b28225'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M12 18 C 120 5, 285 4, 408 13 C 305 11, 148 15, 28 23 Z' fill='url(%23g)'/%3E%3Cpath d='M52 23 C 155 14, 275 13, 382 18' stroke='%23d4a438' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}
/* "Sunshine. Adventure." handwritten callout */
.bp-fl__sun { display: flex; flex-direction: column; align-items: center; transform: rotate(-8deg); text-align: center; text-transform: none; pointer-events: none; margin-right: 12px; flex-shrink: 0; }
.bp-fl__sun-lines { display: block; font-family: var(--fl-caveat); font-weight: 700; font-size: clamp(20px, 2.2vw, 30px); line-height: .96; color: #102030; text-shadow: 0 1px 0 #fff, 0 0 12px rgba(255,255,255,.95); }
.bp-fl__sun::after {
  content: ''; display: block; width: 130px; height: 14px; margin-top: 2px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 18' fill='none'%3E%3Cpath d='M6 14 C 62 5, 124 4, 174 8' stroke='%23d4a438' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}

/* ---- the four gold-ringed inclusions (nested 4-column group) --------------- */
.bp-fl__left .fl-col-group-nested {
  display: flex; width: 100%; margin-top: 14px; padding: 14px 10px;
  background: rgba(255,255,255,.88); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  border: 1.5px solid rgba(212,168,67,.75); border-radius: 14px; box-shadow: 0 12px 32px rgba(10,26,38,.14);
}
.bp-fl__inc { position: relative; padding: 0 10px; }
.bp-fl__inc > .fl-col-content { align-items: center; text-align: center; }
.bp-fl__inc:not(:last-child)::after { content: ''; position: absolute; right: 0; top: 10%; bottom: 10%; width: 1.5px; background: linear-gradient(180deg, rgba(212,168,67,.15), rgba(200,150,46,.85), rgba(212,168,67,.15)); }
.bp-fl__inc-icon .fl-html { width: 58px; height: 58px; border-radius: 50%; background: #fff; border: 3px solid #d9a83e; box-shadow: 0 4px 12px rgba(180,130,35,.22); display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.bp-fl__inc-icon svg { width: 34px; height: 34px; display: block; }
body .bp-fl__inc-text p { display: flex; flex-direction: column; align-items: center; }
.bp-fl__inc-text strong { font-family: var(--fl-montserrat); font-weight: 800; font-size: 11.5px; line-height: 1.18; letter-spacing: .2px; color: #101824; text-transform: uppercase; }
.bp-fl__inc-text span { margin-top: 3px; font-size: 11px; font-weight: 600; line-height: 1.25; color: #2c3a4b; }

/* ---- right column: the lead-form card ---------------------------------------- */
.bp-fl__right { padding-top: 0; margin-top: 14px; } /* the badge overhangs the top edge by this much */
.bp-fl__card { position: relative; background: rgba(255,255,255,.97); border-radius: 16px; border: 2.5px solid var(--fl-gold); box-shadow: 0 22px 50px rgba(6,18,28,.34), 0 0 0 4px rgba(255,255,255,.75); }
.bp-fl__card .fl-col-group-nested { display: block; width: 100%; }
.bp-fl__card > .fl-col-content, .bp-fl__card-body > .fl-col-content, .fl-module.bp-fl__form .pp-gf-content { background: transparent !important; } /* Beaver Builder paints the column colour on this square inner box; the rounded card itself carries the white */
.bp-fl__card-top { background: linear-gradient(180deg, #11151d 0%, #1b222e 100%); color: #fff; padding: 20px 22px 16px; border-bottom: 3px solid var(--fl-gold); }
/* the design clips the header to the card's rounded border (overflow:hidden); here the badge lives inside the card, so instead the header
   overlaps the card border and draws the same 2.5px gold border + 16px radius itself: identical pixels, nothing clipped */
.fl-col.bp-fl__card-top, .bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2) .fl-col.bp-fl__card-top { margin: -2.5px -2.5px 0; width: calc(100% + 5px) !important; max-width: none !important; border: 2.5px solid var(--fl-gold); border-bottom-width: 3px; border-radius: 16px 16px 0 0; } /* padding stays 20/22/16: the negative margin and the border cancel out */
.bp-fl__card-top > .fl-col-content { position: static; }
.bp-fl__badge { position: absolute; top: -22.5px; right: 11.5px; z-index: 3; transform: rotate(-3deg); } /* -20px / 14px from the card's outer edge */
body .bp-fl__badge p {
  display: inline-block; max-width: 282px; background: linear-gradient(135deg, #f6d56b 0%, #d49f31 55%, #b98219 100%); color: #0b0e14; padding: 7px 18px;
  border-radius: 8px 20px 6px 18px; border: 2px solid #fff; box-shadow: 0 8px 20px rgba(0,0,0,.25);
  font-family: var(--fl-oswald); font-style: italic; font-weight: 700; font-size: 13px; letter-spacing: .6px; text-transform: uppercase; line-height: normal;
}
body .bp-fl__eyebrow p { display: flex; width: max-content; align-items: center; gap: 6px; font-size: 10px; line-height: 15px !important; height: 15px; font-weight: 800; letter-spacing: 1.4px; color: #f3cf68; text-transform: uppercase; margin-bottom: 6px; }
body .bp-fl__eyebrow p::before {
  content: ''; width: 13px; height: 13px; flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f3cf68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z'/%3E%3C/svg%3E") no-repeat center / contain;
}
body .bp-fl__card-h2 .fl-heading { margin: 0 0 6px !important; font-family: var(--fl-oswald); font-weight: 700; font-size: 22px; line-height: 1.15; letter-spacing: .4px; text-transform: uppercase; color: #fff; }
.bp-fl__card-h2 .bp-fl__gold-text { color: #f4d26b; }
body .bp-fl__card-sub p { font-size: 12px; line-height: 1.45; color: #d6dde6; font-weight: 500; }
.bp-fl__card-body { padding: 16px 20px 16px; }

/* Gravity Form (PowerPack module) tuned to the postcard card */
.fl-module.bp-fl__form .gform_wrapper.gravity-theme { font-family: var(--fl-montserrat); --bp-gap-y: 11px; --bp-gap-x: 10px; --bp-ctrl-h: 41px; --bp-radius: 8px; --bp-border: #cbd2dc; --bp-gold: #c8962e; --bp-gold-soft: rgba(200,150,46,.22); --bp-font: 13.5px; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_required_legend { display: none; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gfield_label,
.fl-module.bp-fl__form .gform_wrapper.gravity-theme legend.gfield_label,
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .ginput_complex label { font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .4px; color: #141b24 !important; margin: 0 0 4px !important; padding: 0 !important; line-height: 1.3 !important; display: block; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gfield_required, .bp-fl__form .gform_wrapper.gravity-theme .gfield_required_asterisk { color: var(--fl-red) !important; font-weight: 800; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .ginput_complex { grid-row-gap: 11px; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .ginput_complex span:not(.ginput_full) { padding-right: 0; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme input:not([type="submit"]) { background: #f9fafb; font-weight: 600 !important; font-size: 13.5px !important; padding: 0 12px !important; height: 41px !important; min-height: 41px !important; border-width: 1.5px !important; border-color: #cbd2dc !important; border-radius: 8px !important; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme input:not([type="submit"]):focus { background: #fff; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme ::placeholder { color: #7d8794; font-weight: 500; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_footer { margin: 0 !important; padding: 13px 0 0 !important; } /* 11px row gap + the button's 2px */
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gfield_required { line-height: 1; font-size: 11px; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .ginput_complex { display: grid !important; grid-template-columns: 1fr 1fr !important; grid-column-gap: 10px !important; column-gap: 10px !important; grid-row-gap: 11px !important; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .ginput_complex > span { grid-column: auto !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_fields { display: grid !important; grid-template-columns: repeat(12, 1fr) !important; row-gap: 11px !important; column-gap: 10px !important; grid-row-gap: 11px !important; grid-column-gap: 10px !important; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gfield--width-half { grid-column: span 6 !important; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gfield--width-full, .fl-module.bp-fl__form .gform_wrapper.gravity-theme .gfield:not(.gfield--width-half) { grid-column: 1 / -1 !important; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_footer input[type="submit"],
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_footer button {
  width: 100% !important; height: 48px !important; padding: 0 12px !important; border-radius: 10px !important; border: 2px solid #f7d97c !important; background: linear-gradient(180deg, #e5232a 0%, #be1219 100%) !important; color: #fff !important;
  font-family: var(--fl-oswald) !important; font-weight: 700 !important; font-size: 17px !important; line-height: 1 !important; letter-spacing: .8px !important; text-transform: uppercase !important; cursor: pointer;
  box-shadow: 0 8px 20px rgba(190,18,25,.34) !important; transition: transform .14s, filter .14s; margin: 0 !important;
  display: flex !important; align-items: center; justify-content: center; gap: 8px; padding: 1px 6px !important;
}
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_footer button::before {
  content: ''; width: 18px; height: 18px; flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f7ce46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z'/%3E%3Cpath d='M20 3v4'/%3E%3Cpath d='M22 5h-4'/%3E%3Cpath d='M4 17v2'/%3E%3Cpath d='M5 18H3'/%3E%3C/svg%3E") no-repeat center / contain;
}
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_footer button:hover { filter: brightness(1.06); transform: translateY(-1px); }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_validation_errors { margin: 0 0 10px; padding: 10px 12px; border-radius: 8px; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_validation_errors > h2 { font-size: 13px; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gfield_validation_message { font-size: 11px; padding: 6px 10px; margin-top: 6px; }
.fl-module.bp-fl__form .gform_wrapper .gform_ajax_spinner { margin-left: 10px; }
body .bp-fl__trust p { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 11px; font-size: 10.5px; font-weight: 700; line-height: 1.3; color: #495464; text-align: center; }
body .bp-fl__trust p span { display: inline-flex; align-items: center; gap: 4px; }
.bp-fl__trust-shield::before {
  content: ''; width: 14px; height: 14px; flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23495464' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Gravity Forms confirmation (replaces the form after an AJAX submit) */
.bp-fl__confirm { display: flex; flex-direction: column; gap: 10px; padding: 2px 0; }
.bp-fl__confirm-badge { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; background: #ecfdf5; color: #065f46; border: 1px solid #6ee7b7; border-radius: 999px; padding: 4px 10px; font-size: 11px; font-weight: 800; letter-spacing: .4px; }
.bp-fl__confirm-badge::before {
  content: ''; width: 15px; height: 15px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23065f46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") no-repeat center / contain;
}
.bp-fl__confirm h3 { margin: 0; font-family: var(--fl-montserrat); font-size: 16px; font-weight: 800; color: #0f1722; line-height: 1.3; }
.bp-fl__confirm-summary { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 6px; font-size: 12px; }
.bp-fl__confirm-summary div { display: flex; flex-direction: column; }
.bp-fl__confirm-summary span { font-size: 10px; font-weight: 700; text-transform: uppercase; color: #64748b; }
.bp-fl__confirm-summary strong { color: #0f172a; font-weight: 700; word-break: break-word; }
.bp-fl__confirm-next { font-size: 12px; line-height: 1.45; color: #2c3a4b; font-weight: 500; }

/* ---- footer strip ------------------------------------------------------------ */
body .bp-fl__footer .bp-fl__copy p { text-align: center; margin: 0; font-size: 12px; line-height: 1.6; color: #c9ced6; }
.bp-fl__footer .bp-fl__copy a { color: #d2aa45; }

/* ---- tablet / compact desktop -------------------------------------------------- */
@media (max-width: 1120px) {
  .fl-row.bp-fl__hero > .fl-row-content-wrap { padding: 16px 20px 20px !important; }
  .bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2) { gap: 20px; }
  .bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2) .fl-col.bp-fl__right { flex-basis: 400px; min-width: 340px; }
  .bp-fl__left .fl-col-group-nested { padding: 10px 6px; }
  .bp-fl__inc-icon .fl-html { width: 48px; height: 48px; }
  .bp-fl__inc-icon svg { width: 28px; height: 28px; }
  .bp-fl__inc-text strong { font-size: 10px; }
  .bp-fl__inc-text span { font-size: 9.5px; }
}

/* ---- phone / narrow tablet: single column, form before the inclusions ----------- */
@media (max-width: 820px) {
  .fl-row.bp-fl__hero > .fl-row-content-wrap { min-height: 0; padding: 14px 16px 20px !important; }
  .fl-module.bp-fl__form .gform_wrapper.gravity-theme { --bp-font: 16px; }
  .fl-module.bp-fl__form .gform_wrapper.gravity-theme input:not([type="submit"]) { font-size: 16px !important; }
  .fl-row.bp-fl__hero > .fl-row-content-wrap::after { left: auto; right: 6px; top: 4px; width: 150px; height: 40px; opacity: .8; }
  .bp-fl__top { margin-bottom: 12px; }
  .bp-fl__pill .fl-rich-text { justify-content: center; }
  body .bp-fl__pill p { padding: 5px 12px; gap: 6px; }
  .bp-fl__pill-city { font-size: 11px; }
  .bp-fl__pill-script { font-size: 17px; }
  /* the left column dissolves so its pieces can interleave with the form card */
  .bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2) { flex-direction: column; align-items: stretch; gap: 16px; }
  .bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2) .fl-col.bp-fl__left, .bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2) .fl-col.bp-fl__left > .fl-col-content { display: contents; }
  .bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2) .fl-col, .bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2) .fl-col.bp-fl__right { width: 100% !important; max-width: 100%; min-width: 0; flex: none; }
  .bp-fl .fl-module.bp-fl__brush { order: 1; align-self: stretch; margin-left: 0; }
  body .bp-fl__brush p { padding: 9px 22px 8px; }
  .bp-fl__h1 { order: 2; }
  .bp-fl__h1 .fl-heading-text { align-items: center; }
  .bp-fl__h1-free { justify-content: center; }
  .bp-fl__h1-row { flex-direction: column; align-items: center; gap: 4px; }
  .bp-fl__h1-twoblock { align-items: center; }
  .bp-fl__h1-two { margin-left: 0; }
  .bp-fl__h1-twoblock::after { margin-left: 0; }
  .bp-fl__sun { transform: rotate(-2deg); margin-right: 0; margin-top: 2px; }
  .bp-fl__sun-lines br { display: none; }
  .bp-fl__right { order: 3; padding-top: 0; margin-top: 14px; }
  .bp-fl__left .fl-col-group-nested { order: 4; display: flex !important; flex-wrap: wrap; gap: 12px 0; padding: 14px 10px; margin-top: 14px; }
  .bp-fl__hero .fl-row-content > .fl-col-group:nth-of-type(2) .fl-col-group-nested .fl-col.bp-fl__inc { width: 50% !important; max-width: 50%; flex: 0 0 50%; }
  .bp-fl__inc:nth-child(2)::after { display: none; }
}

@media (max-width: 480px) {
  .fl-row.bp-fl__hero > .fl-row-content-wrap { padding: 10px 12px 16px !important; }
  .bp-fl__top { margin-bottom: 8px; }
  body .bp-fl__pill p { padding: 4px 10px; }
  .bp-fl__pill-city { font-size: 9.5px; }
  .bp-fl__pill-script { font-size: 14px; }
  body .bp-fl__brush p { padding: 6px 16px 6px; }
  .bp-fl__brush-top { font-size: 19px; }
  .bp-fl__brush-bottom { font-size: 21px; }
  .bp-fl__h1-sell { font-size: 27px; letter-spacing: -1px; }
  .bp-fl__h1-get { font-size: 19px; }
  .bp-fl__h1-gold { font-size: 24px; letter-spacing: -1px; }
  .bp-fl__h1-two { font-size: 36px; }
  .bp-fl__sun-lines { font-size: 19px; }
  .bp-fl__right { margin-top: 37px; } /* badge 31px + 6px gap, as in the design */
  .bp-fl__badge { position: absolute; top: -39.5px; left: -2.5px; right: -2.5px; transform: none; text-align: center; margin: 0; } /* full column width, 37px above the card's outer edge */
  body .bp-fl__badge p { display: block; max-width: none; padding: 5px 12px; font-size: 11.5px; }
  .bp-fl__card-top { padding: 12px 14px 10px; }
  body .bp-fl__card-h2 .fl-heading { font-size: 18px !important; }
  body .bp-fl__card-sub p { font-size: 11px; }
  .bp-fl__card-body { padding: 12px 14px 12px; }
  .fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_fields, .fl-module.bp-fl__form .gform_wrapper.gravity-theme .ginput_complex { row-gap: 8px !important; grid-row-gap: 8px !important; }
  .fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_footer { padding-top: 10px !important; }
  body .bp-fl__trust p { margin-top: 8px; }
  .fl-module.bp-fl__form .gform_wrapper.gravity-theme input:not([type="submit"]) { height: 38px !important; min-height: 38px !important; padding: 0 10px !important; }
}

/* confirmation wrapper: plain, like the design (the global form styles add a tinted panel) */
.fl-module.bp-fl__form .gform_confirmation_wrapper, .fl-module.bp-fl__form .gform_confirmation_message { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; }
body .bp-fl__confirm p { margin: 0; }
body .bp-fl__confirm .bp-fl__confirm-badge { font-size: 11px; line-height: 1.3; }
body .bp-fl__confirm .bp-fl__confirm-next { font-size: 12px; line-height: 1.45; color: #2c3a4b; font-weight: 500; }

/* input focus ring + transitions exactly as in the design (gforms-brand.css uses a stronger selector, hence the specificity here) */
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_fields .gfield input:not([type="submit"]) { transition: border-color .15s, box-shadow .15s, background-color .15s !important; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_fields .gfield input:not([type="submit"]):focus { outline: none !important; background: #fff !important; border-color: #c8962e !important; box-shadow: 0 0 0 3px rgba(200,150,46,.22) !important; }
.fl-module.bp-fl__form .gform_wrapper.gravity-theme .gform_footer button:active { transform: translateY(0); }
/* confirmation: link to the active listings */
.bp-fl__confirm-cta { display: flex; justify-content: center; }
body .bp-fl__confirm .bp-fl__confirm-cta a { display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 18px; border-radius: 10px; border: 2px solid #f7d97c; background: linear-gradient(180deg, #e5232a 0%, #be1219 100%); color: #fff; font-family: var(--fl-oswald); font-weight: 700; font-size: 15px; letter-spacing: .6px; text-transform: uppercase; text-decoration: none; box-shadow: 0 8px 20px rgba(190,18,25,.34); transition: transform .14s, filter .14s; }
body .bp-fl__confirm .bp-fl__confirm-cta a:hover { filter: brightness(1.06); transform: translateY(-1px); color: #fff; }
