
.dph {
	--cmvh-blue:     #2A5FB7;   
	--cmvh-blue-d:   #234E96;   
	--cmvh-red:      #C24A3F;   
	--cmvh-red-d:    #A33A30;   
	--cmvh-ico-bg:   #E3EAFB;   
	--cmvh-save-bg:  #FDE7E1;   
	--cmvh-green:    #277348;   
	--cmvh-green-d:  #1F5C3A;   
	--cmvh-orange:   #8F5F0B;   
}
@supports (color: oklch(0.5 0.15 260)) {
	.dph {
		--cmvh-blue:    oklch(0.5 0.15 260);
		--cmvh-blue-d:  oklch(0.43 0.15 260);
		--cmvh-red:     oklch(0.52 0.16 25);
		--cmvh-red-d:   oklch(0.45 0.16 25);
		--cmvh-ico-bg:  oklch(0.94 0.03 258);
		--cmvh-save-bg: oklch(0.95 0.03 25);
		--cmvh-green:   oklch(0.497 0.102 155);
		--cmvh-green-d: oklch(0.42 0.09 155);
		--cmvh-orange:  oklch(0.525 0.108 73.5);
	}
}
.dph, .dph * { box-sizing: border-box; }
.dph a { text-decoration: none; }
.dph summary::-webkit-details-marker { display: none; }
.dph summary::marker { content: ''; }
.dph input::placeholder { color: #93a0b4; }
.cmvh-btn { display: inline-block; border-radius: 10px; font-weight: 700; text-align: center; line-height: normal; }
.cmvh-btn--lg { font-size: 15px; padding: 14px 28px; }
.cmvh-btn--md { font-size: 14.5px; padding: 13px 26px; }
.cmvh-btn--fill  { background: var(--cmvh-blue); color: #FFFFFF !important; }
.cmvh-btn--fill:hover { background: var(--cmvh-blue-d); color: #FFFFFF !important; }
.cmvh-btn--ghost { border: 1.5px solid #b9c7de; color: #16233D !important; }
.cmvh-btn--ghost:hover { border-color: var(--cmvh-blue); color: var(--cmvh-blue) !important; }
.cmvh-btn--wa    { background: var(--cmvh-blue); color: #FFFFFF !important; }
.cmvh-btn--wa:hover { background: var(--cmvh-blue-d); color: #FFFFFF !important; }
.cmvh-cta    { max-width: 1280px; margin: 0 auto; padding: 44px 32px 52px; }
.cmvh-cta-in {
	background: #EEF3FB; border: 1px solid #dbe4f2; border-radius: 18px; padding: 44px 48px;
	display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 48px;
}
.cmvh-cta-in h2 { margin: 0 0 8px; color: #16233D; font-size: 28px; font-weight: 800; line-height: 1.15; letter-spacing: -0.5px; }
.cmvh-cta-p { margin: 0 0 20px; color: #4A5568; font-size: 15px; line-height: 1.55; }
.cmvh-cta-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.cmvh-nl {
	border-left: 1px solid #cdd9ec; padding-left: 48px;
	display: flex; flex-direction: column; justify-content: center; gap: 9px;
}
.cmvh-nl-t { color: #16233D; font-weight: 800; font-size: 16px; }
.cmvh-nl-d { color: #4A5568; font-size: 13.5px; }
.cmvh-nl-form { display: flex; margin-top: 4px; }
.cmvh-nl-form input[type="email"] {
	flex: 1; min-width: 0; border: 1.5px solid #cdd6e4; border-right: none; padding: 12px 14px;
	border-radius: 10px 0 0 10px; font-size: 13.5px; font-family: inherit; outline: none; background: #FFFFFF;
}
.cmvh-nl-form input[type="email"]:focus { border-color: var(--cmvh-blue); }
.cmvh-nl-form button {
	background: var(--cmvh-blue); color: #FFFFFF; border: none; padding: 0 18px;
	border-radius: 0 10px 10px 0; font-weight: 700; font-size: 13.5px; cursor: pointer; font-family: inherit;
}
.cmvh-nl-form button:hover { background: var(--cmvh-blue-d); }
.cmvh-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.cmvh-nl-msg { font-size: 13px; font-weight: 700; line-height: 1.45; }
.cmvh-nl-msg--ok  { color: var(--cmvh-green); }
.cmvh-nl-msg--err { color: var(--cmvh-red); }
@media (max-width: 1100px) {
	.cmvh-cta-in { grid-template-columns: 1fr; gap: 28px; padding: 32px 28px; }
	.cmvh-nl { border-left: none; border-top: 1px solid #cdd9ec; padding-left: 0; padding-top: 26px; }
}
@media (max-width: 960px) {
	.cmvh-cta { padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 640px) {
	.cmvh-btn--lg { padding: 13px 20px; }
	.cmvh-cta { padding-left: 20px; padding-right: 20px; }
	.cmvh-cta-in { padding: 26px 20px; border-radius: 14px; }
	.cmvh-cta-in h2 { font-size: 23px; }
	.cmvh-cta-btns .cmvh-btn { flex: 1 0 100%; }
}
@media (max-width: 767px) {
	.cmvh-btn--lg { font-size: 15px; padding: 14px 12px; }
	.cmvh-cta { padding: 26px 16px 30px; }
	.cmvh-cta-in { padding: 22px 18px; border-radius: 16px; gap: 22px; }
	.cmvh-cta-in h2 { font-size: 19px; margin: 0 0 6px; line-height: 1.2; }
	.cmvh-cta-p { font-size: 13.5px; line-height: 1.55; margin: 0 0 14px; }
	.cmvh-cta-btns { flex-direction: column; gap: 9px; }
	.cmvh-cta-btns .cmvh-btn {
		flex: 0 0 auto; width: 100%; min-height: 44px;
		display: flex; align-items: center; justify-content: center;
	}
	.cmvh-btn--md { font-size: 14px; padding: 13px 12px; }
	.cmvh-nl { padding-top: 20px; gap: 7px; }
	.cmvh-nl-t { font-size: 15px; }
	.cmvh-nl-d { font-size: 12.5px; line-height: 1.5; }
	.cmvh-nl-form input[type="email"] { padding: 12px 14px; font-size: 13.5px; min-height: 44px; }
	.cmvh-nl-form button { padding: 0 16px; font-size: 13px; min-height: 44px; }
}
