/* Northline conversion tools */
.nlc, .nlq { font-family: 'Manrope', sans-serif; color: #183E43; box-sizing: border-box; }
.nlc *, .nlq * { box-sizing: border-box; }

.nlc { display: grid; grid-template-columns: 1.1fr 1fr; background: #FFFFFF; border-radius: 32px; overflow: hidden; box-shadow: 0 40px 80px -40px rgba(15,43,47,0.35); border: 1px solid rgba(24,62,67,0.08); }
.nlc-inputs { padding: 44px; display: flex; flex-direction: column; gap: 26px; }
.nlc-head { display: flex; flex-direction: column; gap: 6px; }
.nlc-kicker { font-size: 11px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: #7F967D; }
.nlc-title { font-family: 'Fraunces', serif; font-size: 28px; line-height: 1.15; color: #183E43; }
.nlc-field { display: flex; flex-direction: column; gap: 12px; }
.nlc-label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 14px; font-weight: 600; color: #415E5A; }
.nlc-label output { font-family: 'Fraunces', serif; font-size: 22px; font-weight: 400; color: #183E43; }
.nlc input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 8px; border-radius: 999px; outline: none; cursor: pointer; margin: 0;
	background: linear-gradient(90deg, #183E43 0%, #183E43 var(--nl-p, 50%), #EBEEE7 var(--nl-p, 50%), #EBEEE7 100%); }
.nlc input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 26px; height: 26px; border-radius: 50%; background: #E7BA91; border: 4px solid #FFFFFF; box-shadow: 0 4px 14px rgba(15,43,47,0.35); transition: transform .15s; }
.nlc input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.12); }
.nlc input[type="range"]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #E7BA91; border: 4px solid #FFFFFF; box-shadow: 0 4px 14px rgba(15,43,47,0.35); }
.nlc-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.nlc-seg { display: flex; background: #EBEEE7; border-radius: 999px; padding: 4px; gap: 4px; }
.nlc-seg button { flex: 1; border: 0; background: transparent; color: #415E5A; font: 700 13px 'Manrope', sans-serif; padding: 11px 10px; border-radius: 999px; cursor: pointer; transition: all .2s; }
.nlc-seg button.is-on { background: #183E43; color: #FFFFFF; box-shadow: 0 6px 16px -8px rgba(15,43,47,0.8); }
.nlc-result { background: #183E43; background-image: radial-gradient(circle at 100% 0%, rgba(231,186,145,0.22) 0%, rgba(24,62,67,0) 50%); color: #FFFFFF; padding: 44px; display: flex; flex-direction: column; gap: 16px; }
.nlc-r-label { font-size: 12px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: #E7BA91; }
.nlc-r-big { font-family: 'Fraunces', serif; font-size: 64px; line-height: 1; letter-spacing: -0.03em; color: #FFFFFF; }
.nlc-bar { display: flex; height: 10px; border-radius: 999px; overflow: hidden; background: rgba(255,255,255,0.12); margin-top: 6px; }
.nlc-bar span { display: block; height: 100%; transition: width .4s ease; }
.nlc-bar span:first-child { background: #E7BA91; }
.nlc-bar span:last-child { background: #94A287; }
.nlc-legend { display: flex; gap: 18px; font-size: 12px; color: rgba(255,255,255,0.65); }
.nlc-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.nlc-legend i.p { background: #E7BA91; } .nlc-legend i.i { background: #94A287; }
.nlc-rows { display: flex; flex-direction: column; border-top: 1px solid rgba(255,255,255,0.12); margin-top: 6px; }
.nlc-row { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.08); font-size: 14px; color: rgba(255,255,255,0.72); }
.nlc-row strong { color: #FFFFFF; font-weight: 700; }
.nlc-note { font-size: 13px; line-height: 1.55; color: #F0D4BA; background: rgba(231,186,145,0.1); border-radius: 14px; padding: 12px 14px; }
.nlc-cta, .nlq-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 4px; }
.nlc-btn { display: inline-flex; align-items: center; gap: 8px; background: #E7BA91; color: #0F2B2F !important; font: 700 15px 'Manrope', sans-serif; padding: 16px 26px; border-radius: 999px; text-decoration: none !important; box-shadow: 0 12px 30px -12px rgba(231,186,145,0.9); transition: transform .2s, background .2s; }
.nlc-btn:hover { transform: translateY(-2px); background: #F0CBA8; }
.nlc-link { color: #FFFFFF !important; font: 700 14px 'Manrope', sans-serif; text-decoration: none !important; border-bottom: 1px solid #E7BA91; padding-bottom: 3px; }
.nlc-link:hover { color: #E7BA91 !important; }
.nlc-fine { margin: 0; font-size: 11px; line-height: 1.5; color: rgba(255,255,255,0.45); }

.nlq { background: #FFFFFF; border-radius: 28px; padding: 40px; box-shadow: 0 40px 80px -40px rgba(0,0,0,0.5); display: flex; flex-direction: column; gap: 18px; min-height: 440px; }
.nlq.nlq-in { animation: nlqIn .45s ease both; }
@keyframes nlqIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.nlq-top { display: flex; justify-content: space-between; align-items: center; }
.nlq-count { font-size: 11px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: #7F967D; }
.nlq-back, .nlq-restart { border: 0; background: transparent; color: #415E5A; font: 700 13px 'Manrope', sans-serif; cursor: pointer; padding: 4px 0; }
.nlq-back:hover, .nlq-restart:hover { color: #183E43; text-decoration: underline; }
.nlq-progress { height: 6px; border-radius: 999px; background: #EBEEE7; overflow: hidden; }
.nlq-progress span { display: block; height: 100%; background: linear-gradient(90deg, #183E43, #94A287); border-radius: 999px; transition: width .4s ease; }
.nlq-q { font-family: 'Fraunces', serif; font-size: 30px; line-height: 1.15; color: #183E43; margin-top: 6px; }
.nlq-opts { display: flex; flex-direction: column; gap: 10px; }
.nlq-opt { display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; border: 1px solid rgba(24,62,67,0.14); background: #F8F7F2; color: #183E43; font: 600 15px 'Manrope', sans-serif; padding: 15px 18px; border-radius: 16px; cursor: pointer; transition: all .2s; }
.nlq-opt:hover { border-color: #183E43; background: #FFFFFF; transform: translateX(4px); }
.nlq-opt.is-on { background: #183E43; border-color: #183E43; color: #FFFFFF; }
.nlq-key { width: 28px; height: 28px; flex-shrink: 0; border-radius: 8px; background: #FFFFFF; border: 1px solid rgba(24,62,67,0.14); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; color: #183E43; }
.nlq-opt.is-on .nlq-key { background: #E7BA91; border-color: #E7BA91; color: #0F2B2F; }
.nlq-result-title { font-family: 'Fraunces', serif; font-size: 34px; line-height: 1.1; color: #183E43; }
.nlq-result-text { margin: 0; font-size: 16px; line-height: 1.65; color: #415E5A; }
.nlq-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.nlq-steps li { position: relative; padding: 12px 14px 12px 46px; background: #EBEEE7; border-radius: 14px; font-size: 15px; font-weight: 600; color: #183E43; }
.nlq-steps li:before { content: '\2713'; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border-radius: 50%; background: #183E43; color: #FFFFFF; font-size: 12px; display: flex; align-items: center; justify-content: center; }
.nlq .nlc-link { color: #183E43 !important; }
.nlq .nlc-link:hover { color: #7F967D !important; }
.nlq .nlc-fine { color: #7F967D; }

.nl-calendly { min-width: 320px; height: 720px; border-radius: 24px; overflow: hidden; }

.nl-sticky-ph { height: 0; }
.nl-sticky-nav.nl-is-stuck { position: fixed !important; top: 0; left: 0; right: 0; width: 100% !important; z-index: 9990; box-shadow: 0 14px 30px -18px rgba(0,0,0,0.6); animation: nlSlide .35s ease both; }
@keyframes nlSlide { from { transform: translateY(-100%); } to { transform: none; } }
body.admin-bar .nl-sticky-nav.nl-is-stuck { top: 32px; }

@media (max-width: 1024px) {
	.nlc { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.nlc-inputs, .nlc-result { padding: 28px 22px; }
	.nlc-r-big { font-size: 48px; }
	.nlc-pair { grid-template-columns: 1fr; }
	.nlc { border-radius: 24px; }
	.nlq { padding: 26px 20px; border-radius: 22px; }
	.nlq-q { font-size: 24px; }
	.nlq-result-title { font-size: 28px; }
	.nl-calendly { height: 980px; }
	body.admin-bar .nl-sticky-nav.nl-is-stuck { top: 0; }
}
