/* Form section: lapis side panel + Gravity Form (Orbital theme) on a paper sheet.
   Orbital sets its variables from an id selector in an inline style, so ours carry !important. */

.ei.form { background: var(--ei-ivory); }
.ei .form__in { padding: clamp(64px, 8vw, 120px) 0; }
.ei .form__grid { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); align-items: start; }

/* Side panel */
.ei .form__panel { position: sticky; top: calc(var(--ei-hdr) + 24px); overflow: hidden; border-radius: 6px; background: var(--ei-lapis); color: var(--ei-light); box-shadow: inset 0 0 0 1px rgba(240, 196, 106, .25); }
.ei .form__pattern { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--ei-gold); opacity: .08; pointer-events: none; }
.ei .form__panel-in { position: relative; padding: clamp(28px, 3vw, 40px); }
.ei .form__panel .h-md { color: var(--ei-light); }
.ei .form__panel .lead { color: #cfd4e6; font-size: 16px; margin-top: 14px; }
.ei .form__contact { margin-top: 28px; display: grid; gap: 16px; padding-top: 22px; border-top: 1px solid rgba(240, 196, 106, .3); }
.ei .form__contact li { display: flex; flex-direction: column; gap: 2px; }
.ei .form__k { font-size: 13.5px; font-weight: 600; color: var(--ei-gold-2); }
.ei .form__big { font: 400 clamp(28px, 2.6vw, 36px)/1.1 var(--ei-display); text-decoration: none; color: var(--ei-light); }
.ei .form__mail { color: var(--ei-light-2); text-decoration: none; overflow-wrap: anywhere; }
.ei .form__big:hover, .ei .form__mail:hover { color: var(--ei-gold-2); }
.ei .form__points { margin-top: 28px; display: grid; gap: 14px; counter-reset: fp; }
.ei .form__points li { position: relative; display: flex; flex-direction: column; gap: 2px; padding-left: 26px; }
.ei .form__points li::before { content: ""; position: absolute; left: 0; top: 7px; width: 10px; height: 10px; background: var(--ei-gold-2); transform: rotate(45deg); }
.ei .form__points--steps li { counter-increment: fp; padding-left: 40px; }
.ei .form__points--steps li::before { content: counter(fp); top: -2px; width: auto; height: auto; background: none; transform: none; font: 400 28px/1 var(--ei-display); color: var(--ei-gold-2); }
.ei .form__points b { font-weight: 600; font-size: 16px; }
.ei .form__points span { font-size: 14.5px; color: var(--ei-light-2); }
.ei .form__hint { margin-top: 20px; font-size: 14px; color: var(--ei-light-2); }
.ei .form__k--social { margin-top: 28px; }
.ei .form__social { display: flex; gap: 4px; margin-top: 6px; margin-left: -8px; }
.ei .form__social a { display: grid; place-items: center; width: 42px; height: 42px; color: var(--ei-light); }
.ei .form__social a:hover { color: var(--ei-gold-2); }
.ei .form__photo { position: relative; margin: 32px auto 0; width: min(260px, 80%); aspect-ratio: 1; }
.ei .form__img { width: 100%; height: 100%; object-fit: cover; clip-path: polygon(50% 0, 64.6% 14.6%, 85.4% 14.6%, 85.4% 35.4%, 100% 50%, 85.4% 64.6%, 85.4% 85.4%, 64.6% 85.4%, 50% 100%, 35.4% 85.4%, 14.6% 85.4%, 14.6% 64.6%, 0 50%, 14.6% 35.4%, 14.6% 14.6%, 35.4% 14.6%); }
.ei .form__star { position: absolute; inset: -2%; width: 104%; height: 104%; fill: none; stroke: var(--ei-gold-2); stroke-width: .012; pointer-events: none; }

/* Form sheet */
.ei .form__sheet { background: var(--ei-paper); border-radius: 6px; padding: clamp(24px, 3.4vw, 48px); box-shadow: 0 0 0 1px var(--ei-line), 0 40px 80px -50px rgba(16, 26, 63, .45); min-width: 0; }
.ei .form__sheet-t { font: 400 clamp(26px, 2.4vw, 34px)/1.1 var(--ei-display); margin-bottom: 8px; }
.ei .form__sheet-p { color: var(--ei-body); margin-bottom: 8px; max-width: 60ch; }
.ei .form__empty { padding: 28px; border: 1.5px dashed var(--ei-line); border-radius: 6px; color: var(--ei-muted); }

/* Gravity Forms (Orbital) */
.ei.form .gform_wrapper.gform-theme {
	--gf-color-primary: var(--ei-amber) !important;
	--gf-color-primary-rgb: 244, 162, 30 !important;
	--gf-color-primary-contrast: var(--ei-ink) !important;
	--gf-color-primary-darker: #d98a0c !important;
	--gf-color-primary-lighter: var(--ei-gold-2) !important;
	--gf-color-in-ctrl: #fff !important;
	--gf-ctrl-bg-color: #fff !important;
	--gf-ctrl-border-color: #cfc7b6 !important;
	--gf-ctrl-border-color-hover: #a99f8a !important;
	--gf-ctrl-border-color-focus: var(--ei-amber) !important;
	--gf-ctrl-radius: 6px !important;
	--gf-ctrl-size-md: 50px !important;
	--gf-ctrl-label-color-primary: var(--ei-ink) !important;
	--gf-ctrl-label-color-secondary: var(--ei-muted) !important;
	--gf-ctrl-desc-color: var(--ei-muted) !important;
	--gf-ctrl-outline-color-focus: rgba(244, 162, 30, .35) !important;
	--gf-font-family-base: var(--ei-sans) !important;
	--gf-font-family-primary: var(--ei-sans) !important;
	--gf-font-family-secondary: var(--ei-sans) !important;
	--gf-ctrl-btn-radius: 999px !important;
	--gf-ctrl-btn-font-size: 16px !important;
	--gf-ctrl-btn-font-weight: 600 !important;
	--gf-ctrl-btn-padding-x: 28px !important;
	--gf-ctrl-btn-size: 52px !important;
	--gf-form-gap-y: 26px !important;
	font-family: var(--ei-sans);
}
.ei.form .gform_wrapper .gform_heading { margin-bottom: 18px; }
.ei.form .gform_wrapper .gform_title { font: 400 30px/1.1 var(--ei-display); }
.ei.form .gform_wrapper .gfield_label, .ei.form .gform_wrapper legend.gfield_label { font-weight: 600; font-size: 15px; }
.ei.form .gform_wrapper .gsection_title { font: 400 26px/1.15 var(--ei-display); }
.ei.form .gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
.ei.form .gform_wrapper select,
.ei.form .gform_wrapper textarea { font-size: 16px; }

/* Radios and checkboxes as chips (consent stays a plain checkbox) */
.ei.form .gfield--type-radio .gfield_radio,
.ei.form .gfield--type-checkbox .gfield_checkbox { display: flex !important; flex-wrap: wrap; gap: 8px; }
.ei.form .gfield--type-radio .gchoice,
.ei.form .gfield--type-checkbox .gchoice { position: relative; margin: 0 !important; display: block !important; }
.ei.form .gfield--type-radio .gchoice input,
.ei.form .gfield--type-checkbox .gchoice input { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; margin: 0 !important; opacity: 0; cursor: pointer; z-index: 1; }
.ei.form .gfield--type-radio .gchoice label,
.ei.form .gfield--type-checkbox .gchoice label {
	display: inline-flex !important; align-items: center; gap: 8px; min-height: 42px; margin: 0 !important; padding: 8px 16px !important;
	border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px #cfc7b6; font-size: 15px !important; font-weight: 500; line-height: 1.25; cursor: pointer;
	transition: background-color .15s, box-shadow .15s, color .15s; max-width: none !important;
}
.ei.form .gfield--type-checkbox .gchoice label::before { content: ""; width: 15px; height: 15px; border-radius: 4px; flex: none; box-shadow: inset 0 0 0 1.5px #a99f8a; background: transparent center / 11px no-repeat; }
.ei.form .gfield--type-radio .gchoice input:checked + label { background: var(--ei-lapis); color: var(--ei-light); box-shadow: none; }
.ei.form .gfield--type-checkbox .gchoice input:checked + label { box-shadow: inset 0 0 0 1.5px var(--ei-amber); background: #fff8eb; }
.ei.form .gfield--type-checkbox .gchoice input:checked + label::before { box-shadow: none; background-color: var(--ei-amber);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6l4.6-5' fill='none' stroke='%23141a2e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ei.form .gfield--type-radio .gchoice input:focus-visible + label,
.ei.form .gfield--type-checkbox .gchoice input:focus-visible + label { outline: 3px solid var(--ei-amber); outline-offset: 2px; }
.ei.form .gfield--type-radio .gchoice label:hover,
.ei.form .gfield--type-checkbox .gchoice label:hover { box-shadow: inset 0 0 0 1.5px var(--ei-lapis); }

/* Submit */
.ei.form .gform_wrapper .gform_footer, .ei.form .gform_wrapper .gform_page_footer { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--ei-line); }
.ei.form .gform_wrapper .gform_button, .ei.form .gform_wrapper .gform_next_button, .ei.form .gform_wrapper .gform_previous_button { font-family: var(--ei-sans) !important; }
.ei.form .gform_confirmation_message { font: 400 26px/1.3 var(--ei-display); padding: 28px; border-radius: 6px; background: #fff8eb; box-shadow: inset 0 0 0 1px var(--ei-amber); }

@media (max-width: 1020px) {
	.ei .form__grid { grid-template-columns: minmax(0, 1fr); }
	.ei .form__panel { position: relative; top: auto; }
	.ei .form__photo { display: none; }
}
@media (max-width: 720px) {
	.ei .form__in { padding: 56px 0 64px; }
	.ei .form__sheet { padding: 22px 18px; }
}
