/*
 * Refined mobile type + WealBridge-style header (v1.9.7).
 * Loaded last. Quiet, light, premium: smaller sizes, tighter tracking, lighter weights.
 */

/* ---------- Header: Login pill + hamburger (tablet & phone) ---------- */
.dbm-m-login { display: none; }
.dbm-burger { display: none; }

@media (max-width: 960px) {
	.dbm-site-header .dbm-container { flex-wrap: wrap; min-height: 64px; gap: 0; }
	.dbm-m-login {
		display: inline-flex; align-items: center; justify-content: center;
		margin-left: auto; min-height: 36px; padding: 0 1.05rem;
		font-size: .8125rem; font-weight: 600; letter-spacing: .01em; line-height: 1;
		color: #000; text-decoration: none; border: 1.5px solid currentColor; border-radius: 999px;
		transition: background .18s, color .18s, border-color .18s;
	}
	.dbm-home .dbm-site-header:not(.lt-scrolled) .dbm-m-login { color: #fff; }
	.dbm-m-login:hover, .dbm-m-login:focus-visible { background: var(--dbm-green); border-color: var(--dbm-green); color: #000; }

	/* Hamburger: bare icon, no pill, no label */
	.dbm-site-header .dbm-menu-toggle { margin-left: .35rem !important; }
	.dbm-site-header .dbm-menu-toggle summary,
	.dbm-home .dbm-site-header:not(.lt-scrolled) .dbm-menu-toggle summary {
		width: 44px; height: 44px; min-height: 44px; padding: 0 !important; justify-content: center;
		background: transparent !important; border: 0 !important; border-radius: 999px !important;
		color: #000 !important; font-size: 0; line-height: 0;
	}
	.dbm-home .dbm-site-header:not(.lt-scrolled) .dbm-menu-toggle summary,
	.dbm-home .dbm-site-header:not(.lt-scrolled) .dbm-menu-toggle { color: #fff !important; background: transparent !important; border: 0 !important; }
	.dbm-burger, .dbm-burger::before, .dbm-burger::after {
		display: block; width: 22px; height: 1.75px; background: currentColor; border-radius: 2px;
		transition: transform .25s var(--lt-ease, ease), background .2s;
	}
	.dbm-burger { position: relative; }
	.dbm-burger::before, .dbm-burger::after { content: ""; position: absolute; left: 0; }
	.dbm-burger::before { top: -7px; }
	.dbm-burger::after { top: 7px; }
	.dbm-menu-toggle[open] .dbm-burger { background: transparent; }
	.dbm-menu-toggle[open] .dbm-burger::before { top: 0; transform: rotate(45deg); }
	.dbm-menu-toggle[open] .dbm-burger::after { top: 0; transform: rotate(-45deg); }

	/* Overlay menu: calmer links */
	.lt-js .lt-menu-open .dbm-nav a { font-size: 1.375rem !important; font-weight: 600 !important; letter-spacing: -.01em !important; min-height: 56px; }
	.lt-js .lt-menu-open .dbm-header-actions a:not(.dbm-button) { font-size: .9375rem; font-weight: 500; }
}

/* ---------- Phone typography ---------- */
@media (max-width: 760px) {
	:root {
		--dbm-step--1: .8125rem;
		--dbm-step-0: 1rem;
		--dbm-step-1: 1.125rem;
		--dbm-step-2: 1.25rem;
		--dbm-step-3: 1.5rem;
		--dbm-step-4: 1.75rem;
		--dbm-step-5: 2rem;
		--lt-hero-size: 2.125rem;
	}
	body { font-size: 1rem; line-height: 1.6; -webkit-font-smoothing: antialiased; }
	h1, h2, h3 { font-weight: 700; }
	h1, h2 { letter-spacing: -.025em; line-height: 1.15; }

	/* Hero */
	.dbm-h-hero h1, .dbm-home .dbm-h-hero h1 { font-size: clamp(1.875rem, 8.4vw, 2.25rem); font-weight: 700; letter-spacing: -.03em; line-height: 1.1; }
	.dbm-h-hero .dbm-hero-lead { font-size: .96rem; line-height: 1.65; opacity: .86; max-width: 30ch; }
	.dbm-h-kicker { font-size: .75rem; font-weight: 600; letter-spacing: .01em; }
	.dbm-h-trio dt { font-size: .8125rem; font-weight: 700; }
	.dbm-h-trio dd { font-size: .75rem; }

	/* Section heads */
	.dbm-home h2, .dbm-h-head h2, .dbm-h-band h2 { font-size: clamp(1.5rem, 6.6vw, 1.75rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.15; }
	.dbm-h-head p, .dbm-h-band p { font-size: .95rem; line-height: 1.65; }

	/* Buttons: confident, not shouty */
	.dbm-button, [class*="dbm-h-btn"], .dbm-h-courses a.dbm-h-btn, .dbm-h-path a, .dbm-h-band-form button, .dbm-h-form button {
		font-size: .875rem !important; font-weight: 600 !important; letter-spacing: .005em; min-height: 46px;
	}
	.dbm-h-tabs button { font-size: .78rem; font-weight: 600; }

	/* Promise card */
	.dbm-h-ring b { font-size: 1.5rem; }
	.dbm-h-ring small { font-size: .625rem; letter-spacing: .08em; }
	.dbm-h-promise strong { font-size: .95rem; }
	.dbm-h-promise span, .dbm-h-fine { font-size: .8125rem; line-height: 1.6; }
	.dbm-h-checks li { font-size: .875rem; font-weight: 500; }
	.dbm-h-checks li::before { font-size: .65rem; }

	/* Paths, steps, cards */
	.dbm-h-path h3 { font-size: 1.3rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.2; }
	.dbm-h-path p { font-size: .9rem; line-height: 1.6; }
	.dbm-h-ghost { font-size: 3.25rem; }
	.dbm-h-steps h3 { font-size: 1rem; font-weight: 700; }
	.dbm-h-steps p { font-size: .875rem; line-height: 1.6; }
	.dbm-h-courses h3 { font-size: 1.05rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.25; }
	.dbm-h-courses p { font-size: .84rem; line-height: 1.6; }
	.dbm-h-facts { font-size: .6875rem; letter-spacing: .06em; }
	.dbm-h-price { font-size: .75rem; }
	.dbm-h-svc h3, .dbm-h-cases h3 { font-size: 1.1rem; font-weight: 700; }
	.dbm-h-svc p, .dbm-h-cases p { font-size: .875rem; }

	/* Forms (inputs stay 16px so iOS never zooms) */
	.dbm-h-band-form label, .dbm-h-form label { font-size: .8125rem; font-weight: 500; }
	.dbm-h-band-form label:has(input[type=checkbox]), .dbm-h-band-form .dbm-consent { font-size: .78rem; line-height: 1.55; }

	/* Footer */
	.dbm-ft-band p { font-size: 1.25rem !important; font-weight: 700; letter-spacing: -.02em; }
	.dbm-ft-brand p { font-size: .875rem !important; }
	.dbm-ft nav a { font-size: .9rem !important; font-weight: 400; }
	.dbm-ft h2, .dbm-home .dbm-ft h2 { font-size: .6875rem !important; letter-spacing: .14em; }
	.dbm-ft-legal, .dbm-ft-note { font-size: .75rem; }
	.dbm-ft-note span { width: 24px; height: 24px; font-size: .68rem; }
	.dbm-ft-contact a, .dbm-ft-brand a { font-size: .9rem; font-weight: 500; }

	/* Inner pages */
	.dbm-page-head p { font-size: 1rem; }
	.dbm-card h3, .dbm-card h2, .dbm-row h3 { font-size: 1.05rem; }
}

/* ===== v1.9.8 consistency fixes ===== */

/* 1. Hamburger: remove the big outlined circle that brand.css put on the <details> itself */
.dbm-site-header .dbm-menu-toggle,
.dbm-home .dbm-site-header:not(.lt-scrolled) .dbm-menu-toggle,
.lt-js .dbm-site-header .dbm-menu-toggle {
	border: 0 !important; border-radius: 0 !important; background: transparent !important;
	padding: 0 !important; box-shadow: none !important; outline: 0 !important; color: inherit !important;
}
.dbm-site-header .dbm-menu-toggle summary { outline: 0; -webkit-tap-highlight-color: transparent; }
.dbm-site-header .dbm-menu-toggle summary:focus-visible { box-shadow: 0 0 0 2px var(--dbm-green) !important; }
.dbm-site-header .dbm-menu-toggle { color: #000 !important; }
.dbm-home .dbm-site-header:not(.lt-scrolled) .dbm-menu-toggle { color: #fff !important; }
.lt-menu-open .dbm-menu-toggle { color: #fff !important; }
.lt-menu-open .dbm-m-login { color: #fff !important; }

/* 2. Overlay menu: full-width rows, no duplicate "Sign in", one tidy CTA */
@media (max-width: 960px) {
	.lt-js .lt-menu-open .dbm-nav ul { width: 100%; }
	.lt-js .lt-menu-open .dbm-nav li { width: 100%; }
	.lt-js .lt-menu-open .dbm-nav a { display: flex !important; width: 100%; border-bottom: 1px solid rgba(255,255,255,.1) !important; }
	.lt-js .lt-menu-open .dbm-header-actions a:not(.dbm-button) { display: none !important; }
	.lt-js .lt-menu-open .dbm-header-actions .dbm-button {
		display: flex !important; width: 100% !important; justify-content: center !important; text-align: center;
		min-height: 50px; font-size: .9375rem; font-weight: 600;
	}
	.lt-js .lt-menu-open .dbm-header-actions { padding-left: var(--dbm-s5); padding-right: var(--dbm-s5); }
}

/* 3. Newsletter form: hide the honeypot that was showing as an empty box, unify every field */
.dbm-h-band-form .hp, .dbm-h-band-form .dbm-hp, .dbm-h-band-form [class*="honey"], .dbm-h-band-form [class*="-hp"],
.dbm-h-band-form [aria-hidden="true"]:not(svg):not(span),
.dbm-h-band-form label:has(input[tabindex="-1"]), .dbm-h-band-form label:has(input[name*="hp"]),
.dbm-h-band-form label:has(input[name*="honey"]), .dbm-h-band-form label:has(input[name*="website"]),
.dbm-h-band-form input[tabindex="-1"], .dbm-h-band-form input[autocomplete="off"][name*="hp"] {
	position: absolute !important; left: -9999px !important; top: auto !important;
	width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important;
}
.dbm-h-band-form input:not([type=checkbox]):not([type=hidden]):not([type=submit]):not([tabindex="-1"]) {
	width: 100% !important; height: 52px; padding: 0 16px !important; font-size: 16px; font-family: inherit;
	border: 1.5px solid var(--dbm-line) !important; border-radius: 14px !important; background: #fff; box-sizing: border-box;
}
.dbm-h-band-form input:not([type=checkbox]):focus { border-color: #000 !important; outline: 0; }
.dbm-h-band-form input::placeholder { color: #7a827c; font-size: .9375rem; }

/* ===== v1.9.9 ===== */
/* Hero headline: a touch bigger on phones */
@media (max-width: 760px) {
	.dbm-h-hero h1, .dbm-home .dbm-h-hero h1 { font-size: clamp(2.1rem, 10vw, 2.6rem); line-height: 1.07; letter-spacing: -.035em; }
	.dbm-h-hero .dbm-hero-lead { max-width: 34ch; }
}
/* Premium buttons */
.dbm-button, [class*="dbm-h-btn"] { border-radius: 999px; box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 8px 18px -12px rgba(0,0,0,.35); transition: transform .15s, box-shadow .2s, background .2s, color .2s; }
.dbm-button:hover, [class*="dbm-h-btn"]:hover { box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 12px 24px -12px rgba(0,0,0,.4); }
.dbm-button:active, [class*="dbm-h-btn"]:active { transform: scale(.975); }
.dbm-button:focus-visible, [class*="dbm-h-btn"]:focus-visible { outline: 2px solid var(--dbm-green); outline-offset: 3px; }
/* Premium lists: hairline rows, no heavy boxes */
.dbm-rows > li, .dbm-curriculum > li, .dbm-facts li, .dbm-h-checks li { border-color: rgba(0,0,0,.07); }
.dbm-rows > li, .dbm-curriculum > li { border-radius: 14px; transition: background .18s, transform .18s; }
.dbm-rows > li:hover, .dbm-curriculum > li:hover { background: var(--dbm-surface); }
.dbm-card, .dbm-h-courses article { box-shadow: 0 0 0 1px rgba(0,0,0,.06), 0 14px 30px -24px rgba(0,0,0,.3); }
