/* ===========================================================================
   Bublr — global stylesheet
   Brand tokens, base reset, typography, surfaces, buttons, layout primitives.
   Block-specific styles live in /blocks/<slug>/style.css.
   =========================================================================== */

:root {
	/* Neutrals — Black #0A0A0A + Cream #F5F2EB */
	--white: #FFFFFF;
	--paper: #FAFBFC;
	--cream: #F5F2EB;       /* brand warm neutral — primary light surface */
	--black: #0A0A0A;       /* brand black */
	--ink: #1A1D22;
	--grey-1: #F2F4F7;
	--grey-2: #E4E7EC;
	--grey-3: #98A2B3;
	--grey-4: #667085;

	/* Brand greens.
	   Mint = trust / provenance.  Mint-green = bright brand green.
	   Lime = accent colour (buttons, peaks).  Powder = quiet surfaces. */
	--mint: #2BC47E;        /* trust / provenance */
	--mint-green: #7FE5A8;  /* primary bright brand green (gradients, glow, the dot) */
	--mint-2: #7FE5A8;
	--mint-soft: #E8F8F1;
	--mint-deep: #1B9E66;   /* darker mint for hover / text on light */
	--lime: #B6E94A;        /* accent — primary buttons + brand peaks */
	--lime-deep: #A4D834;   /* lime hover */
	--powder: #B8DDE8;      /* quiet background surfaces */

	/* Journal category accents — kept inside the brand palette
	   (Mint · Lime · Powder Blue · Mint-green) instead of off-brand amber/pink/purple. */
	--cat-press-from: #E8F8F1;
	--cat-press-to: #2BC47E;     /* Mint */
	--cat-market-from: #F4FBE0;
	--cat-market-to: #B6E94A;    /* Lime */
	--cat-guide-from: #EAF6FA;
	--cat-guide-to: #B8DDE8;     /* Powder Blue */
	--cat-product-from: #E9FBF1;
	--cat-product-to: #7FE5A8;   /* Mint Green */
	--cat-community-from: #EAF6FA;
	--cat-community-to: #B8DDE8;  /* Powder Blue */

	/* Type */
	--font-round: 'Fredoka', system-ui, -apple-system, sans-serif;       /* wordmark */
	--font-head: 'Poppins', system-ui, -apple-system, sans-serif;        /* headings (brand) */
	--font-body: 'Poppins', system-ui, -apple-system, sans-serif;        /* body (brand) */
	--font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', monospace;   /* small labels (brand) */

	/* Texture */
	--dot-color: rgba(10, 11, 14, 0.085);
	--dot-color-dark: rgba(255, 255, 255, 0.05);

	/* Motion */
	--ease-spring: cubic-bezier(.34, 1.56, .64, 1);
	--ease-morph: cubic-bezier(.45, 0, .15, 1);
	--ease-soft: cubic-bezier(.3, .7, .3, 1);

	/* Layout */
	--container-max: 1200px;
	--container-pad: 32px;
	--nav-height: 84px;
}

/* ---------- Reset ---------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

* {
	margin: 0;
	padding: 0;
}

html {
	-webkit-text-size-adjust: 100%;
	/* Reserve the scrollbar gutter on BOTH edges so the page stays perfectly
	   centred whether or not a vertical scrollbar is showing. Without this, a
	   classic (space-taking) scrollbar eats ~15px off the right only, which
	   reads as the whole site sitting left with a gap on the right. */
	scrollbar-gutter: stable both-edges;
}

body {
	font-family: var(--font-body);
	color: var(--black);
	background: var(--paper);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background-image:
		radial-gradient(ellipse 80% 50% at 50% 0%, rgba(127, 229, 168, 0.08), transparent 60%),
		radial-gradient(circle, var(--dot-color) 1.6px, transparent 1.6px);
	background-size: auto, 28px 28px;
	background-position: 0 0, 0 0;
	background-attachment: fixed, fixed;
	/* clip (not hidden): stops horizontal scroll WITHOUT turning <body> into a
	   scroll container. `overflow-x: hidden` makes overflow-y compute to auto,
	   which breaks native window scrolling (page won't scroll past a sliver). */
	overflow-x: clip;
}

img,
picture,
video,
svg {
	max-width: 100%;
	display: block;
}

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

button {
	background: none;
	border: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
}

ul,
ol {
	list-style: none;
}

/* ---------- Typography ---------- */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-head);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.05;
	color: var(--black);
}

.eyebrow {
	font-family: var(--font-body);
	font-size: 12px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mint-deep);
	font-weight: 600;
	margin-bottom: 20px;
	display: inline-block;
}

/* ---------- Layout primitives ---------- */
.container {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--container-pad);
}

.sec-head {
	max-width: 680px;
	margin-bottom: 60px;
}

.sec-head h2 {
	font-size: 50px;
	margin-bottom: 18px;
}

.sec-head p {
	font-size: 18px;
	color: var(--grey-4);
}

section.blk {
	padding: clamp(120px, 13vw, 200px) 0;
	position: relative;
}

/* ---------- Surfaces (glass) ---------- */
.glass {
	background: rgba(255, 255, 255, 0.55);
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border: 1px solid rgba(255, 255, 255, 0.6);
	box-shadow:
		0 10px 38px rgba(10, 11, 14, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.6);
	border-radius: 20px;
}

.glass-tint {
	background: rgba(127, 229, 168, 0.10);
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	border: 1px solid rgba(127, 229, 168, 0.25);
	border-radius: 20px;
}

.glass-dark {
	background: rgba(10, 11, 14, 0.78);
	-webkit-backdrop-filter: blur(28px) saturate(180%);
	backdrop-filter: blur(28px) saturate(180%);
	border: 1px solid rgba(255, 255, 255, 0.08);
	color: #fff;
	border-radius: 24px;
}

/* Fallback for browsers without backdrop-filter (Firefox ESR, older Safari) */
@supports not (backdrop-filter: blur(1px)) {
	.glass {
		background: rgba(255, 255, 255, 0.9);
	}
	.glass-tint {
		background: rgba(232, 248, 241, 0.95);
	}
	.glass-dark {
		background: rgba(10, 11, 14, 0.95);
	}
}

/* ---------- Buttons ---------- */
.btn {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	padding: 13px 24px;
	border-radius: 999px;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	border: 0;
	transition: transform 0.15s ease, box-shadow 0.2s ease;
	white-space: nowrap;
}

.btn:hover {
	transform: translateY(-1px);
}

/* Primary CTA = brand Lime (buttons + brand peaks). */
.btn-mint {
	background: var(--lime);
	color: var(--black);
	box-shadow: 0 6px 18px rgba(182, 233, 74, 0.38);
}

.btn-mint:hover {
	background: var(--lime-deep);
	box-shadow: 0 10px 24px rgba(182, 233, 74, 0.5);
}

.btn-dark {
	background: var(--black);
	color: #fff;
}

.btn-glass {
	background: rgba(255, 255, 255, 0.5);
	color: var(--black);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border: 1px solid rgba(255, 255, 255, 0.6);
}

.store-btn {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: var(--black);
	color: #fff;
	padding: 13px 22px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.15s ease;
}

.store-btn:hover {
	transform: translateY(-1px);
}

.store-btn svg {
	width: 18px;
	height: 18px;
}

/* ---------- Skip link (a11y) ---------- */
.skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: 9999;
}

.skip-link:focus {
	position: fixed;
	left: 12px;
	top: 12px;
	width: auto;
	height: auto;
	padding: 12px 18px;
	background: var(--black);
	color: #fff;
	border-radius: 999px;
	font-weight: 600;
}

/* ---------- Intercom placeholder launcher ---------- */
.intercom {
	position: fixed;
	bottom: 26px;
	right: 26px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: var(--mint);
	color: var(--black);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	box-shadow: 0 12px 30px rgba(127, 229, 168, 0.45);
	z-index: 200;
	cursor: pointer;
	transition: transform 0.2s ease;
}

.intercom:hover {
	transform: scale(1.08);
}

/* ---------- Scroll reveal (used by Blocks 6, 7, 8) ---------- */
[data-bublr-reveal] {
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity 0.7s var(--ease-morph),
		transform 0.7s var(--ease-morph);
	will-change: opacity, transform;
}

[data-bublr-reveal].is-revealed {
	opacity: 1;
	transform: none;
}

.bublr-reduce-motion [data-bublr-reveal] {
	opacity: 1;
	transform: none;
	transition: none;
}

/* ---------- Reduced motion ----------
   The global reduce-motion kill-switch is intentionally not applied; animations
   play regardless of the OS "Reduce motion" setting. */

/* ---------- Section kicker — plain uppercase label ----------
   Paint/brush stroke removed (Varun review). Each section's label is now a clean
   tracked uppercase eyebrow: green on light sections, mint on dark sections. */
.bublr-horizon__eyebrow,
.bublr-stories__eyebrow,
.bublr-stories__intro-eyebrow,
.bublr-bubble__eyebrow,
.bublr-fullvid-eyebrow,
.bublr-hiw__eyebrow,
.bublr-hero-eyebrow,
.sec-eyebrow,
.bublr-footer-cta__eyebrow,
.bublr-hiwp-hero__eyebrow,
.bublr-hiwp-step__eyebrow,
.bublr-hiwp-intel__eyebrow {
	display: inline-block !important;
	position: relative;
	isolation: isolate;
	width: auto !important;
	color: #0A8F57 !important;          /* brand green label on light sections */
	font-weight: 700 !important;
	background: none !important;        /* no pill, no brush */
	border: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
}
/* Kill the brush-stroke pseudo-element everywhere. */
.bublr-horizon__eyebrow::before,
.bublr-stories__eyebrow::before,
.bublr-stories__intro-eyebrow::before,
.bublr-bubble__eyebrow::before,
.bublr-fullvid-eyebrow::before,
.bublr-hiw__eyebrow::before,
.bublr-hero-eyebrow::before,
.sec-eyebrow::before,
.bublr-footer-cta__eyebrow::before,
.bublr-hiwp-hero__eyebrow::before,
.bublr-hiwp-step__eyebrow::before,
.bublr-hiwp-intel__eyebrow::before {
	content: none !important;
	display: none !important;
}
/* Dark sections: light mint label so it reads on dark backgrounds. */
.bublr-stories__eyebrow,
.bublr-stories__intro-eyebrow,
.bublr-hiwp-intel__eyebrow { color: #7FE5A8 !important; }

/* Honeypot field — hidden site-wide. Lives here (not just the hero block CSS) so
   the global "Claim your seat" modal never shows a stray input on pages without
   the hero block (Varun review). */
.bublr-waitlist__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
	:root {
		--container-pad: 20px;
	}

	.sec-head h2 {
		font-size: 36px;
	}

	section.blk {
		padding: 80px 0;
	}
}

/* Accessibility: visually-hidden text that remains screen-reader accessible. */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ===========================================================================
   Demo collection — shared "listing" card + "valuation" card.
   Shared styles for showing collectibles as app listings.
   =========================================================================== */
.bublr-listing-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(178px, 1fr));
	gap: 18px;
}
.bublr-listing {
	background: #fff;
	border: 1px solid rgba(10, 10, 10, 0.06);
	border-radius: 20px;
	padding: 12px;
	box-shadow: 0 10px 30px rgba(10, 10, 10, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.bublr-listing:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(10, 10, 10, 0.1); }
.bublr-listing__tile {
	position: relative;
	aspect-ratio: 1.12;
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(160deg, color-mix(in srgb, var(--c, #7FE5A8) 16%, #EFEAE0), #E9E3D7);
	margin-bottom: 12px;
}
.bublr-listing__halo {
	position: absolute;
	width: 62%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--c, #7FE5A8) 70%, #fff), color-mix(in srgb, var(--c, #7FE5A8) 28%, #fff));
	filter: blur(2px);
}
.bublr-listing__img { position: relative; width: 74%; height: 74%; object-fit: contain; filter: drop-shadow(0 8px 16px rgba(10, 10, 10, 0.18)); }
/* Real-photo tile: the photo fills the frame (no halo or cut-out). */
.bublr-listing__tile--photo { background: #EDECE6; }
.bublr-listing__tile--photo .bublr-listing__img { width: 100%; height: 100%; object-fit: cover; filter: none; }
.bublr-listing__tile--photo::after {
	content: ""; position: absolute; inset: auto 0 0 0; height: 46%;
	background: linear-gradient(transparent, rgba(8, 10, 12, 0.4)); pointer-events: none;
}
.bublr-listing__cat {
	position: absolute; bottom: 8px; left: 8px; z-index: 2;
	font-family: var(--font-mono); font-size: 10.5px; font-weight: 600; letter-spacing: 0.02em;
	background: color-mix(in srgb, var(--c, #7FE5A8) 88%, #fff); color: #06160E;
	padding: 4px 10px; border-radius: 999px;
}
.bublr-listing__meta { display: flex; flex-direction: column; gap: 4px; padding: 0 4px 4px; }
.bublr-listing__name { font-family: var(--font-head); font-size: 14.5px; font-weight: 600; color: var(--black); }
.bublr-listing__who { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--grey-4); }
.bublr-listing__ava { width: 18px; height: 18px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }

/* In-app valuation card */
.bublr-appcard {
	width: 100%; max-width: 344px;
	background: #fff;
	border: 1px solid rgba(10, 10, 10, 0.07);
	border-radius: 26px;
	padding: 18px;
	box-shadow: 0 26px 60px rgba(10, 10, 10, 0.14);
}
.bublr-appcard__bar { display: flex; justify-content: space-between; align-items: center; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 14px; }
.bublr-appcard__scan { display: inline-flex; align-items: center; gap: 6px; color: var(--mint-deep); }
.bublr-appcard__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px color-mix(in srgb, var(--mint) 25%, transparent); }
.bublr-appcard__verified { display: inline-flex; align-items: center; gap: 5px; color: var(--grey-4); }
.bublr-appcard__verified svg { width: 12px; height: 12px; fill: var(--mint); }
.bublr-appcard__photo {
	position: relative; aspect-ratio: 1.3; border-radius: 18px; overflow: hidden;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(160deg, color-mix(in srgb, var(--c, #7FE5A8) 18%, #EFEAE0), #E9E3D7);
	margin-bottom: 14px;
}
.bublr-appcard__halo { position: absolute; width: 58%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--c, #7FE5A8) 75%, #fff), color-mix(in srgb, var(--c, #7FE5A8) 30%, #fff)); filter: blur(3px); }
.bublr-appcard__photo img { position: relative; width: 66%; height: 66%; object-fit: contain; filter: drop-shadow(0 10px 18px rgba(10, 10, 10, 0.2)); }
.bublr-appcard__name { margin: 0; font-family: var(--font-head); font-size: 19px; font-weight: 700; color: var(--black); }
.bublr-appcard__cat { margin: 2px 0 14px; font-size: 12.5px; color: var(--grey-4); }
.bublr-appcard__stats { display: flex; gap: 10px; margin-bottom: 12px; }
.bublr-appcard__stat { flex: 1; background: var(--mint-soft, #E8F8F1); border-radius: 14px; padding: 10px 12px; }
.bublr-appcard__label { display: block; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--mint-deep); margin-bottom: 3px; }
.bublr-appcard__value { font-family: var(--font-head); font-size: 22px; font-weight: 800; color: var(--black); letter-spacing: -0.02em; }
.bublr-appcard__grade { font-family: var(--font-head); font-size: 15px; font-weight: 700; color: var(--black); }
.bublr-appcard__spark { height: 40px; margin: 2px 0 10px; }
.bublr-appcard__spark svg { width: 100%; height: 100%; }
.bublr-appcard__foot { display: flex; justify-content: space-between; font-size: 11.5px; color: var(--grey-4); }
.bublr-appcard__trend { color: var(--mint-deep); font-weight: 600; }

@media (max-width: 540px) {
	.bublr-listing-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* "See it work" split — copy beside the in-app valuation card */
.bublr-app-split {
	display: grid;
	grid-template-columns: 1fr minmax(300px, 360px);
	gap: clamp(32px, 5vw, 64px);
	align-items: center;
}
.bublr-app-split__copy .sec-eyebrow { margin-bottom: 16px; }
.bublr-app-split__copy h2 { font-size: clamp(28px, 4vw, 44px); letter-spacing: -0.03em; line-height: 1.05; margin: 0 0 14px; }
.bublr-app-split__copy p { color: var(--grey-4); font-size: 16px; line-height: 1.62; margin: 0 0 24px; max-width: 46ch; }
.bublr-app-split__card { display: flex; justify-content: center; }
@media (max-width: 800px) {
	.bublr-app-split { grid-template-columns: 1fr; }
	.bublr-app-split__card { margin-top: 8px; }
}

/* ===========================================================================
   "Claim your seat" pop-out modal (#bublr-waitlist-modal)
   =========================================================================== */
html.bublr-wlm-lock { overflow: hidden; }
.bublr-wlm { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.bublr-wlm[hidden] { display: none; }
.bublr-wlm__scrim { position: absolute; inset: 0; background: rgba(8, 14, 11, 0.55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity 0.28s ease; }
.bublr-wlm.is-open .bublr-wlm__scrim { opacity: 1; }
.bublr-wlm__card {
	position: relative; z-index: 1;
	width: 100%; max-width: 460px;
	background: #fff; border-radius: 28px;
	padding: clamp(26px, 4vw, 40px);
	box-shadow: 0 40px 90px -30px rgba(10, 40, 28, 0.5);
	transform: translateY(16px) scale(0.985); opacity: 0;
	transition: transform 0.32s cubic-bezier(.2, .8, .3, 1), opacity 0.28s ease;
	max-height: calc(100vh - 40px); overflow-y: auto;
}
.bublr-wlm.is-open .bublr-wlm__card { transform: none; opacity: 1; }
.bublr-wlm__close {
	position: absolute; top: 16px; right: 16px;
	width: 36px; height: 36px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: #F2F4F3; border: 0; color: #5B6168; cursor: pointer;
	transition: background 0.18s ease, color 0.18s ease;
}
.bublr-wlm__close:hover { background: #E6EAE8; color: #0A0A0A; }
.bublr-wlm__close svg { width: 18px; height: 18px; }
.bublr-wlm__eyebrow { font-family: var(--font-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mint-deep, #1B9E66); margin: 0 0 10px; }
.bublr-wlm__title { font-family: var(--font-head); font-size: clamp(26px, 4vw, 34px); letter-spacing: -0.03em; margin: 0 0 8px; color: var(--black, #0A0A0A); }
.bublr-wlm__sub { font-size: 15px; line-height: 1.55; color: var(--grey-4, #667085); margin: 0 0 22px; }
.bublr-wlm__row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bublr-wlm__field { display: block; margin-bottom: 14px; }
.bublr-wlm__field > span { display: block; font-family: var(--font-head); font-size: 13px; font-weight: 600; color: var(--black, #0A0A0A); margin-bottom: 7px; }
.bublr-wlm__field > span i { font-style: normal; font-weight: 400; color: #9aa5a0; }
.bublr-wlm__field input {
	width: 100%; font-family: var(--font-body); font-size: 15.5px; color: var(--black, #0A0A0A);
	background: var(--cream, #F5F2EB); border: 1px solid rgba(10, 11, 14, 0.1); border-radius: 14px;
	padding: 12px 14px; transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.bublr-wlm__field input:focus { outline: none; background: #fff; border-color: color-mix(in srgb, var(--mint, #2BC47E) 55%, transparent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--mint-green, #7FE5A8) 26%, transparent); }
.bublr-wlm__field input::placeholder { color: #9aa5a0; }
.bublr-wlm__submit { width: 100%; justify-content: center; margin-top: 6px; }
.bublr-wlm__fine { font-family: var(--font-mono); font-size: 11px; color: #9aa5a0; text-align: center; margin: 12px 0 0; }
.bublr-wlm .bublr-waitlist__msg { margin: 12px 0 0; font-size: 14px; font-weight: 500; text-align: center; min-height: 1.1em; }
.bublr-wlm .bublr-waitlist__msg.is-error { color: #c0392b; }
.bublr-wlm .bublr-waitlist__msg.is-success { color: var(--mint-deep, #1B9E66); font-weight: 600; font-size: 16px; }
.bublr-wlm__form.is-done .bublr-wlm__row2,
.bublr-wlm__form.is-done .bublr-wlm__field,
.bublr-wlm__form.is-done .bublr-wlm__submit,
.bublr-wlm__form.is-done .bublr-wlm__fine { display: none; }
.bublr-wlm__form.is-done .bublr-waitlist__msg { margin: 10px 0; font-size: 18px; }
@media (max-width: 420px) { .bublr-wlm__row2 { grid-template-columns: 1fr; gap: 0; } }

/* --- modal: consistent full-width inputs + even spacing + mobile --------- */
.bublr-wlm__form { display: block; }
.bublr-wlm .bublr-wlm__field input,
.bublr-wlm .bublr-waitlist__input {
	width: 100%; display: block; text-align: left;
	font-family: var(--font-body); font-size: 15.5px; line-height: 1.3;
	color: var(--black, #0A0A0A);
	background: var(--cream, #F5F2EB);
	border: 1px solid rgba(10, 11, 14, 0.1); border-radius: 14px;
	padding: 13px 15px; margin: 0;
}
.bublr-wlm .bublr-waitlist__input:focus {
	outline: none; background: #fff;
	border-color: color-mix(in srgb, var(--mint, #2BC47E) 55%, transparent);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--mint-green, #7FE5A8) 26%, transparent);
}
.bublr-wlm__row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.bublr-wlm__row2 .bublr-wlm__field { margin-bottom: 0; }
.bublr-wlm__field { margin-bottom: 14px; }
.bublr-wlm__submit { margin-top: 4px; }
@media (max-width: 460px) {
	.bublr-wlm { padding: 14px; }
	.bublr-wlm__card { border-radius: 24px; padding: 26px 22px; }
	.bublr-wlm__row2 { grid-template-columns: 1fr; gap: 0; margin-bottom: 0; }
	.bublr-wlm__row2 .bublr-wlm__field { margin-bottom: 14px; }
}
