/* Omnio Qualifier — self-contained styles. Palette mirrors the Next.js site
   (gold/navy/slate/cream). No gradient-mesh / glow tells; one restrained accent. */
.oq-root {
	--oq-gold: #b89968;
	--oq-navy: #0a1628;
	--oq-slate: #6b7280;
	--oq-cream: #faf8f4;
	--oq-border: #e6e2da;
	font-family: Inter, system-ui, -apple-system, sans-serif;
	color: var(--oq-navy);
	background: var(--oq-cream);
	padding: 24px 20px 80px;
	box-sizing: border-box;
}
.oq-root *, .oq-root *::before, .oq-root *::after { box-sizing: border-box; }

/* Hero */
.oq-hero { text-align: center; max-width: 600px; margin: 0 auto 40px; padding-top: 24px; }
.oq-eyebrow {
	font-size: 12px; font-weight: 600; letter-spacing: 0.25em; text-transform: uppercase;
	color: var(--oq-gold); margin: 0 0 18px;
}
.oq-title {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 5vw, 52px); font-weight: 400; line-height: 1.1;
	letter-spacing: -0.02em; margin: 0 0 18px; color: var(--oq-navy);
}
.oq-sub { color: var(--oq-slate); font-size: 16px; line-height: 1.7; max-width: 460px; margin: 0 auto; }
.oq-brand { font-weight: 600; }

/* Shell + progress */
.oq-shell { max-width: 600px; margin: 0 auto; }
.oq-progress { margin-bottom: 36px; }
.oq-steplabels { display: flex; justify-content: space-between; margin-bottom: 12px; }
.oq-steplabel {
	flex: 1; text-align: center; font-size: 11px; font-weight: 600;
	letter-spacing: 0.1em; text-transform: uppercase; color: var(--oq-slate);
	opacity: 0.35; transition: all 0.3s;
}
.oq-steplabel.oq-active { color: var(--oq-gold); opacity: 1; }
.oq-stepmobile {
	display: none; font-size: 12px; font-weight: 600; letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--oq-gold); margin: 0 0 10px; text-align: center;
}
.oq-bar { height: 3px; border-radius: 4px; background: var(--oq-border); overflow: hidden; }
.oq-bar-fill { height: 100%; border-radius: 4px; background: var(--oq-gold); width: 25%; transition: width 0.5s cubic-bezier(0.22,1,0.36,1); }

/* Card */
.oq-card {
	background: #fff; border-radius: 16px; border: 1px solid var(--oq-border);
	padding: clamp(28px, 5vw, 48px) clamp(20px, 4vw, 40px);
	box-shadow: 0 20px 60px rgba(0,0,0,0.04);
}
.oq-h2 { font-family: Georgia, serif; font-size: clamp(22px, 5vw, 28px); font-weight: 400; margin: 0 0 6px; color: var(--oq-navy); }
.oq-h2 em { font-style: normal; color: var(--oq-gold); }
.oq-desc { font-size: 14px; color: var(--oq-slate); margin: 0 0 28px; }

/* Fields */
.oq-field { margin-bottom: 20px; }
.oq-field label {
	display: block; font-size: 11px; font-weight: 600; letter-spacing: 0.14em;
	text-transform: uppercase; color: var(--oq-slate); margin-bottom: 10px;
}
.oq-input, .oq-select {
	width: 100%; padding: 16px 18px; font-size: 16px;
	font-family: inherit; border: 1.5px solid var(--oq-border); border-radius: 8px;
	background: var(--oq-cream); color: var(--oq-navy); outline: none;
	transition: border-color 0.3s, box-shadow 0.3s;
}
.oq-select {
	appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 44px;
	background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 16px center;
}
.oq-input:focus, .oq-select:focus { border-color: var(--oq-gold); box-shadow: 0 0 0 3px rgba(184,153,104,0.08); }
.oq-input.oq-invalid, .oq-select.oq-invalid { border-color: #e53e3e; }
.oq-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

/* Buttons */
.oq-nav { display: flex; gap: 12px; margin-top: 12px; }
.oq-btn {
	flex: 1; display: inline-flex; align-items: center; justify-content: center;
	padding: 15px 24px; font-size: 14px; font-weight: 600; font-family: inherit;
	letter-spacing: 0.02em; border-radius: 8px; border: 1.5px solid var(--oq-navy);
	background: var(--oq-navy); color: #fff; cursor: pointer;
	text-decoration: none; transition: all 0.25s ease;
}
.oq-btn:hover { background: #13233f; }
.oq-btn.oq-ghost { background: transparent; color: var(--oq-navy); }
.oq-btn.oq-ghost:hover { background: rgba(10,22,40,0.04); }
.oq-block { width: 100%; margin-top: 12px; }

/* Error */
.oq-error {
	margin-bottom: 16px; padding: 12px; border-radius: 8px; font-size: 13px;
	background: rgba(229,62,62,0.06); border: 1px solid rgba(229,62,62,0.2); color: #c53030;
}

/* Modal */
.oq-modal {
	position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center;
	justify-content: center; padding: 24px; background: rgba(10,22,40,0.6);
	backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.oq-modal[hidden] { display: none; }
.oq-modal-card {
	background: #fff; border-radius: 20px; text-align: center; max-width: 440px; width: 100%;
	padding: clamp(36px, 6vw, 56px) clamp(24px, 5vw, 48px);
	box-shadow: 0 40px 120px rgba(0,0,0,0.15); position: relative;
}
.oq-modal-close {
	position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%;
	border: none; background: rgba(10,22,40,0.04); color: var(--oq-slate); cursor: pointer;
	font-size: 14px; line-height: 1; transition: all 0.2s;
}
.oq-modal-close:hover { background: rgba(10,22,40,0.08); color: var(--oq-navy); }
.oq-check {
	width: 80px; height: 80px; border-radius: 50%; margin: 0 auto 28px;
	display: flex; align-items: center; justify-content: center; background: var(--oq-gold);
}
.oq-modal-title { font-family: Georgia, serif; font-size: 32px; font-weight: 400; margin: 0 0 16px; color: var(--oq-navy); }
.oq-modal-text { font-size: 15px; line-height: 1.7; color: var(--oq-slate); max-width: 340px; margin: 0 auto 12px; }
.oq-badge {
	display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 0.18em;
	text-transform: uppercase; color: var(--oq-gold); padding: 8px 14px; border-radius: 100px;
	background: rgba(184,153,104,0.08); margin: 0 0 28px;
}

/* Mobile */
@media (max-width: 600px) {
	.oq-steplabels { display: none; }
	.oq-stepmobile { display: block; }
	.oq-grid2 { grid-template-columns: 1fr; }
}
