.modal{
	display:none;
	position:fixed;
	inset:0;
	z-index:9999;
	align-items:center;
	justify-content:center;
	padding:24px;
	font-size:14px;
}
.modal[aria-hidden="false"]{display:flex}
.modal-backdrop{
	position:absolute;
	inset:0;
	background:rgba(3,16,34,.72);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	animation:quoteFade .2s ease-out;
}
.modal-dialog{
	position:relative;
	z-index:2;
	width:min(900px,96vw);
	max-height:min(820px,94vh);
	display:flex;
	flex-direction:column;
	overflow:hidden;
	padding:0;
	color:#071d3a;
	background:#fff;
	border:1px solid rgba(255,255,255,.7);
	border-radius:22px;
	box-shadow:0 28px 90px rgba(0,0,0,.34);
	animation:quoteIn .25s cubic-bezier(.2,.8,.2,1);
}
.quote-modal-head{
	position:relative;
	padding:25px 30px 21px;
	background:linear-gradient(135deg,#071d3a 0%,#0b2b4d 72%,#0e7250 150%);
	color:#fff;
	flex:0 0 auto;
}
.quote-modal-head:after{
	content:"";
	position:absolute;
	width:150px;
	height:150px;
	right:-55px;
	top:-90px;
	border-radius:50%;
	border:1px solid rgba(255,255,255,.12);
	box-shadow:0 0 0 24px rgba(255,255,255,.035),0 0 0 48px rgba(255,255,255,.025);
}
.quote-modal-kicker{
	margin:0 0 7px;
	font-size:10px;
	font-weight:800;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:#55c18d;
}
.quote-modal-head h2{
	margin:0;
	font-size:27px;
	line-height:1.15;
	letter-spacing:-.02em;
	color:#fff;
}
.quote-modal-subtitle{
	margin:7px 45px 0 0;
	color:rgba(255,255,255,.74);
	font-size:13px;
	line-height:1.5;
}
.modal-close{
	position:absolute;
	z-index:3;
	right:18px;
	top:17px;
	width:38px;
	height:38px;
	display:grid;
	place-items:center;
	border:1px solid rgba(255,255,255,.18);
	border-radius:50%;
	background:rgba(255,255,255,.09);
	color:#fff;
	font-size:20px;
	line-height:1;
	cursor:pointer;
	transition:.2s ease;
}
.modal-close:hover{
	background:#fff;
	color:#071d3a;
	transform:rotate(90deg);
}
.modal-dialog form{
	overflow:auto;
	max-height:none;
	padding:25px 30px 22px;
	background:#f7f9fb;
}
.quote-form{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:17px 18px;
}
.quote-form label{
	display:flex;
	flex-direction:column;
	gap:8px;
	margin:0;
	color:#173451;
	font-size:11px;
	font-weight:800;
	letter-spacing:.055em;
	text-transform:uppercase;
}
.quote-form input,
.quote-form select,
.quote-form textarea{
	box-sizing:border-box;
	width:100%;
	margin:0;
	border:1px solid #d9e1e9;
	border-radius:11px;
	background:#fff;
	color:#102d49;
	padding:12px 13px;
	font:inherit;
	font-size:14px;
	font-weight:500;
	letter-spacing:0;
	text-transform:none;
	outline:none;
	box-shadow:0 1px 2px rgba(7,29,58,.025);
	transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.quote-form input,
.quote-form select{height:45px}
.quote-form textarea{
	min-height:112px;
	resize:vertical;
	line-height:1.5;
}
.quote-form input::placeholder,
.quote-form textarea::placeholder{color:#9aa7b5}
.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus{
	border-color:#15905d;
	box-shadow:0 0 0 3px rgba(21,144,93,.11);
	background:#fff;
}
.quote-form label:nth-of-type(5){grid-column:1}
.quote-form label:nth-of-type(6){grid-column:2}
.quote-form label:nth-of-type(7){grid-column:1/-1}
.quote-form .check{
	grid-column:1/-1;
	display:flex;
	flex-direction:row;
	align-items:flex-start;
	gap:10px;
	padding:14px 15px;
	border:1px solid #e1e7ed;
	border-radius:11px;
	background:#fff;
	color:#617082;
	font-size:11px;
	font-weight:600;
	line-height:1.5;
	letter-spacing:0;
	text-transform:none;
}
.quote-form .check input{
	width:17px;
	height:17px;
	min-width:17px;
	margin:0;
	accent-color:#128b58;
	box-shadow:none;
}
.quote-form .check a{
	color:#128b58;
	font-weight:800;
	text-decoration:none;
}
.quote-form .check a:hover{text-decoration:underline}
.quote-form > div{
	grid-column:1/-1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-top:1px !important;
	padding-top:18px;
	border-top:1px solid #e2e7ec;
}
.quote-form > div:before{
	content:"Your request will be sent securely via WhatsApp.";
	color:#7a8795;
	font-size:11px;
	font-weight:600;
	letter-spacing:.01em;
}
.quote-form .actions button,
.quote-form > div .btn{
	min-height:43px;
	padding:11px 17px;
	border-radius:10px;
	font-size:12px;
	font-weight:800;
	letter-spacing:.02em;
	cursor:pointer;
	transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.quote-form > div .btn:hover{transform:translateY(-1px)}
.quote-form > div .btn.primary{box-shadow:0 8px 20px rgba(18,139,88,.2)}
@keyframes quoteFade{from{opacity:0}to{opacity:1}}
@keyframes quoteIn{
	from{opacity:0;transform:translateY(12px) scale(.985)}
	to{opacity:1;transform:translateY(0) scale(1)}
}
@media (max-width:700px){
	.modal{padding:12px}
	.modal-dialog{width:100%;max-height:94vh;border-radius:17px}
	.quote-modal-head{padding:21px 21px 18px}
	.quote-modal-head h2{font-size:23px}
	.quote-modal-subtitle{font-size:12px}
	.modal-dialog form{padding:20px 18px 18px}
	.quote-form{grid-template-columns:1fr;gap:14px}
	.quote-form label:nth-of-type(5),
	.quote-form label:nth-of-type(6),
	.quote-form label:nth-of-type(7){grid-column:1}
	.quote-form > div{flex-wrap:wrap;justify-content:flex-end}
	.quote-form > div:before{width:100%;order:3;text-align:center}
	.quote-form > div .btn{flex:1}
}
