.oasf-intake {
	--oasf-intake-ink: #263925;
	--oasf-intake-accent: #bd4a00;
	--oasf-intake-border: #c8d0c2;
	--oasf-intake-soft: #f7f2e8;
	max-width: 680px;
	margin: 1.5rem auto;
	color: var(--oasf-intake-ink);
}
.oasf-intake *,
.oasf-intake *::before,
.oasf-intake *::after { box-sizing: border-box; }

.oasf-intake__form {
	display: grid;
	gap: .8rem;
}

.oasf-intake__fieldset {
	min-inline-size: 0;
	margin: 0;
	padding: clamp(.9rem, 1.5vw, 1.1rem);
	border: 1px solid var(--oasf-intake-border);
	border-radius: 14px;
	background: #fff;
}

.oasf-intake__fieldset legend {
	float: left;
	width: 100%;
	max-width: 100%;
	margin: 0 0 .55rem;
	padding: 0;
	font-size: clamp(1.12rem, 2vw, 1.25rem);
	font-weight: 750;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.oasf-intake__fieldset legend + * { clear: both; }

.oasf-intake__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .65rem .85rem;
}

.oasf-intake__grid > p { margin: 0; }

.oasf-intake__form > *,
.oasf-intake__grid > *,
.oasf-intake__checks > * { min-width: 0; }

.oasf-intake label:not(.oasf-intake__checks label):not(.oasf-intake__privacy label) {
	display: block;
	font-weight: 700;
}

.oasf-intake input[type="text"],
.oasf-intake input[type="email"],
.oasf-intake input[type="tel"],
.oasf-intake select,
.oasf-intake textarea {
	width: 100%;
	min-height: 44px;
	margin-top: .25rem;
	padding: .5rem .65rem;
	border: 2px solid #778171;
	border-radius: 8px;
	background: #fff;
	color: #172216;
	font: inherit;
}

.oasf-intake textarea { height: 6.5rem; min-height: 6.5rem; resize: vertical; }
.oasf-intake input:focus-visible,
.oasf-intake select:focus-visible,
.oasf-intake textarea:focus-visible,
.oasf-intake button:focus-visible { outline: 3px solid #156f7a; outline-offset: 3px; }

.oasf-intake__checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0; }
.oasf-intake__checks label,
.oasf-intake__privacy label { display: flex; align-items: flex-start; gap: .65rem; min-height: 44px; }
.oasf-intake__checks input,
.oasf-intake__privacy input { width: 1.25rem; height: 1.25rem; margin-top: .15rem; flex: 0 0 auto; accent-color: var(--oasf-intake-accent); }
.oasf-intake__guidance,
.oasf-intake__help { color: #4d594a; font-size: .95rem; }
.oasf-intake__guidance { margin-top: 0; }
.oasf-intake__help { display: block; margin-top: .4rem; font-weight: 400; }
.oasf-intake__privacy { padding: .8rem 1rem; border-left: 5px solid #d39a4b; background: var(--oasf-intake-soft); }
.oasf-intake__privacy p { margin: 0 0 .6rem; font-size: .92rem; line-height: 1.45; }
.oasf-intake__submit { min-height: 48px; padding: .75rem 1.5rem; border: 2px solid var(--oasf-intake-accent); border-radius: 999px; background: var(--oasf-intake-accent); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.oasf-intake__submit:hover { background: #8e3800; border-color: #8e3800; }
.oasf-intake__notice { margin: 1rem 0; padding: 1rem 1.25rem; border-radius: 10px; }
.oasf-intake__notice--success { border: 2px solid #3d7654; background: #edf7f0; }
.oasf-intake__notice--error { border: 2px solid #a13d37; background: #fff1ef; }
.oasf-intake__notice span { display: block; margin-top: .35rem; }
.oasf-intake__honey { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 640px) {
	.oasf-intake > h2 { font-size: clamp(1.9rem, 8vw, 2.25rem); }
	.oasf-intake__grid,
	.oasf-intake__checks { grid-template-columns: 1fr; }
	.oasf-intake__fieldset { border-radius: 12px; }
	.oasf-intake__submit { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.oasf-intake *, .oasf-intake *::before, .oasf-intake *::after { scroll-behavior: auto !important; transition: none !important; }
}

.oasf-intake__form{gap:.55rem}
.oasf-intake__fieldset{border-radius:10px;box-shadow:none}
.oasf-intake__focus{margin:1rem 0;border:1px solid var(--oasf-intake-border);border-radius:8px;padding:.7rem .85rem}
.oasf-intake__focus summary{cursor:pointer;min-height:44px;font-weight:700}
.oasf-intake__focus summary:focus-visible{outline:2px solid var(--oasf-intake-accent);outline-offset:3px}
.oasf-intake__focus .oasf-intake__checks{margin-top:.5rem}
.oasf-intake__other{margin-top:.5rem}
