/* 100K Kids — Contact V4 live */
.kkcontact{
	--kkc-red:#d9362b;
	--kkc-green:#203a33;
	--kkc-ink:#101010;
	--kkc-muted:#666765;
	--kkc-line:#dededa;
	--kkc-soft:#f3f3f1;
	--kkc-shell:min(1450px,calc(100% - 64px));
	--kkc-ease:cubic-bezier(.22,.75,.2,1);
	background:#fff;
	color:var(--kkc-ink);
	font-family:"Archivo",Arial,sans-serif
}
.kkcontact *{box-sizing:border-box}
.kkcontact-shell{width:var(--kkc-shell);margin-inline:auto}
.kkcontact-eyebrow{
	margin:0 0 24px;
	color:var(--kkc-red);
	font-size:10px;
	font-weight:900;
	letter-spacing:.11em;
	text-transform:uppercase
}

/* intro */
.kkcontact-hero{
	padding:58px 0 64px;
	border-bottom:1px solid var(--kkc-line)
}
.kkcontact-hero__inner{max-width:1280px}
.kkcontact-hero h1{
	max-width:960px;
	margin:0;
	font-size:clamp(52px,5.2vw,80px);
	line-height:.94;
	letter-spacing:-.058em;
	font-weight:800
}
.kkcontact-hero h1 span{color:var(--kkc-red)}
.kkcontact-summary{
	display:grid;
	grid-template-columns:180px minmax(0,720px);
	gap:52px;
	align-items:start;
	margin-top:34px;
	padding-top:24px;
	border-top:1px solid var(--kkc-ink)
}
.kkcontact-summary__label{
	color:var(--kkc-red);
	font-size:10px;
	font-weight:900;
	letter-spacing:.09em;
	text-transform:uppercase
}
.kkcontact-summary p{
	margin:0;
	color:#4f4f4f;
	font-size:17px;
	line-height:1.68
}

/* green help section */
.kkcontact-help{
	background:var(--kkc-green);
	color:#fff
}
.kkcontact-help__inner{
	display:grid;
	grid-template-columns:190px repeat(4,1fr);
	align-items:stretch
}
.kkcontact-help__label{
	padding:38px 28px 40px 0;
	color:var(--kkc-red);
	font-size:10px;
	font-weight:900;
	letter-spacing:.1em;
	text-transform:uppercase
}
.kkcontact-help__item{
	padding:38px 28px 40px;
	border-left:1px solid rgba(255,255,255,.2)
}
.kkcontact-help__num{
	display:block;
	margin-bottom:30px;
	color:rgba(255,255,255,.48);
	font-size:10px;
	font-weight:900;
	letter-spacing:.08em
}
.kkcontact-help__title{
	margin:0;
	max-width:230px;
	font-size:23px;
	line-height:1.04;
	letter-spacing:-.05em;
	font-weight:750
}
.kkcontact-help__item p{
	max-width:260px;
	margin:12px 0 0;
	color:rgba(255,255,255,.72);
	font-size:13px;
	line-height:1.58
}

/* form */
.kkcontact-form-section{
	padding:72px 0 86px;
	background:#fff
}
.kkcontact-form-heading{
	max-width:940px;
	margin:0 auto 42px;
	text-align:center
}
.kkcontact-form-heading .kkcontact-eyebrow{margin-bottom:14px}
.kkcontact-form-heading h2{
	margin:0;
	font-size:clamp(42px,4.6vw,68px);
	line-height:.94;
	letter-spacing:-.055em;
	font-weight:800
}
.kkcontact-form-heading p{
	max-width:650px;
	margin:16px auto 0;
	color:var(--kkc-muted);
	font-size:15px;
	line-height:1.65
}
.kkcontact-form{
	max-width:940px;
	margin-inline:auto;
	padding-top:28px;
	border-top:1px solid var(--kkc-ink)
}
.kkcontact-form-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:24px
}
.kkcontact-field{min-width:0}
.kkcontact-field--full{grid-column:1/-1}
.kkcontact-field label{
	display:block;
	margin:0 0 9px;
	color:var(--kkc-green);
	font-size:10px;
	font-weight:900;
	letter-spacing:.08em;
	text-transform:uppercase
}
.kkcontact-field label span{color:var(--kkc-red)}
.kkcontact-field label em{
	color:#777;
	font-style:normal;
	font-weight:700
}
.kkcontact-field input,
.kkcontact-field textarea{
	width:100%;
	border:1px solid #b9bab7;
	background:#fff;
	padding:15px 16px;
	outline:0;
	border-radius:0;
	box-shadow:none;
	font-size:15px;
	line-height:1.45;
	transition:border-color .18s var(--kkc-ease),box-shadow .18s var(--kkc-ease)
}
.kkcontact-field input{min-height:54px}
.kkcontact-field textarea{
	min-height:190px;
	resize:vertical
}
.kkcontact-field input:focus,
.kkcontact-field textarea:focus{
	border-color:var(--kkc-ink);
	box-shadow:0 0 0 1px var(--kkc-ink)
}
.kkcontact-field input::placeholder,
.kkcontact-field textarea::placeholder{color:#888984}
.kkcontact-field-note{
	margin-top:9px;
	color:#7b7b78;
	font-size:11px;
	line-height:1.55
}
.kkcontact-honeypot{
	position:absolute!important;
	left:-9999px!important;
	width:1px!important;
	height:1px!important;
	overflow:hidden!important
}

/* custom select */
.kkcontact-select{position:relative}
.kkcontact-select__button{
	width:100%;
	min-height:54px;
	padding:0 16px;
	border:1px solid #b9bab7;
	background:#fff;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	text-align:left;
	font-size:15px;
	transition:border-color .18s var(--kkc-ease),box-shadow .18s var(--kkc-ease)
}
.kkcontact-select__button:hover,
.kkcontact-select.is-open .kkcontact-select__button{
	border-color:var(--kkc-ink)
}
.kkcontact-select.is-open .kkcontact-select__button{
	box-shadow:0 0 0 1px var(--kkc-ink)
}
.kkcontact-select__chevron{
	position:relative;
	width:18px;
	height:18px;
	flex:0 0 18px
}
.kkcontact-select__chevron::before,
.kkcontact-select__chevron::after{
	content:"";
	position:absolute;
	top:8px;
	width:8px;
	height:2px;
	background:var(--kkc-ink);
	transition:transform .18s var(--kkc-ease)
}
.kkcontact-select__chevron::before{
	left:1px;
	transform:rotate(45deg)
}
.kkcontact-select__chevron::after{
	right:1px;
	transform:rotate(-45deg)
}
.kkcontact-select.is-open .kkcontact-select__chevron::before{transform:rotate(-45deg)}
.kkcontact-select.is-open .kkcontact-select__chevron::after{transform:rotate(45deg)}
.kkcontact-select__menu{
	position:absolute;
	left:0;
	right:0;
	top:calc(100% + 6px);
	z-index:40;
	display:none;
	border:1px solid var(--kkc-ink);
	background:#fff;
	box-shadow:0 12px 28px rgba(0,0,0,.12)
}
.kkcontact-select.is-open .kkcontact-select__menu{display:block}
.kkcontact-select__option{
	width:100%;
	min-height:50px;
	padding:0 16px;
	border:0;
	border-bottom:1px solid var(--kkc-line);
	background:#fff;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	text-align:left;
	font-size:14px
}
.kkcontact-select__option:last-child{border-bottom:0}
.kkcontact-select__option:hover{background:var(--kkc-soft)}
.kkcontact-select__option.is-selected{
	background:var(--kkc-green);
	color:#fff
}
.kkcontact-select__check{
	opacity:0;
	font-weight:900
}
.kkcontact-select__option.is-selected .kkcontact-select__check{opacity:1}

.kkcontact-form-actions{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:26px;
	margin-top:28px;
	padding-top:24px;
	border-top:1px solid var(--kkc-line)
}
.kkcontact-form-actions p{
	max-width:560px;
	margin:0;
	color:#777;
	font-size:11px;
	line-height:1.55
}
.kkcontact-submit{
	min-height:62px;
	min-width:205px;
	padding:0 22px;
	border:0;
	background:var(--kkc-red);
	color:#fff;
	font-size:11px;
	font-weight:900;
	letter-spacing:.045em;
	text-transform:uppercase;
	transition:background .18s var(--kkc-ease),transform .18s var(--kkc-ease)
}
.kkcontact-submit:hover{
	background:var(--kkc-ink);
	transform:translateY(-2px)
}

/* status messages */
.kkcontact-status{
	max-width:940px;
	margin:0 auto 24px;
	padding:16px 18px;
	border-left:4px solid;
	font-size:13px;
	line-height:1.6
}
.kkcontact-status strong{
	display:block;
	margin-bottom:3px;
	font-size:14px
}
.kkcontact-status--success{
	background:#f3f3f1;
	border-color:var(--kkc-green);
	color:var(--kkc-ink)
}
.kkcontact-status--error{
	background:#fff;
	border-color:var(--kkc-red);
	color:var(--kkc-ink)
}
.kkcontact-status--error ul{
	margin:6px 0 0;
	padding-left:18px
}

/* reveal */
.kkcontact [data-contact-reveal]{
	opacity:0;
	transform:translateY(14px);
	transition:opacity .55s var(--kkc-ease),transform .55s var(--kkc-ease)
}
.kkcontact [data-contact-reveal].is-visible{
	opacity:1;
	transform:none
}

@media(max-width:1180px){
	.kkcontact{--kkc-shell:min(100% - 40px,1450px)}
	.kkcontact-summary{
		grid-template-columns:150px 1fr;
		gap:30px
	}
	.kkcontact-help__inner{
		grid-template-columns:150px repeat(2,1fr)
	}
	.kkcontact-help__item:nth-child(4),
	.kkcontact-help__item:nth-child(5){
		border-top:1px solid rgba(255,255,255,.2)
	}
}
@media(max-width:820px){
	.kkcontact{--kkc-shell:calc(100% - 28px)}
	.kkcontact-hero{padding:40px 0 48px}
	.kkcontact-hero h1{font-size:clamp(42px,11.8vw,60px)}
	.kkcontact-summary{
		grid-template-columns:1fr;
		gap:10px;
		margin-top:28px;
		padding-top:18px
	}
	.kkcontact-summary p{font-size:16px}
	.kkcontact-help__inner{grid-template-columns:1fr}
	.kkcontact-help__label{padding:30px 0 0}
	.kkcontact-help__item{
		padding:24px 0 28px;
		border-left:0;
		border-top:1px solid rgba(255,255,255,.2)
	}
	.kkcontact-help__num{margin-bottom:14px}
	.kkcontact-form-section{padding:56px 0 66px}
	.kkcontact-form-heading{
		margin-bottom:32px;
		text-align:left
	}
	.kkcontact-form-heading p{
		margin-left:0;
		margin-right:0
	}
	.kkcontact-form-grid{grid-template-columns:1fr}
	.kkcontact-field--full{grid-column:auto}
	.kkcontact-form-actions{
		align-items:stretch;
		flex-direction:column
	}
	.kkcontact-submit{width:100%}
}
@media(max-width:560px){
	.kkcontact-select__menu{
		position:static;
		margin-top:6px;
		box-shadow:none
	}
}
@media(prefers-reduced-motion:reduce){
	.kkcontact [data-contact-reveal]{
		opacity:1;
		transform:none;
		transition:none
	}
	.kkcontact *,.kkcontact *::before,.kkcontact *::after{
		animation:none!important;
		transition:none!important
	}
}

@media(max-width:820px){.kkcontact-help__title{font-size:21px}}
