/* Landing page. Loaded only by Pages/Landing.cshtml. Palette taken from the EnquiryCRM logo. */
:root { --navy:#083F47; --blue:#0A5C66; --blue-d:#084A52; --green:#F4A300; --green-d:#D98E00; --ink:#0F172A; --mute:#64748B; --line:#E2E8F0; --soft:#F3F6F8; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ld { margin:0; font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif; color:var(--ink); background:#fff; line-height:1.55; }
.ld a { text-decoration:none; color:inherit; }
.ld-container { width:100%; max-width:1180px; margin:0 auto; padding:0 24px; }

/* buttons */
.ld-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:44px; padding:0 20px; border-radius:10px; font-weight:600; font-size:.9375rem; border:1.5px solid transparent; cursor:pointer; transition:transform .15s, background .15s, box-shadow .15s; }
.ld-btn:hover { transform:translateY(-1px); }
.ld-btn-lg { height:52px; padding:0 28px; font-size:1rem; }
.ld-btn-primary { background:var(--blue); color:#fff; box-shadow:0 8px 20px rgba(10, 92, 102,.28); }
.ld-btn-primary:hover { background:var(--blue-d); }
.ld-btn-ghost { color:var(--navy); }
.ld-btn-ghost:hover { background:var(--soft); }
.ld-btn-outline { border-color:#CBD5E1; color:var(--navy); background:#fff; }
.ld-btn-outline:hover { border-color:var(--blue); color:var(--blue); }
.ld-btn-green { background:var(--green); color:#083F47; box-shadow:0 8px 20px rgba(244,163,0,.35); }
.ld-btn-green:hover { background:var(--green-d); }
.ld-btn-white { background:#fff; color:var(--navy); }
.ld-btn:focus-visible { outline:3px solid rgba(10, 92, 102,.4); outline-offset:2px; }

/* nav */
.ld-nav { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.9); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.ld-nav-in { display:flex; align-items:center; justify-content:space-between; height:72px; }
.ld-logo img { height:56px; display:block; }
.ld-links { display:flex; align-items:center; gap:26px; font-weight:500; color:#334155; font-size:.9375rem; }
.ld-links > a:hover { color:var(--blue); }
.ld-nav-cta { display:flex; gap:8px; margin-left:12px; }
.ld-menu-toggle { display:none; }
.ld-burger { display:none; font-size:1.8rem; color:var(--navy); cursor:pointer; }

/* hero */
.ld-hero { position:relative; overflow:hidden; padding:72px 0 40px; background:linear-gradient(180deg,#F8FAFB 0%,#EAF4F5 100%); }
.ld-blob { position:absolute; border-radius:50%; filter:blur(70px); opacity:.55; z-index:0; }
.ld-blob.b1 { width:420px; height:420px; background:#A9D0D5; top:-120px; right:-80px; }
.ld-blob.b2 { width:360px; height:360px; background:#BFE0E3; bottom:-140px; left:-100px; }
.ld-hero-in { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center; }
.ld-pill { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid #A9D0D5; color:var(--blue); font-weight:600; font-size:.8125rem; padding:6px 14px; border-radius:999px; }
.ld-hero h1 { font-size:clamp(2.4rem,5vw,3.8rem); line-height:1.07; letter-spacing:-.035em; font-weight:800; margin:18px 0 16px; color:var(--navy); }
.ld-hero h1 .g { color:var(--green); }
.ld-hero h1 .b { color:var(--blue); }
.ld-hero p { font-size:1.125rem; color:#475569; max-width:520px; margin:0 0 28px; }
.ld-hero-cta { display:flex; flex-wrap:wrap; gap:12px; }
.ld-checks { list-style:none; display:flex; flex-wrap:wrap; gap:18px; padding:0; margin:22px 0 0; font-size:.875rem; color:#475569; }
.ld-checks i { color:var(--green); margin-right:4px; }

.ld-hero-art { position:relative; }
.ld-mock { display:grid; grid-template-columns:56px 1fr; background:#fff; border:6px solid var(--navy); border-radius:18px; overflow:hidden; box-shadow:0 30px 70px rgba(8, 63, 71,.25); }
.ld-mock-side { background:var(--navy); padding:14px 10px; display:grid; gap:10px; align-content:start; }
.ld-mock-side b { width:22px; height:22px; border-radius:7px; background:var(--green); }
.ld-mock-side span { height:8px; border-radius:4px; background:rgba(255,255,255,.25); }
.ld-mock-side span.on { background:var(--blue); }
.ld-mock-main { padding:16px 18px; }
.ld-mock-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; font-size:.9rem; color:var(--navy); }
.ld-mock-top i { width:24px; height:24px; border-radius:50%; background:#CBD5E1; }
.ld-mock-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:12px; }
.ld-mock-kpis > div { border:1px solid var(--line); border-radius:10px; padding:10px 12px; }
.ld-mock-kpis small { display:block; color:var(--mute); font-size:.7rem; }
.ld-mock-kpis b { font-size:1.25rem; color:var(--navy); }
.ld-mock-kpis em { font-style:normal; font-size:.7rem; color:var(--green-d); font-weight:700; margin-left:6px; }
.ld-mock-chart { width:100%; height:130px; display:block; }
.ld-float { position:absolute; display:flex; gap:12px; align-items:center; background:#fff; border-radius:14px; padding:12px 16px; box-shadow:0 16px 40px rgba(8, 63, 71,.18); animation:ldFloat 5s ease-in-out infinite; }
.ld-float b { display:block; font-size:.875rem; color:var(--navy); }
.ld-float small { color:var(--mute); font-size:.75rem; }
.ld-float.f1 { left:-28px; bottom:34px; }
.ld-float.f2 { right:-14px; top:-18px; animation-delay:-2.5s; }
@keyframes ldFloat { 50% { transform:translateY(-10px); } }
.ico { width:44px; height:44px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; font-size:1.2rem; flex:none; }
.ico.g { background:#D5EAEC; color:var(--green-d); }
.ico.b { background:#D5EAEC; color:var(--blue); }
.ico.n { background:#DDE3F0; color:var(--navy); }

.ld-stats { position:relative; z-index:1; margin-top:56px; display:grid; grid-template-columns:repeat(4,1fr); background:var(--navy); border-radius:20px; padding:26px 12px; color:#fff; text-align:center; }
.ld-stats b { display:block; font-size:2rem; font-weight:800; color:#fff; }
.ld-stats span { color:#9AA9A6; font-size:.875rem; }
.ld-stats > div + div { border-left:1px solid rgba(255,255,255,.12); }

/* channels */
.ld-strip { padding:44px 0 8px; text-align:center; }
.ld-strip p { color:var(--mute); font-weight:500; margin:0 0 18px; }
.ld-channels { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.ld-channels span { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border:1px solid var(--line); border-radius:999px; font-weight:600; color:var(--navy); background:#fff; }
.ld-channels i { color:var(--blue); }
.ld-channels span:nth-child(odd) i { color:var(--green); }

/* sections */
.ld-section { padding:92px 0; }
.ld-alt { background:var(--soft); }
.ld-head { text-align:center; max-width:680px; margin:0 auto 52px; }
.ld-eyebrow { display:inline-block; color:#0A5C66; background:#D5EAEC; font-weight:700; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border-radius:999px; margin-bottom:14px; }
.ld-section h2 { font-size:clamp(1.8rem,3.2vw,2.5rem); line-height:1.15; letter-spacing:-.025em; font-weight:800; color:var(--navy); margin:0 0 12px; }
.ld-head p, .ld-lead { color:#475569; font-size:1.0625rem; margin:0; }

.ld-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ld-grid-3 { grid-template-columns:repeat(3,1fr); }
.ld-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px; transition:transform .2s, box-shadow .2s, border-color .2s; }
.ld-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(8, 63, 71,.1); border-color:#A9D0D5; }
.ld-card h3 { font-size:1.0625rem; margin:16px 0 6px; color:var(--navy); }
.ld-card p { color:var(--mute); margin:0; font-size:.9375rem; }

.ld-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ld-steps li { background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px; }
.ld-steps .n { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--blue),var(--green)); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.ld-steps h3 { margin:0 0 6px; color:var(--navy); }
.ld-steps p { margin:0; color:var(--mute); }

.ld-split { display:grid; grid-template-columns:1fr 1.1fr; gap:60px; align-items:center; }
.ld-list { list-style:none; padding:0; margin:20px 0 26px; display:grid; gap:10px; font-weight:500; }
.ld-list i { color:var(--green); margin-right:8px; }
.ld-board { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; background:var(--soft); border:1px solid var(--line); border-radius:20px; padding:16px; }
.ld-board h4 { font-size:.8125rem; margin:0 0 10px; color:var(--navy); display:flex; align-items:center; gap:6px; }
.ld-board h4 em { margin-left:auto; font-style:normal; color:var(--mute); font-weight:600; }
.ld-board .dot { width:8px; height:8px; border-radius:50%; display:inline-block; }
.tk { background:#fff; border:1px solid var(--line); border-left:3px solid var(--blue); border-radius:10px; padding:10px 12px; margin-bottom:10px; }
.tk.won { border-left-color:var(--green); }
.tk b { display:block; font-size:.8125rem; color:var(--navy); }
.tk small { color:var(--mute); font-size:.75rem; }

/* pricing */
.ld-price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch; max-width:1000px; margin:0 auto; }
.ld-plan { position:relative; background:#fff; border:1px solid var(--line); border-radius:20px; padding:32px; display:flex; flex-direction:column; }
.ld-plan h3 { margin:0; color:var(--navy); }
.ld-plan .p { font-size:2.5rem; font-weight:800; color:var(--navy); margin:10px 0 18px; }
.ld-plan .p small { font-size:.9rem; color:var(--mute); font-weight:500; }
.ld-plan ul { list-style:none; padding:0; margin:0 0 26px; display:grid; gap:10px; flex:1; color:#334155; }
.ld-plan li::before { content:"\2713"; color:var(--green); font-weight:800; margin-right:10px; }
.ld-plan.pop { background:var(--navy); color:#fff; border-color:var(--navy); transform:scale(1.04); box-shadow:0 30px 60px rgba(8, 63, 71,.3); }
.ld-plan.pop h3, .ld-plan.pop .p { color:#fff; }
.ld-plan.pop ul { color:#D3DBD9; }
.ld-plan.pop .p small { color:#9AA9A6; }
.ld-plan .tag { position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--green); color:#fff; font-size:.75rem; font-weight:700; padding:4px 14px; border-radius:999px; }

/* quotes */
.ld-quote { margin:0; background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px; }
.ld-quote .stars { color:#F59E0B; letter-spacing:2px; }
.ld-quote blockquote { margin:12px 0 20px; color:#334155; font-size:1rem; }
.ld-quote figcaption { display:flex; gap:12px; align-items:center; }
.ld-quote .av { width:42px; height:42px; border-radius:50%; background:var(--blue); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; font-size:.85rem; }
.ld-quote figcaption b { display:block; color:var(--navy); }
.ld-quote small { color:var(--mute); }

/* faq */
.ld-narrow { max-width:780px; }
.ld-faq { background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 22px; margin-bottom:12px; }
.ld-faq summary { font-weight:600; color:var(--navy); cursor:pointer; list-style:none; display:flex; justify-content:space-between; }
.ld-faq summary::after { content:"+"; color:var(--blue); font-size:1.3rem; line-height:1; }
.ld-faq[open] summary::after { content:"\2212"; }
.ld-faq p { margin:12px 0 0; color:var(--mute); }

/* cta */
.ld-cta { background:linear-gradient(135deg,var(--navy),#0A5C66); color:#fff; text-align:center; padding:84px 0; }
.ld-cta h2 { color:#fff; font-size:clamp(1.8rem,3.4vw,2.6rem); font-weight:800; margin:0 0 10px; }
.ld-cta p { color:#B8C7C4; margin:0 0 28px; }
.ld-cta .ld-hero-cta { justify-content:center; }

/* footer */
.ld-foot { background:#052C32; color:#9AA9A6; padding:56px 0 24px; }
.ld-foot-in { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:32px; }
.ld-foot-logo { height:60px; margin-bottom:8px; margin-left:-12px; }
.ld-foot h4 { color:#fff; font-size:.9rem; margin:0 0 12px; }
.ld-foot a { display:block; margin-bottom:8px; font-size:.9rem; }
.ld-foot a:hover { color:#fff; }
.ld-foot p { margin:0; font-size:.9rem; }
.ld-copy { margin-top:36px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); font-size:.8125rem; }

/* responsive */
@media (max-width:991.98px) {
  .ld-hero-in, .ld-split { grid-template-columns:minmax(0,1fr); gap:40px; }
  .ld-hero-in > *, .ld-split > * { min-width:0; }
  .ld-hero-art { max-width:560px; margin:0 auto; width:100%; }
  .ld-float.f1 { left:0; }
  .ld-float.f2 { right:0; }
  .ld-grid { grid-template-columns:repeat(2,1fr); }
  .ld-stats { grid-template-columns:repeat(2,1fr); row-gap:20px; }
  .ld-stats > div:nth-child(3) { border-left:0; }
  .ld-burger { display:block; }
  .ld-links { display:none; position:absolute; top:72px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:#fff; border-bottom:1px solid var(--line); padding:12px 24px 20px; }
  .ld-links > a { padding:12px 0; }
  .ld-nav-cta { margin:8px 0 0; }
  .ld-nav-cta .ld-btn { flex:1; }
  .ld-menu-toggle:checked ~ .ld-links { display:flex; }
}
@media (max-width:767.98px) {
  .ld-section { padding:64px 0; }
  .ld-grid, .ld-grid-3, .ld-steps, .ld-price-grid { grid-template-columns:1fr; }
  .ld-plan.pop { transform:none; }
  .ld-board { grid-template-columns:repeat(2,1fr); }
  .ld-foot-in { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ld-foot-in > div:first-child { grid-column:1 / -1; }
  .ld-hero { padding-top:44px; }
  .ld-container { padding:0 18px; }
  .ld-hero p { font-size:1rem; }
  .ld-hero-cta .ld-btn { flex:1 1 100%; }
  .ld-float { padding:8px 12px; gap:8px; }
  .ld-float .ico { width:34px; height:34px; font-size:1rem; }
  .ld-float.f1 { left:-6px; bottom:-16px; }
  .ld-float.f2 { right:-6px; top:-14px; }
  .ld-mock { grid-template-columns:40px minmax(0,1fr); border-width:4px; }
  .ld-mock-main { padding:12px; min-width:0; }
  .ld-mock-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .ld-mock-kpis > div { padding:8px; min-width:0; }
  .ld-mock-kpis b { font-size:1rem; }
  .ld-mock-kpis em { display:block; margin:0; }
  .ld-stats b { font-size:1.6rem; }
  .ld-hero-art { margin-bottom:12px; }
  .ld-foot-in { gap:24px; }
}
@media (max-width:420px) {
  .ld-hero h1 { font-size:2.1rem; }
  .ld-board { grid-template-columns:minmax(0,1fr); }
  .ld-plan { padding:24px; }
}
@media (prefers-reduced-motion:reduce) {
  .ld-float { animation:none; }
  html { scroll-behavior:auto; }
  .ld-btn, .ld-card { transition:none; }
}

/* motion */
.ld-nav { transition: box-shadow .25s ease, background .25s ease; }
.ld-nav.scrolled { box-shadow: 0 8px 24px rgba(8, 63, 71, .08); }
.rv { opacity: 0; transform: translateY(26px); transition: opacity .7s ease var(--d, 0ms), transform .7s cubic-bezier(.2, .8, .2, 1) var(--d, 0ms); }
.rv.in { opacity: 1; transform: none; }
.ld-plan.pop.rv.in { transform: scale(1.04); }

.ld-hero-copy > * { animation: ldUp .8s cubic-bezier(.2, .8, .2, 1) both; }
.ld-hero-copy > :nth-child(1) { animation-delay: .05s; }
.ld-hero-copy > :nth-child(2) { animation-delay: .15s; }
.ld-hero-copy > :nth-child(3) { animation-delay: .25s; }
.ld-hero-copy > :nth-child(4) { animation-delay: .35s; }
.ld-hero-copy > :nth-child(5) { animation-delay: .45s; }
.ld-hero-art { animation: ldIn 1s .2s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes ldUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes ldIn { from { opacity: 0; transform: translateX(40px) scale(.96); } to { opacity: 1; transform: none; } }

.ld-hero h1 .g, .ld-hero h1 .b { background-size: 200% auto; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: ldShine 5s linear infinite; }
.ld-hero h1 .g { background-image: linear-gradient(90deg, #0A5C66, #4FA3AD, #0A5C66); }
.ld-hero h1 .b { background-image: linear-gradient(90deg, #D98E00, #F4A300, #FFC857, #F4A300, #D98E00); }
@keyframes ldShine { to { background-position: 200% center; } }

.ld-shape { position: absolute; z-index: 0; border-radius: 22%; opacity: .5; animation: ldDrift 9s ease-in-out infinite; }
.ld-shape.s1 { width: 54px; height: 54px; left: 6%; top: 18%; background: #BFE0E3; }
.ld-shape.s2 { width: 34px; height: 34px; left: 46%; top: 8%; background: #A9D0D5; border-radius: 50%; animation-delay: -3s; }
.ld-shape.s3 { width: 70px; height: 70px; right: 7%; bottom: 26%; border: 3px solid #7FB8BF; background: transparent; animation-delay: -5s; }
.ld-shape.s4 { width: 22px; height: 22px; left: 38%; bottom: 20%; background: #4FA3AD; border-radius: 50%; animation-delay: -7s; }
@keyframes ldDrift { 0%, 100% { transform: translate(0, 0) rotate(0); } 50% { transform: translate(14px, -22px) rotate(24deg); } }
.ld-blob { animation: ldBlob 14s ease-in-out infinite; }
.ld-blob.b2 { animation-delay: -6s; }
@keyframes ldBlob { 50% { transform: translate(30px, 24px) scale(1.08); } }

.ld-btn-primary { position: relative; overflow: hidden; }
.ld-btn-primary::after { content: ""; position: absolute; top: 0; left: -80%; width: 50%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .35), transparent); transform: skewX(-20deg); animation: ldSheen 3.6s ease-in-out infinite; }
@keyframes ldSheen { 0%, 60% { left: -80%; } 100% { left: 140%; } }
.ld-card .ico { transition: transform .3s ease; }
.ld-card:hover .ico { transform: scale(1.12) rotate(-6deg); }
.ld-channels span { transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.ld-channels span:hover { transform: translateY(-3px); border-color: var(--blue); box-shadow: 0 10px 20px rgba(10, 92, 102, .12); }
.tk { transition: transform .2s ease, box-shadow .2s ease; }
.tk:hover { transform: translateX(4px); box-shadow: 0 6px 14px rgba(8, 63, 71, .1); }

.ld-top { position: fixed; right: 22px; bottom: 22px; z-index: 60; width: 46px; height: 46px; border-radius: 50%; background: var(--green); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; box-shadow: 0 10px 24px rgba(8, 63, 71, .3); opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .25s ease, transform .25s ease, background .2s ease; }
.ld-top.show { opacity: 1; transform: none; pointer-events: auto; }
/*.ld-top:hover { background: var(--blue); }*/
.ld-demo-fab { position: fixed; left: 22px; bottom: 22px; z-index: 60; display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 18px; border-radius: 999px; background:var(--green); color: #fff !important; font-weight: 700; font-size: .9rem; box-shadow: 0 12px 28px rgba(10, 92, 102, .4); animation: ldBob 3s ease-in-out infinite; }
@keyframes ldBob { 50% { transform: translateY(-6px); } }
@media (max-width: 575.98px) { .ld-demo-fab { left: 12px; bottom: 12px; } .ld-top { right: 12px; bottom: 12px; } }

@media (prefers-reduced-motion: reduce) {
  .rv { opacity: 1; transform: none; transition: none; }
  .ld-hero-copy > *, .ld-hero-art, .ld-shape, .ld-blob, .ld-demo-fab, .ld-btn-primary::after, .ld-hero h1 .g, .ld-hero h1 .b { animation: none !important; }
}

/* link colour must not override button text colours */
.ld a.ld-btn-primary { color: #fff; }
.ld a.ld-btn-green { color: #083F47; }
.ld a.ld-btn-white, .ld a.ld-btn-ghost, .ld a.ld-btn-outline { color: var(--navy); }
.ld a.ld-btn-outline:hover { color: var(--blue); }

.ld-tick, .ld-checks i, .ld-list i { color: var(--green); }

/* ================= landing v2: feed, marquee, funnel, calculator, comparison, packages ================= */
.ld-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 70; background: linear-gradient(90deg, var(--blue), var(--green)); transition: width .1s linear; }

/* hero live feed */
.ld-feed { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 10px; }
.ld-feed-h { display: flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 700; color: var(--navy); margin-bottom: 8px; }
.ld-feed-h em { margin-left: auto; font-style: normal; font-weight: 600; color: var(--mute); background: var(--soft); border-radius: 999px; padding: 1px 8px; }
.ld-live { width: 8px; height: 8px; border-radius: 50%; background: #10B981; box-shadow: 0 0 0 0 rgba(16, 185, 129, .6); animation: ldPulse 1.8s infinite; }
@keyframes ldPulse { 70% { box-shadow: 0 0 0 9px rgba(16, 185, 129, 0); } 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); } }
.ld-feed ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; height: 156px; overflow: hidden; align-content: start; }
.ld-feed li { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 6px 8px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.ld-feed li.new { animation: ldSlide .55s cubic-bezier(.2, .8, .2, 1); background: #F2FAFA; }
@keyframes ldSlide { from { opacity: 0; transform: translateY(-14px) scale(.97); } to { opacity: 1; transform: none; } }
.ld-feed .ico { width: 30px; height: 30px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; font-size: .9rem; color: #fff; }
.ld-feed .ico.w { background: #25D366; } .ld-feed .ico.g { background: var(--blue); } .ld-feed .ico.b { background: #F4A300; } .ld-feed .ico.m { background: #6D28D9; } .ld-feed .ico.f { background: #1877F2; }
.ld-feed b { display: block; font-size: .78rem; color: var(--navy); line-height: 1.2; }
.ld-feed small { display: block; font-size: .68rem; color: var(--mute); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ld-feed li > em { font-style: normal; font-weight: 700; font-size: .75rem; color: var(--green-d); }
.ld-mock { transition: transform .25s ease-out; transform-style: preserve-3d; will-change: transform; }

/* industries marquee */
.ld-marq-wrap { padding: 36px 0 6px; text-align: center; }
.ld-marq-t { color: var(--mute); font-weight: 500; margin: 0 0 16px; padding: 0 16px; }
.ld-marq { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.ld-marq-track { display: flex; gap: 14px; width: max-content; animation: ldMarq 38s linear infinite; }
.ld-marq:hover .ld-marq-track { animation-play-state: paused; }
.ld-marq-track span { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-weight: 600; color: var(--navy); white-space: nowrap; }
.ld-marq-track i { color: var(--blue); }
.ld-marq-track span:nth-child(3n) i { color: var(--green); }
@keyframes ldMarq { to { transform: translateX(calc(-50% - 7px)); } }

/* feature cards: cursor spotlight */
.ld-card { position: relative; }
.ld-card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%), rgba(10, 92, 102, .12), transparent 65%); opacity: 0; transition: opacity .3s; pointer-events: none; }
.ld-card:hover::before { opacity: 1; }

/* lead journey + funnel */
.ld-journey { background: #fff; }
.ld-jsteps { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 14px; position: relative; }
.ld-jsteps::before { content: ""; position: absolute; left: 21px; top: 22px; bottom: 22px; width: 2px; background: linear-gradient(var(--blue), var(--green)); opacity: .35; }
.ld-jsteps li { display: flex; gap: 14px; align-items: center; position: relative; }
.ld-jsteps li > span { flex: none; width: 44px; height: 44px; border-radius: 50%; background: #fff; border: 2px solid var(--blue); color: var(--blue); display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; position: relative; z-index: 1; animation: ldRing 3.2s ease-in-out infinite; }
.ld-jsteps li:nth-child(2) > span { animation-delay: .5s; } .ld-jsteps li:nth-child(3) > span { animation-delay: 1s; } .ld-jsteps li:nth-child(4) > span { animation-delay: 1.5s; border-color: var(--green); color: var(--green-d); }
@keyframes ldRing { 0%, 100% { box-shadow: 0 0 0 0 rgba(10, 92, 102, .35); } 50% { box-shadow: 0 0 0 10px rgba(10, 92, 102, 0); } }
.ld-jsteps b { display: block; color: var(--navy); } .ld-jsteps small { color: var(--mute); }
.ld-funnel { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 24px; box-shadow: 0 24px 60px rgba(8, 63, 71, .1); }
.ld-fn-h { display: flex; justify-content: space-between; margin-bottom: 18px; color: var(--navy); } .ld-fn-h small { color: var(--mute); }
.ld-fn-row { display: grid; grid-template-columns: 82px minmax(0, 1fr) 50px; gap: 12px; align-items: center; margin-bottom: 12px; }
.ld-fn-row .lbl { font-size: .8125rem; font-weight: 600; color: #475569; }
.ld-fn-row .bar { height: 26px; border-radius: 8px; background: var(--soft); overflow: hidden; }
.ld-fn-row .bar i { display: block; height: 100%; width: 0; border-radius: 8px; background: linear-gradient(90deg, var(--blue), #4FA3AD); transition: width 1.3s cubic-bezier(.2, .8, .2, 1) .2s; }
.ld-fn-row.in .bar i { width: var(--w); }
.ld-fn-row.won .bar i { background: linear-gradient(90deg, var(--green-d), var(--green)); }
.ld-fn-row b { text-align: right; color: var(--navy); font-variant-numeric: tabular-nums; }
.ld-fn-foot { margin-top: 8px; padding-top: 14px; border-top: 1px dashed var(--line); font-weight: 600; color: var(--green-d); display: flex; align-items: center; gap: 8px; }

/* pipeline board: moving deal */
.tk.mv { border-left-color: var(--green); background: #FFFBEF; animation: ldPop .5s cubic-bezier(.2, .8, .2, 1); box-shadow: 0 8px 18px rgba(244, 163, 0, .22); }
@keyframes ldPop { from { transform: scale(.88); opacity: .3; } to { transform: none; opacity: 1; } }

/* ROI calculator */
.ld-calc { display: grid; grid-template-columns: 1.1fr 1fr; gap: 0; max-width: 980px; margin: 0 auto; background: #fff; border: 1px solid var(--line); border-radius: 24px; overflow: hidden; box-shadow: 0 30px 70px rgba(8, 63, 71, .12); }
.ld-calc-in { padding: 34px; display: grid; align-content: center; gap: 8px; }
.ld-calc-in label { display: flex; justify-content: space-between; font-weight: 600; color: var(--navy); margin-top: 10px; }
.ld-calc-in label b { color: var(--blue); font-variant-numeric: tabular-nums; }
.ld-calc-in input[type=range] { width: 100%; accent-color: var(--blue); height: 28px; }
.ld-calc-out { padding: 34px; background: linear-gradient(145deg, var(--navy), #0A5C66); color: #fff; display: grid; gap: 14px; align-content: center; }
.ld-calc-out small { color: #B8D4D8; }
.ld-out-big { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; } .ld-out-big span { font-size: clamp(2.2rem, 5vw, 3.2rem); font-weight: 800; letter-spacing: -.03em; color: #FFC857; font-variant-numeric: tabular-nums; } .ld-out-big em { font-style: normal; color: #B8D4D8; }
.ld-out-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ld-out-grid > div { background: rgba(255, 255, 255, .08); border-radius: 12px; padding: 10px 12px; } .ld-out-grid b { display: block; font-size: 1.1rem; font-variant-numeric: tabular-nums; }
.ld-note { font-size: .75rem; color: #9FBFC4; margin: 0; }

/* comparison */
.ld-narrow2 { max-width: 860px; }
.ld-cmp { background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.ld-cmp-r { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr); align-items: center; padding: 14px 20px; border-top: 1px solid var(--line); gap: 8px; text-align: center; }
.ld-cmp-r > span:first-child { text-align: left; font-weight: 500; color: var(--navy); }
.ld-cmp-r.head { border-top: 0; background: var(--soft); font-weight: 700; font-size: .85rem; color: #475569; }
.ld-cmp-r .us { color: var(--blue); }
.ld-cmp-r .no { color: #CBD5E1; } .ld-cmp-r .mid { color: #F59E0B; font-weight: 600; font-size: .85rem; }
.ld-cmp-r .yes i { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: #D5EAEC; color: var(--blue); }
.ld-cmp-r:not(.head):hover { background: #F8FBFB; }

/* packages */
.ld-bill { display: flex; width: max-content; max-width: 100%; margin: 0 auto 34px; padding: 4px; background: #fff; border: 1px solid var(--line); border-radius: 999px; }
.ld-bill button { border: 0; background: transparent; border-radius: 999px; padding: 9px 22px; font-weight: 600; color: #64748B; }
.ld-bill button.on { background: var(--blue); color: #fff; }
.ld-bill em { font-style: normal; font-size: .72rem; margin-left: 6px; background: var(--green); color: #083F47; padding: 2px 7px; border-radius: 999px; }
.ld-pk-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; max-width: 1100px; margin: 0 auto; }
.ld-pk { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 28px 26px; display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s, border-color .25s; }
.ld-pk:hover { transform: translateY(-6px); box-shadow: 0 26px 50px rgba(8, 63, 71, .14); border-color: #A9D0D5; }
.ld-pk.pop { border: 2px solid var(--blue); box-shadow: 0 20px 44px rgba(10, 92, 102, .18); }
.ld-pk .tag { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); background: var(--green); color: #083F47; font-size: .72rem; font-weight: 800; padding: 4px 14px; border-radius: 999px; white-space: nowrap; }
.ld-pk-ico { width: 64px; height: 64px; object-fit: contain; margin-bottom: 8px; transition: transform .3s ease; }
.ld-pk:hover .ld-pk-ico { transform: scale(1.12) rotate(-5deg); }
.ld-pk h3 { margin: 0; font-size: 1.15rem; color: var(--navy); }
.ld-pk-price { display: flex; align-items: baseline; gap: 4px; margin: 8px 0 4px; color: var(--navy); }
.ld-pk-price span { font-size: 1.4rem; font-weight: 700; } .ld-pk-price b { font-size: 2.4rem; font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; } .ld-pk-price small { color: var(--mute); }
.ld-pk-cap { color: var(--mute); font-size: .875rem; margin-bottom: 14px; }
.ld-pk ul { list-style: none; padding: 0; margin: 0 0 22px; display: grid; gap: 9px; flex: 1; color: #334155; font-size: .9375rem; }
.ld-pk li::before { content: "\2713"; color: var(--green-d); font-weight: 800; margin-right: 10px; }

@media (max-width: 991.98px) {
  .ld-pk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ld-calc { grid-template-columns: minmax(0, 1fr); }
  .ld-journey .ld-split { gap: 36px; }
}
@media (max-width: 767.98px) {
  .ld-pk-grid { grid-template-columns: minmax(0, 1fr); }
  .ld-calc-in, .ld-calc-out { padding: 24px 20px; }
  .ld-out-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .ld-out-grid > div:first-child { grid-column: 1 / -1; }
  .ld-cmp-r { padding: 12px 12px; font-size: .875rem; grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr) minmax(0, .8fr); }
  .ld-fn-row { grid-template-columns: 70px minmax(0, 1fr) 44px; gap: 8px; }
  .ld-feed ul { height: 150px; }
}
@media (prefers-reduced-motion: reduce) {
  .ld-marq-track, .ld-live, .ld-jsteps li > span, .ld-feed li.new, .tk.mv { animation: none !important; }
  .ld-fn-row .bar i { transition: none; }
  .ld-mock { transition: none; }
}

.ld-float.f1 { bottom: -26px; left: -28px; }
@media (max-width: 991.98px) { .ld-float.f1 { left: 0; bottom: -22px; } }
@media (max-width: 767.98px) { .ld-float.f1 { left: -6px; bottom: -22px; } }
@media (max-width: 767.98px) { .ld-float.f1 { bottom: -40px; } .ld-hero-art { margin-bottom: 40px; } }

/* ================= landing v3: product tour, slider, comparison, demo form ================= */
/* product tour */
.ld-tour { max-width: 1080px; margin: 0 auto; }
.ld-tabs { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 26px; }
.ld-tabs button { border: 1px solid var(--line); background: #fff; color: #475569; border-radius: 999px; padding: 10px 20px; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; transition: all .2s; }
.ld-tabs button:hover { border-color: var(--blue); color: var(--blue); }
.ld-tabs button.on { background: var(--blue); border-color: var(--blue); color: #fff; box-shadow: 0 8px 20px rgba(10, 92, 102, .25); }
.ld-tabs button:focus-visible { outline: 3px solid rgba(10, 92, 102, .4); outline-offset: 2px; }
.ld-tour-body { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.ld-frame { background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; box-shadow: 0 30px 70px rgba(8, 63, 71, .14); min-height: 330px; }
.ld-frame-bar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: #F1F5F9; border-bottom: 1px solid var(--line); }
.ld-frame-bar i { width: 10px; height: 10px; border-radius: 50%; background: #CBD5E1; } .ld-frame-bar i:first-child { background: #F87171; } .ld-frame-bar i:nth-child(2) { background: #FBBF24; } .ld-frame-bar i:nth-child(3) { background: #34D399; }
.ld-frame-bar span { margin-left: 10px; font-size: .75rem; color: var(--mute); background: #fff; border-radius: 999px; padding: 2px 12px; }
.ld-tpanel { padding: 18px; display: none; }
.ld-tpanel.on { display: block; animation: ldPanel .5s cubic-bezier(.2, .8, .2, 1); }
@keyframes ldPanel { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.ld-tpanel[hidden] { display: none; }
.tr-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.tr-kpis > div { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; }
.tr-kpis small { display: block; color: var(--mute); font-size: .7rem; } .tr-kpis b { font-size: 1.15rem; color: var(--navy); } .tr-kpis em { font-style: normal; font-size: .68rem; color: var(--green-d); font-weight: 700; margin-left: 4px; }
.tr-chart { width: 100%; height: 110px; display: block; }
.tr-line { stroke-dasharray: 700; stroke-dashoffset: 700; }
.ld-tpanel.on .tr-line { animation: ldDraw 1.6s ease forwards; }
@keyframes ldDraw { to { stroke-dashoffset: 0; } }
.tr-list { display: grid; gap: 8px; margin-top: 10px; }
.tr-list > div { display: grid; grid-template-columns: 30px 1fr auto auto; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; font-size: .8rem; }
.tr-list b { color: var(--navy); } .tr-list small { color: var(--mute); } .tr-list i { font-style: normal; font-weight: 700; color: var(--blue); font-size: .75rem; }
.a { display: inline-flex; width: 28px; height: 28px; border-radius: 50%; align-items: center; justify-content: center; font-size: .65rem; font-weight: 700; color: #fff; font-style: normal; }
.a.g { background: var(--blue); } .a.b { background: #4F46E5; } .a.v { background: #9333EA; }
.tr-table { font-size: .8rem; }
.tr-table > div { display: grid; grid-template-columns: 1.5fr 1.2fr 1fr .9fr; gap: 10px; align-items: center; padding: 10px 6px; border-bottom: 1px solid var(--line); }
.tr-table > div.h { color: var(--mute); font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; }
.tr-table > div:not(.h) { animation: ldRowIn .5s both; } .tr-table > div:nth-child(3) { animation-delay: .08s; } .tr-table > div:nth-child(4) { animation-delay: .16s; } .tr-table > div:nth-child(5) { animation-delay: .24s; } .tr-table > div:nth-child(6) { animation-delay: .32s; }
@keyframes ldRowIn { from { opacity: 0; transform: translateX(-14px); } to { opacity: 1; transform: none; } }
.tr-table span:first-child { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--navy); }
.s { font-style: normal; font-size: .7rem; font-weight: 700; padding: 3px 9px; border-radius: 999px; }
.s.n { background: #E0F2FE; color: #0369A1; } .s.q { background: #E0E7FF; color: #4338CA; } .s.p { background: #F3E8FF; color: #7E22CE; } .s.w { background: #DCFCE7; color: #15803D; }
.tr-board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; background: var(--soft); border-radius: 12px; padding: 12px; }
.tr-board h5 { font-size: .75rem; margin: 0 0 8px; color: var(--navy); display: flex; align-items: center; gap: 6px; } .tr-board h5 i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.tr-board .tk { animation: ldRowIn .5s both; }
.tr-rep { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 16px; align-items: center; }
.tr-bars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; height: 200px; align-items: end; }
.tr-bars > div { height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 6px; font-size: .68rem; color: var(--mute); }
.tr-bars i { width: 100%; height: 0; border-radius: 8px 8px 0 0; background: linear-gradient(180deg, #4FA3AD, var(--blue)); }
.tr-bars .w i { background: linear-gradient(180deg, #FFC857, var(--green)); }
.ld-tpanel.on .tr-bars i { animation: ldGrow 1s cubic-bezier(.2, .8, .2, 1) forwards; }
@keyframes ldGrow { to { height: calc(var(--h) * 1.6); } }
.tr-donut { width: 100%; max-width: 170px; margin: 0 auto; display: block; }
.tr-donut .seg { stroke-dashoffset: 0; } .tr-donut .t1 { font-size: 22px; font-weight: 800; fill: var(--navy); } .tr-donut .t2 { font-size: 9px; fill: var(--mute); }
.ld-tour-note h3 { margin: 0 0 8px; color: var(--navy); font-size: 1.35rem; }
.ld-tour-note p { color: #475569; margin: 0 0 14px; }
.ld-tour-note ul { list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 8px; }
.ld-tour-note li::before { content: "\2713"; color: var(--green-d); font-weight: 800; margin-right: 10px; }

/* testimonials slider */
.ld-slider { max-width: 760px; margin: 0 auto; }
.ld-slides { display: flex; overflow: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; border-radius: 22px; touch-action: pan-y; }
.ld-slide { flex: 0 0 100%; scroll-snap-align: center; padding: 4px; }
.ld-slide .ld-quote { padding: 38px 40px; text-align: center; box-shadow: 0 24px 60px rgba(8, 63, 71, .1); }
.ld-slide .ld-quote blockquote { font-size: 1.25rem; line-height: 1.5; color: var(--navy); font-weight: 500; margin: 16px 0 24px; }
.ld-slide .ld-quote .stars { font-size: 1.2rem; }
.ld-slide .ld-quote figcaption { justify-content: center; text-align: left; }
.ld-slider-nav { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 20px; }
.ld-arrow { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--navy); transition: all .2s; }
.ld-arrow:hover { background: var(--blue); color: #fff; border-color: var(--blue); }
.ld-dots { display: flex; gap: 8px; } .ld-dots button { width: 10px; height: 10px; border-radius: 999px; border: 0; background: #CBD5E1; padding: 0; transition: all .25s; } .ld-dots button.on { width: 28px; background: var(--blue); }

/* comparison */
.ld-compare { max-width: 1100px; margin: 34px auto 0; background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.ld-compare summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; padding: 18px 24px; font-weight: 700; color: var(--navy); }
.ld-compare summary::-webkit-details-marker { display: none; }
.ld-compare summary i { transition: transform .25s; color: var(--blue); } .ld-compare[open] summary i { transform: rotate(180deg); }
.ld-compare summary:focus-visible { outline: 3px solid rgba(10, 92, 102, .4); outline-offset: -3px; }
.ld-compare-scroll { overflow-x: auto; border-top: 1px solid var(--line); }
.ld-compare table { width: 100%; border-collapse: collapse; min-width: 760px; font-size: .9rem; }
.ld-compare th, .ld-compare td { padding: 12px 14px; text-align: center; border-bottom: 1px solid var(--line); }
.ld-compare thead th { background: var(--soft); color: var(--navy); font-size: .8rem; position: sticky; top: 0; }
.ld-compare thead th.pop { background: #D5EAEC; color: var(--blue); }
.ld-compare tbody th { text-align: left; font-weight: 500; color: #334155; position: sticky; left: 0; background: #fff; min-width: 190px; }
.ld-compare tbody tr:hover td, .ld-compare tbody tr:hover th { background: #F8FBFB; }
.ld-compare .yes { color: var(--green-d); font-size: 1.1rem; } .ld-compare .no { color: #CBD5E1; }

/* demo form */
.ld-demo { background: linear-gradient(160deg, #F3F8F9, #E4F1F2); }
.ld-demo-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 56px; align-items: center; }
.ld-demo-copy h2 { text-align: left; }
.ld-demo-fine { color: var(--mute); font-size: .85rem; display: flex; gap: 8px; align-items: center; }
.ld-demo-card { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 30px; box-shadow: 0 30px 70px rgba(8, 63, 71, .14); }
.ld-fgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; }
.ld-fgrid .full { grid-column: 1 / -1; }
.ld-fgrid label { display: block; font-size: .8125rem; font-weight: 600; color: #334155; margin-bottom: 6px; }
.ld-input { width: 100%; border: 1.5px solid #D5DDE8; border-radius: 10px; padding: 11px 14px; font: inherit; color: var(--ink); background: #fff; transition: border-color .15s, box-shadow .15s; }
.ld-input:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(10, 92, 102, .2); }
.ld-input.bad { border-color: #EF4444; }
.ld-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ld-form-err { background: #FEF2F2; color: #B91C1C; border: 1px solid #FECACA; border-radius: 10px; padding: 10px 12px; margin-bottom: 14px; font-size: .875rem; }
.ld-form-err[hidden] { display: none; }
.ld-full { width: 100%; }
.ld-consent { margin: 0 0 16px; }
.ld-check { display: flex; align-items: flex-start; gap: 10px; font-size: .8125rem; color: #475569; line-height: 1.45; cursor: pointer; }
.ld-check input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--blue); cursor: pointer; }
.ld-check input.bad { outline: 2px solid #EF4444; outline-offset: 2px; }
.ld-check a { color: var(--blue); font-weight: 600; text-decoration: underline; }
.ld-check a:hover { color: var(--blue-d); }
.ld-demo-ok { text-align: center; padding: 24px 8px; } .ld-demo-ok[hidden] { display: none; }
.ld-demo-ok h3 { margin: 12px 0 6px; color: var(--navy); } .ld-demo-ok p { color: #475569; margin: 0; }
.ld-tick-svg { width: 84px; height: 84px; } .ld-tick-svg circle { stroke-dasharray: 160; stroke-dashoffset: 160; animation: ldDraw .7s ease forwards; } .ld-tick-svg path { stroke-dasharray: 50; stroke-dashoffset: 50; animation: ldDraw .5s .5s ease forwards; }

@media (max-width: 991.98px) {
  .ld-tour-body { grid-template-columns: minmax(0, 1fr); }
  .ld-demo-in { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 767.98px) {
  .tr-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tr-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tr-rep { grid-template-columns: minmax(0, 1fr); }
  .tr-table > div { grid-template-columns: 1.4fr 1fr .9fr; } .tr-table > div > span:nth-child(2) { display: none; }
  .ld-tabs button { padding: 9px 14px; font-size: .875rem; }
  .ld-slide .ld-quote { padding: 26px 20px; } .ld-slide .ld-quote blockquote { font-size: 1.05rem; }
  .ld-fgrid { grid-template-columns: minmax(0, 1fr); }
  .ld-demo-card { padding: 22px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .ld-tpanel.on, .tr-table > div, .tr-board .tk { animation: none !important; }
  .tr-line { stroke-dashoffset: 0; animation: none !important; }
  .ld-tpanel.on .tr-bars i { animation: none !important; height: calc(var(--h) * 1.6); }
  .ld-tick-svg circle, .ld-tick-svg path { animation: none !important; stroke-dashoffset: 0; }
  .ld-slides { scroll-behavior: auto; }
}
