/* City landing pages: contact form and extra motion (loaded after lp.css) */
html, .lp main { overflow-x: clip; }
.lp-sec, .lp-wrap { overflow-x: clip; }
.lp-form-card, .lp-plan, .lp-card { overflow-x: visible; }
.lp-contact { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: start; }
.lp-contact-list { display: grid; gap: 14px; margin: 26px 0; }
.lp-contact-list li { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid var(--lp-line); border-radius: 16px; background: #fff; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.lp-contact-list li:hover { transform: translateX(6px); border-color: rgba(18, 155, 46, .5); box-shadow: 0 16px 30px -22px rgba(18, 155, 46, .6); }
.lp-contact-list small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--lp-muted); }
.lp-contact-list a { font-weight: 700; word-break: break-word; }
.lp-contact-list a:hover { color: var(--lp-brand); }
.lp-next { display: flex; flex-wrap: wrap; gap: 10px 18px; font-size: 14px; font-weight: 600; color: var(--lp-muted); }
.lp-next li { display: inline-flex; align-items: center; gap: 8px; }
.lp-next b { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--lp-green); color: #03200a; font-size: 13px; }

.lp-form-card { position: relative; padding: 34px; border-radius: 26px; background: #fff; box-shadow: 0 40px 70px -40px rgba(8, 60, 28, .5); isolation: isolate; }
.lp-form-card::before { content: ""; position: absolute; inset: -2px; z-index: -1; border-radius: 28px; background: conic-gradient(from var(--lp-ang, 0deg), #4be06a, #2e86de, #ffd24a, #4be06a); animation: lp-spin 6s linear infinite; }
.lp-form-card::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 26px; background: #fff; }
@property --lp-ang { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
@keyframes lp-spin { to { --lp-ang: 360deg; } }
.lp-form-card h3 { font-size: 1.5rem; font-weight: 800; letter-spacing: -0.03em; }
.lp-form-sub { margin: 6px 0 22px; color: var(--lp-muted); font-size: 15px; }
.lp-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.lp-fld { margin-bottom: 16px; }
.lp-fld label { display: block; margin-bottom: 6px; font-size: 13.5px; font-weight: 700; }
.lp-fld em { color: #d93025; font-style: normal; }
.lp-fld input, .lp-fld textarea { width: 100%; padding: 13px 15px; border: 1.5px solid var(--lp-line); border-radius: 14px; font: inherit; font-size: 15px; color: var(--lp-ink); background: #fbfdfb; transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease, transform .2s ease; }
.lp-fld textarea { resize: vertical; min-height: 110px; }
.lp-fld input:focus, .lp-fld textarea:focus { outline: none; border-color: var(--lp-brand); background: #fff; box-shadow: 0 0 0 4px rgba(75, 224, 106, .25); transform: translateY(-1px); }
.lp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.lp-submit { width: 100%; min-height: 52px; font-size: 16px; }
.lp-submit:disabled { opacity: .7; cursor: wait; }
.lp-priv { margin-top: 14px; font-size: 13px; color: var(--lp-muted); text-align: center; }
.lp-priv i { margin-right: 6px; color: var(--lp-brand); }
.lp-cf-msg-box { margin-top: 12px; font-size: 14.5px; font-weight: 600; text-align: center; }
.lp-cf-msg-box.ok { padding: 12px 14px; border-radius: 12px; background: #e5f9ea; color: #0b5b21; animation: lp-pop .5s ease; }
.lp-cf-msg-box.err { padding: 12px 14px; border-radius: 12px; background: #fdecea; color: #a1260f; animation: lp-pop .5s ease; }

/* more motion */
.lp-js .lp-r.lp-from-left { transform: translateX(-34px); }
.lp-js .lp-r.lp-from-right { transform: translateX(34px); }
.lp-js .lp-r.lp-from-left.is-in, .lp-js .lp-r.lp-from-right.is-in { transform: none; }
.lp-progress { position: absolute; left: 0; bottom: -1px; height: 3px; width: 100%; transform-origin: left; transform: scaleX(var(--p, 0)); background: linear-gradient(90deg, #4be06a, #2e86de, #ffd24a); }
.lp-btn-solid { position: relative; overflow: hidden; }
.lp-btn-solid::after { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent); transform: skewX(-20deg); animation: lp-shine 4.5s ease-in-out infinite; pointer-events: none; }
@keyframes lp-shine { 0%, 60% { left: -60%; } 100% { left: 130%; } }
.lp-kicker { position: relative; padding-bottom: 6px; }
.lp-kicker::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 0; background: currentColor; transition: width .8s ease .2s; }
.lp-r.is-in .lp-kicker::after, .lp-r.is-in.lp-kicker::after { width: 100%; }
.lp-head .lp-kicker::after { left: 50%; transform: translateX(-50%); }
.lp-head.is-in .lp-kicker::after { width: 60%; }
.lp-tilt { transition: transform .25s ease, box-shadow .3s ease, border-color .3s ease; will-change: transform; }
.lp-ico { transition: transform .4s cubic-bezier(.3, 1.6, .5, 1); }
.lp-card:hover .lp-ico { transform: scale(1.12) rotate(-6deg); }
.lp-num { display: inline-block; transition: transform .4s ease; }
.lp-bene:hover .lp-num { transform: scale(1.12); }
.lp-hero-visual { transition: transform .2s ease-out; }
.lp-ticker { overflow: hidden; background: #fff; border-bottom: 1px solid var(--lp-line); padding: 14px 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.lp-ticker-track { display: flex; width: max-content; animation: lp-marquee 42s linear infinite; }
.lp-ticker:hover .lp-ticker-track { animation-play-state: paused; }
.lp-ticker ul { display: flex; gap: 38px; padding-right: 38px; }
.lp-ticker li { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; color: var(--lp-muted); white-space: nowrap; }
.lp-ticker li i { color: var(--lp-green); font-size: 11px; }
@keyframes lp-marquee { to { transform: translateX(-50%); } }
.lp-faq details summary { transition: color .2s ease, padding-left .25s ease; }
.lp-faq details:hover summary { color: var(--lp-brand); padding-left: 26px; }
.lp-bubble { transform-origin: left top; transition: transform .3s ease; }
.lp-ind:hover .lp-bubble { transform: scale(1.02); }
@media (max-width: 1023.98px) { .lp-contact { grid-template-columns: 1fr; gap: 30px; } }
@media (max-width: 639.98px) { .lp-row { grid-template-columns: 1fr; } .lp-form-card { padding: 24px 18px; } .lp-contact-list li:hover { transform: none; } }
@media (prefers-reduced-motion: reduce) {
    .lp-ticker-track, .lp-form-card::before, .lp-btn-solid::after { animation: none !important; }
    .lp-js .lp-r.lp-from-left, .lp-js .lp-r.lp-from-right { transform: none; }
}
