/* ==========================================================================
   Contact page — base camp radio
   ========================================================================== */

.rg-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

.rg-js .rg-reveal {
	opacity: 0; transform: translateY(24px); filter: blur(6px);
	transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), filter 0.8s ease;
	transition-delay: var(--d, 0ms);
}
.rg-js .rg-reveal.is-in { opacity: 1; transform: none; filter: none; }

/* ---------- Layout ---------------------------------------------------------- */

.rg-ct {
	display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: start;
	padding-block: clamp(3rem, 7vw, 6rem) clamp(2rem, 4vw, 3rem);
}
.rg-ct > * { margin: 0 !important; }
.rg-ct__intro > * + * { margin-top: 22px !important; }
.rg-ct__title { font-size: clamp(3rem, 7vw, 6rem) !important; line-height: 0.95 !important; }
.rg-ct__title em { color: var(--wp--preset--color--forest); }
.rg-ct__form { position: sticky; top: 24px; }
@media (max-width: 960px) {
	.rg-ct { grid-template-columns: 1fr; }
	.rg-ct__form { position: static; }
}

/* ---------- Live status card ---------------------------------------------- */

.rg-status {
	padding: 22px 24px; border-radius: var(--rg-radius); background: var(--wp--preset--color--paper); border: 1px solid var(--rg-line);
	box-shadow: 0 18px 40px -26px rgba(60, 45, 20, 0.45);
}
.rg-status > * { margin: 0; }
.rg-status > * + * { margin-top: 10px; }
.rg-status__clock { display: flex; align-items: center; gap: 12px; font-size: 1.0625rem; }
.rg-status__clock b { font: 800 2rem/1 var(--wp--preset--font-family--display); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.rg-status__where { color: #6B5A3E; font: 500 0.8125rem/1 var(--wp--preset--font-family--mono); letter-spacing: 0.06em; text-transform: uppercase; }
.rg-status__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #F7D8A4; color: #B9531F; position: relative; overflow: hidden; }
.rg-status__icon svg { position: absolute; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease; }
.rg-status__moon { transform: translateY(140%) rotate(-30deg); opacity: 0; }
.rg-status.is-night .rg-status__icon { background: #22313B; color: #F4F1E6; }
.rg-status.is-night .rg-status__sun { transform: translateY(-140%) rotate(40deg); opacity: 0; }
.rg-status.is-night .rg-status__moon { transform: none; opacity: 1; }
.rg-status__now { display: flex; align-items: center; gap: 10px; font-weight: 600; }
.rg-status__dot { flex: none; width: 10px; height: 10px; border-radius: 50%; background: #3FA36B; box-shadow: 0 0 0 0 rgba(63, 163, 107, 0.6); animation: rg-live 2s ease-out infinite; }
.rg-status.is-away .rg-status__dot { background: #E8B86B; animation-name: rg-live-amber; }
@keyframes rg-live { 70%, 100% { box-shadow: 0 0 0 10px rgba(63, 163, 107, 0); } }
@keyframes rg-live-amber { 0% { box-shadow: 0 0 0 0 rgba(232, 184, 107, 0.6); } 70%, 100% { box-shadow: 0 0 0 10px rgba(232, 184, 107, 0); } }
.rg-status__reply { color: #4E5A4F; font-size: 0.9375rem; }

/* ---------- Other ways to reach me ---------------------------------------- */

.rg-reach { display: grid; gap: 12px; margin-top: 28px !important; }
.rg-reach__card {
	position: relative; display: flex; align-items: center; gap: 14px; padding: 14px 18px; border-radius: 18px;
	background: var(--wp--preset--color--paper); border: 1px solid var(--rg-line); color: inherit; text-decoration: none;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.35s ease;
}
a.rg-reach__card:hover, .rg-reach__card--mail:hover { transform: translateX(6px); box-shadow: 0 14px 28px -18px rgba(60, 45, 20, 0.55); border-color: #D9C9A6; }
.rg-reach__link { flex: 1; display: flex; align-items: center; gap: 14px; color: inherit !important; text-decoration: none; min-height: 44px; }
.rg-reach__icon { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; color: var(--wp--preset--color--sand); transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); }
.rg-reach__card:hover .rg-reach__icon { transform: rotate(-8deg) scale(1.08); }
.rg-reach__card--mail .rg-reach__icon { background: var(--wp--preset--color--ember); }
.rg-reach__card--ig .rg-reach__icon { background: var(--wp--preset--color--lake); }
.rg-reach__card--in .rg-reach__icon { background: var(--wp--preset--color--forest); }
.rg-reach__text { display: flex; flex-direction: column; gap: 3px; }
.rg-reach__text b { font: 800 1.1875rem/1.1 var(--wp--preset--font-family--display); }
.rg-reach__text span { font-size: 0.875rem; color: #6A6A63; }
.rg-reach__arrow { margin-left: auto; font-size: 1.2rem; transition: transform 0.35s ease; }
.rg-reach__card:hover .rg-reach__arrow { transform: translate(3px, -3px); }
.rg-reach__copy {
	flex: none; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--rg-line); background: transparent; cursor: pointer;
	font: 500 0.75rem/1 var(--wp--preset--font-family--mono); letter-spacing: 0.06em; text-transform: uppercase; color: inherit;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.rg-reach__copy:hover { border-color: var(--wp--preset--color--ember); }
.rg-reach__copy.is-copied { background: #3FA36B; border-color: #3FA36B; color: #fff; }
.rg-reach__copy:focus-visible, .rg-reach__card:focus-visible { outline: 3px solid var(--wp--preset--color--ember); outline-offset: 3px; }

/* ---------- Form card ------------------------------------------------------ */

.rg-formcard {
	position: relative; padding: clamp(24px, 4vw, 40px); border-radius: 28px; overflow: hidden;
	background: var(--wp--preset--color--paper); border: 1px solid var(--rg-line);
	box-shadow: 0 30px 70px -40px rgba(60, 45, 20, 0.55);
}
.rg-formcard__head > * { margin: 0; }
.rg-formcard__head > * + * { margin-top: 12px; }
.rg-formcard__title { font-size: clamp(2rem, 3.4vw, 2.75rem); line-height: 1.02; }
.rg-formcard__title em { color: var(--wp--preset--color--ember); }
.rg-formcard__sub { color: #4E5A4F; }
.rg-formcard__privacy { display: flex; align-items: center; gap: 8px; margin: 22px 0 0; font-size: 0.875rem; color: #6A6A63; }
.rg-formcard__privacy svg { flex: none; color: #3FA36B; }
.rg-formcard__fallback { margin-top: 24px; padding: 22px; border-radius: 18px; background: #F3EAD7; }
.rg-formcard__fallback > * { margin: 0; }
.rg-formcard__fallback > * + * { margin-top: 14px; }
.rg-formcard__admin { font-size: 0.875rem; padding: 12px 14px; border-radius: 12px; background: #FBE3D2; color: #6B2E10; }

/* ---------- Gravity Forms, restyled ---------------------------------------- */

.rg-gf { margin-top: 26px; }
.rg-gf .gform_wrapper { margin: 0; }
.rg-gf .gform_fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; margin: 0; padding: 0; list-style: none; }
.rg-gf .gfield { grid-column: 1 / -1; margin: 0; padding: 0; border: 0; min-width: 0; }
.rg-gf .gfield.rg-gf-half { grid-column: span 1; }
@media (max-width: 560px) {
	.rg-gf .gfield.rg-gf-half { grid-column: 1 / -1; }
	.rg-gf .rg-gf-topics .gfield_radio { grid-template-columns: 1fr !important; }
}
.rg-gf .gform_validation_container, .rg-gf .gfield--type-honeypot, .rg-gf .gform_hidden, .rg-gf .gfield_visibility_hidden { display: none !important; }

.rg-gf .gfield_label, .rg-gf legend.gfield_label {
	display: block; margin: 0 0 8px; padding: 0;
	font: 500 0.75rem/1.2 var(--wp--preset--font-family--mono); letter-spacing: 0.12em; text-transform: uppercase; color: #6B5A3E;
	transition: color 0.3s ease;
}
.rg-gf .gfield_required { margin-left: 6px; color: var(--wp--preset--color--ember); font-size: 0.6875rem; letter-spacing: 0.04em; text-transform: none; }
.rg-gf .gfield:focus-within .gfield_label { color: var(--wp--preset--color--ember); }

.rg-gf input[type="text"], .rg-gf input[type="email"], .rg-gf textarea {
	width: 100%; box-sizing: border-box; padding: 14px 16px; border-radius: 14px;
	border: 1.5px solid #E3D6BA; background: #FFFDF8; color: var(--wp--preset--color--ink);
	font: 400 1.0625rem/1.4 var(--wp--preset--font-family--body);
	transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}
.rg-gf textarea { min-height: 150px; resize: vertical; }
.rg-gf input::placeholder, .rg-gf textarea::placeholder { color: #A39B88; transition: opacity 0.25s ease; }
.rg-gf input:focus, .rg-gf textarea:focus { outline: none; border-color: var(--wp--preset--color--ember); background: #fff; box-shadow: 0 0 0 4px rgba(185, 83, 31, 0.14); }
.rg-gf .rg-gf-message textarea.is-swapping::placeholder { opacity: 0; }
.rg-gf .ginput_counter { margin-top: 6px; text-align: right; font: 500 0.75rem/1 var(--wp--preset--font-family--mono); color: #A39B88; }

/* Topic picker: the radio field as big tappable cards */
.rg-gf .rg-gf-topics .gfield_radio { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.rg-gf .rg-gf-topics .gchoice { position: relative; margin: 0; }
.rg-gf .rg-gf-topics input[type="radio"] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.rg-gf .rg-gf-topics .gchoice label {
	display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 12px 16px; border-radius: 16px; box-sizing: border-box;
	border: 1.5px solid #E3D6BA; background: #FFFDF8; cursor: pointer;
	font: 700 1rem/1.2 var(--wp--preset--font-family--body); color: var(--wp--preset--color--ink);
	transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.rg-gf .rg-gf-topics .gchoice label::before {
	content: ""; flex: none; width: 38px; height: 38px; border-radius: 12px; background-color: #F3EAD7;
	background-repeat: no-repeat; background-position: center; background-size: 20px;
	transition: background-color 0.3s ease, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.rg-gf .rg-gf-topics .gchoice:nth-child(1) label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B9531F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 8l-4 4 4 4M16 8l4 4-4 4M14 5l-4 14'/%3E%3C/svg%3E"); }
.rg-gf .rg-gf-topics .gchoice:nth-child(2) label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B9531F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 16V9a2 2 0 0 1 2-2h11l4 4v5a1 1 0 0 1-1 1h-1M3 16a1 1 0 0 0 1 1h1M9 17h6'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/svg%3E"); }
.rg-gf .rg-gf-topics .gchoice:nth-child(3) label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B9531F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20l9-15 9 15z'/%3E%3Cpath d='M12 20v-6'/%3E%3C/svg%3E"); }
.rg-gf .rg-gf-topics .gchoice:nth-child(4) label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B9531F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 11V7a2 2 0 0 1 4 0v4M11 10V5a2 2 0 0 1 4 0v6M15 10a2 2 0 0 1 4 0v4a7 7 0 0 1-7 7h-1a6 6 0 0 1-5-3l-2-4a2 2 0 0 1 3-2l1 1'/%3E%3C/svg%3E"); }
.rg-gf .rg-gf-topics .gchoice:hover label { transform: translateY(-2px); border-color: #D9C9A6; box-shadow: 0 10px 20px -14px rgba(60, 45, 20, 0.5); }
.rg-gf .rg-gf-topics .gchoice:hover label::before { transform: rotate(-8deg) scale(1.06); }
.rg-gf .rg-gf-topics input:checked + label { background: var(--wp--preset--color--forest); border-color: var(--wp--preset--color--forest); color: var(--wp--preset--color--sand); box-shadow: 0 12px 24px -14px rgba(31, 42, 34, 0.7); }
.rg-gf .rg-gf-topics input:checked + label::before,
html[data-rg-mode="weekend"] .rg-gf .rg-gf-topics input:checked + label::before { background-color: transparent; filter: brightness(0) invert(1); transform: scale(1.08); }
.rg-gf .rg-gf-topics input:focus-visible + label { outline: 3px solid var(--wp--preset--color--ember); outline-offset: 2px; }
.rg-gf .rg-gf-topics .gchoice.is-pop label { animation: rg-pop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1); }
@keyframes rg-pop { 40% { transform: scale(0.96); } 100% { transform: none; } }

/* Validation */
.rg-gf .gform_validation_errors { margin: 0 0 18px; padding: 12px 16px; border-radius: 14px; background: #FBE3D2; color: #6B2E10; }
.rg-gf .gform_validation_errors h2 { margin: 0; font: 600 0.9375rem/1.4 var(--wp--preset--font-family--body); }
.rg-gf .gfield_error input, .rg-gf .gfield_error textarea, .rg-gf .gfield_error .gchoice label { border-color: #C2410C; }
.rg-gf .validation_message { margin-top: 8px; font-size: 0.875rem; color: #B23A0B; }
.rg-gf .gfield_error { animation: rg-shake 0.4s ease; }
@keyframes rg-shake { 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } }

/* Send button */
.rg-gf .gform_footer { margin-top: 22px; padding: 0; display: flex; align-items: center; gap: 14px; }
.rg-gf .rg-send, .rg-gf .gform_button {
	position: relative; display: inline-flex; align-items: center; gap: 12px; min-height: 56px; padding: 0 12px 0 26px; overflow: hidden;
	border: 0; border-radius: 999px; cursor: pointer; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--sand);
	font: 600 1.0625rem/1 var(--wp--preset--font-family--body); transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}
.rg-gf .rg-send__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--wp--preset--color--ember); transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1); }
.rg-gf .rg-send:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -16px rgba(31, 42, 34, 0.7); }
.rg-gf .rg-send:hover .rg-send__icon { transform: translateX(4px) rotate(-12deg); }
.rg-gf .rg-send:focus-visible { outline: 3px solid var(--wp--preset--color--ember); outline-offset: 3px; }
.rg-gf .rg-send.is-sending { pointer-events: none; }
.rg-gf .rg-send.is-sending .rg-send__icon { animation: rg-fly-off 0.9s cubic-bezier(0.55, 0, 1, 0.45) forwards; }
@keyframes rg-fly-off { 40% { transform: translateX(-4px); } 100% { transform: translateX(160px) rotate(-20deg); opacity: 0; } }
.rg-gf .gform_ajax_spinner, .rg-gf .gform-loader { margin-left: 8px; width: 22px; height: 22px; }

/* Confirmation */
.rg-gf .gform_confirmation_message {
	position: relative; padding: 34px 28px 30px; border-radius: 20px; text-align: center;
	background: radial-gradient(120% 120% at 50% 110%, #F3BE86 0%, #F7D8A4 40%, #FFFDF8 75%);
	animation: rg-land 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.rg-gf .gform_confirmation_message::before {
	content: ""; display: block; width: 64px; height: 64px; margin: 0 auto 14px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cpath d='M28 6c6 10 12 14 12 24a12 12 0 0 1-24 0c0-6 4-8 5-14 3 4 4 6 7 6-2-6-2-10 0-16z' fill='%23E8743B'/%3E%3Cpath d='M28 24c3 5 6 7 6 12a6 6 0 0 1-12 0c0-3 2-4 3-7 1 2 2 3 3 3-1-3-1-5 0-8z' fill='%23E8B86B'/%3E%3Cpath d='M10 50l36-8M46 50L10 42' stroke='%236B4A2E' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
	animation: rg-flicker 0.2s ease-in-out infinite alternate;
	transform-origin: 50% 90%;
}
@keyframes rg-flicker { to { transform: scale(0.97, 1.04); } }
@keyframes rg-land { from { opacity: 0; transform: translateY(16px) scale(0.98); } }
.rg-gf .gform_confirmation_message p { margin: 0; }
.rg-gf .gform_confirmation_message p + p { margin-top: 8px; color: #4E5A4F; }
.rg-gf-done__title { font: 800 1.75rem/1.1 var(--wp--preset--font-family--display); }
.rg-spark { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #F6B06A; pointer-events: none; animation: rg-spark 1.2s ease-out forwards; }
@keyframes rg-spark { to { transform: translate(var(--sx), var(--sy)); opacity: 0; } }

/* ---------- Night mode (Sat–Sun) ------------------------------------------ */

html[data-rg-mode="weekend"] .rg-ct__title em { color: #A9CDB2; }
html[data-rg-mode="weekend"] .rg-status,
html[data-rg-mode="weekend"] .rg-reach__card,
html[data-rg-mode="weekend"] .rg-formcard { background: var(--rg-n-surface); border-color: var(--rg-n-line); box-shadow: 0 30px 70px -40px rgba(0, 0, 0, 0.8); }
html[data-rg-mode="weekend"] .rg-status__where { color: #B7A27A; }
html[data-rg-mode="weekend"] .rg-status__reply,
html[data-rg-mode="weekend"] .rg-formcard__sub,
html[data-rg-mode="weekend"] .rg-reach__text span,
html[data-rg-mode="weekend"] .rg-formcard__privacy { color: var(--rg-n-muted); }
html[data-rg-mode="weekend"] .rg-reach__copy { border-color: var(--rg-n-line); }
html[data-rg-mode="weekend"] .rg-formcard__title em { color: var(--rg-n-ember); }
html[data-rg-mode="weekend"] .rg-formcard__fallback { background: var(--rg-n-surface-2); }
html[data-rg-mode="weekend"] .rg-gf .gfield_label { color: #B7A27A; }
html[data-rg-mode="weekend"] .rg-gf .gfield:focus-within .gfield_label { color: var(--rg-n-accent); }
html[data-rg-mode="weekend"] .rg-gf input[type="text"],
html[data-rg-mode="weekend"] .rg-gf input[type="email"],
html[data-rg-mode="weekend"] .rg-gf textarea,
html[data-rg-mode="weekend"] .rg-gf .rg-gf-topics .gchoice label { background: var(--rg-n-bg); border-color: var(--rg-n-line); color: var(--rg-n-text); }
html[data-rg-mode="weekend"] .rg-gf input:focus,
html[data-rg-mode="weekend"] .rg-gf textarea:focus { background: #0B110F; border-color: var(--rg-n-accent); box-shadow: 0 0 0 4px rgba(232, 184, 107, 0.16); }
html[data-rg-mode="weekend"] .rg-gf input::placeholder,
html[data-rg-mode="weekend"] .rg-gf textarea::placeholder { color: #6E7A70; }
html[data-rg-mode="weekend"] .rg-gf .rg-gf-topics .gchoice label::before { background-color: var(--rg-n-surface-2); }
html[data-rg-mode="weekend"] .rg-gf .rg-gf-topics input:checked + label { background: var(--wp--preset--color--forest); border-color: #4C7A5C; color: var(--rg-n-text); }
html[data-rg-mode="weekend"] .rg-gf .rg-send { background: var(--rg-n-accent); color: #111916; }
html[data-rg-mode="weekend"] .rg-gf .gform_confirmation_message { background: radial-gradient(120% 120% at 50% 110%, rgba(233, 132, 78, 0.55) 0%, rgba(232, 184, 107, 0.18) 40%, var(--rg-n-surface-2) 75%); }
html[data-rg-mode="weekend"] .rg-gf .gform_confirmation_message p + p { color: var(--rg-n-muted); }

/* ---------- Reduced motion ------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.rg-js .rg-reveal { opacity: 1; transform: none; filter: none; transition: none; }
	.rg-status__dot, .rg-gf .gform_confirmation_message, .rg-gf .gform_confirmation_message::before, .rg-gf .gfield_error, .rg-gf .rg-gf-topics .gchoice.is-pop label { animation: none !important; }
}

/* ---------- Any Gravity Form on the Contact page (e.g. form 2) ----------- */
.rg-gf .gform_heading { display: none; }
.rg-gf .gform_fields { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.rg-gf .gfield { grid-column: 1 / -1; }
.rg-gf .gfield--width-half, .rg-gf .gfield.rg-gf-half { grid-column: span 6; }
.rg-gf .gfield--width-third { grid-column: span 4; }
.rg-gf .gfield--width-two-thirds { grid-column: span 8; }
.rg-gf .gfield--width-quarter { grid-column: span 3; }
.rg-gf .gfield--width-three-quarter { grid-column: span 9; }
@media (max-width: 560px) {
	.rg-gf .gfield[class*="gfield--width-"], .rg-gf .gfield.rg-gf-half { grid-column: 1 / -1; }
}
.rg-gf fieldset.gfield { min-inline-size: 0; }

/* Every text-like input, selects included */
.rg-gf input[type="tel"], .rg-gf input[type="url"], .rg-gf input[type="number"], .rg-gf input[type="date"], .rg-gf input[type="password"], .rg-gf select {
	width: 100%; box-sizing: border-box; padding: 14px 16px; border-radius: 14px;
	border: 1.5px solid #E3D6BA; background: #FFFDF8; color: var(--wp--preset--color--ink);
	font: 400 1.0625rem/1.4 var(--wp--preset--font-family--body);
	transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}
.rg-gf select {
	appearance: none; -webkit-appearance: none; padding-right: 46px; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B9531F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 16px center; background-size: 18px;
}
.rg-gf input:focus, .rg-gf select:focus { outline: none; border-color: var(--wp--preset--color--ember); background-color: #fff; box-shadow: 0 0 0 4px rgba(185, 83, 31, 0.14); }

/* Name / address: sub-fields side by side, with small labels underneath */
.rg-gf .ginput_complex { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px 16px; }
.rg-gf .ginput_complex > span, .rg-gf .ginput_complex > div { display: flex; flex-direction: column-reverse; gap: 6px; margin: 0; }
.rg-gf .ginput_complex label, .rg-gf .gform-field-label--type-sub { font: 500 0.6875rem/1.2 var(--wp--preset--font-family--mono); letter-spacing: 0.08em; text-transform: uppercase; color: #A39B88; }
.rg-gf .ginput_full { grid-column: 1 / -1; }

/* Descriptions and helper text */
.rg-gf .gfield_description { margin-top: 8px; font-size: 0.875rem; line-height: 1.5; color: #7A7466; }
.rg-gf .gfield_description.validation_message { color: #B23A0B; }
.rg-gf .gsection { padding-top: 10px; border-top: 1px dashed #E3D6BA; }
.rg-gf .gsection_title { margin: 0; font: 700 1.25rem/1.2 var(--wp--preset--font-family--display); }

/* Radios and checkboxes (any field, not just topics): pill choices */
.rg-gf .gfield--type-radio:not(.rg-gf-topics) .gfield_radio,
.rg-gf .gfield--type-checkbox .gfield_checkbox { display: flex; flex-wrap: wrap; gap: 10px; }
.rg-gf .gfield--type-radio:not(.rg-gf-topics) .gchoice,
.rg-gf .gfield--type-checkbox .gchoice { position: relative; margin: 0; }
.rg-gf .gfield--type-radio:not(.rg-gf-topics) input,
.rg-gf .gfield--type-checkbox input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.rg-gf .gfield--type-radio:not(.rg-gf-topics) .gchoice label,
.rg-gf .gfield--type-checkbox .gchoice label {
	display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 18px 10px 14px; border-radius: 999px; box-sizing: border-box;
	border: 1.5px solid #E3D6BA; background: #FFFDF8; cursor: pointer; font: 600 0.9375rem/1.2 var(--wp--preset--font-family--body); color: var(--wp--preset--color--ink);
	transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.rg-gf .gfield--type-radio:not(.rg-gf-topics) .gchoice label::before,
.rg-gf .gfield--type-checkbox .gchoice label::before { content: ""; flex: none; width: 18px; height: 18px; border-radius: 50%; border: 2px solid #D9C9A6; background: #fff; transition: all 0.25s ease; }
.rg-gf .gfield--type-checkbox .gchoice label::before { border-radius: 6px; }
.rg-gf .gfield--type-radio:not(.rg-gf-topics) .gchoice:hover label,
.rg-gf .gfield--type-checkbox .gchoice:hover label { transform: translateY(-2px); border-color: #D9C9A6; }
.rg-gf .gfield--type-radio:not(.rg-gf-topics) input:checked + label,
.rg-gf .gfield--type-checkbox input:checked + label { background: var(--wp--preset--color--forest); border-color: var(--wp--preset--color--forest); color: var(--wp--preset--color--sand); }
.rg-gf .gfield--type-radio:not(.rg-gf-topics) input:checked + label::before { border-color: var(--wp--preset--color--sun); background: radial-gradient(circle, var(--wp--preset--color--sun) 0 4px, transparent 5px); }
.rg-gf .gfield--type-checkbox input:checked + label::before { border-color: var(--wp--preset--color--sun); background: var(--wp--preset--color--sun) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F2A22' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 14px no-repeat; }
.rg-gf .gfield--type-radio:not(.rg-gf-topics) input:focus-visible + label,
.rg-gf .gfield--type-checkbox input:focus-visible + label { outline: 3px solid var(--wp--preset--color--ember); outline-offset: 2px; }

/* Consent: a tidy tick row */
.rg-gf .gfield--type-consent .ginput_container_consent { display: flex; align-items: flex-start; gap: 12px; font-size: 0.9375rem; line-height: 1.5; }
.rg-gf .gfield--type-consent input[type="checkbox"] { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--wp--preset--color--forest); cursor: pointer; }

/* File upload */
.rg-gf .gform_drop_area, .rg-gf input[type="file"] { width: 100%; box-sizing: border-box; padding: 18px; border-radius: 14px; border: 1.5px dashed #D9C9A6; background: #FFFDF8; text-align: center; }
.rg-gf .gform_button_select_files { margin-left: 8px; padding: 8px 14px; border-radius: 999px; border: 1.5px solid var(--wp--preset--color--ink); background: transparent; cursor: pointer; font-weight: 600; }

/* Multi-page forms */
.rg-gf .gf_progressbar_wrapper { margin-bottom: 20px; }
.rg-gf .gf_progressbar { height: 8px; border-radius: 999px; background: #F3EAD7; overflow: hidden; }
.rg-gf .gf_progressbar_percentage { height: 100%; background: var(--wp--preset--color--ember); border-radius: inherit; }
.rg-gf .gf_progressbar_percentage span { display: none; }
.rg-gf .gform_page_footer { display: flex; gap: 12px; margin-top: 22px; }
.rg-gf .gform_previous_button, .rg-gf .gform_next_button { min-height: 50px; padding: 0 22px; border-radius: 999px; border: 1.5px solid var(--wp--preset--color--ink); background: transparent; color: var(--wp--preset--color--ink); cursor: pointer; font: 600 1rem/1 var(--wp--preset--font-family--body); }
.rg-gf .gform_next_button { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--sand); }

/* Weekend */
html[data-rg-mode="weekend"] .rg-gf input[type="tel"], html[data-rg-mode="weekend"] .rg-gf input[type="url"], html[data-rg-mode="weekend"] .rg-gf input[type="number"],
html[data-rg-mode="weekend"] .rg-gf input[type="date"], html[data-rg-mode="weekend"] .rg-gf select,
html[data-rg-mode="weekend"] .rg-gf .gfield--type-radio:not(.rg-gf-topics) .gchoice label,
html[data-rg-mode="weekend"] .rg-gf .gfield--type-checkbox .gchoice label,
html[data-rg-mode="weekend"] .rg-gf .gform_drop_area { background-color: var(--rg-n-bg); border-color: var(--rg-n-line); color: var(--rg-n-text); }
html[data-rg-mode="weekend"] .rg-gf .gfield--type-radio:not(.rg-gf-topics) input:checked + label,
html[data-rg-mode="weekend"] .rg-gf .gfield--type-checkbox input:checked + label { background: var(--rg-n-accent); border-color: var(--rg-n-accent); color: #111916; }
html[data-rg-mode="weekend"] .rg-gf .gfield_description { color: var(--rg-n-muted); }
html[data-rg-mode="weekend"] .rg-gf select:focus, html[data-rg-mode="weekend"] .rg-gf input[type="tel"]:focus { background-color: #0B110F; border-color: var(--rg-n-accent); }
html[data-rg-mode="weekend"] .rg-gf .gfield--type-radio:not(.rg-gf-topics) .gchoice label::before, html[data-rg-mode="weekend"] .rg-gf .gfield--type-checkbox .gchoice label::before { background-color: var(--rg-n-surface); border-color: var(--rg-n-dash); }
