/* Website bundle landing styles (copied subset) */
:root {
  --bg: #0f1216;
  --bg-2: #141a22;
  --surface: #151a21;
  --border: #2a2f36;
  --text: #f5f7fa;
  --muted: #c5ced8;
  --accent: #4f9cff;
  --accent-2: #2667ff;
  --success: #72dd85;
}
html, body { background: var(--bg); color: var(--text); }
.navbar { position: sticky; top: 0; z-index: 1040; min-height: 88px; background: rgba(20,26,34,0.65); border-bottom: 1px solid rgba(48,54,61,0.6); backdrop-filter: saturate(120%) blur(10px); -webkit-backdrop-filter: saturate(120%) blur(10px); }
.navbar-brand { font-weight: 800; letter-spacing: .3px; color: #fff !important; }
.nav-link { color: #e8eef6; }
.nav-link:hover { color: #ffffff; }
/* Align toggler to the far right on mobile */
.navbar .navbar-toggler { margin-left: auto; border-color: rgba(232,238,246,.35); }
.navbar .navbar-toggler:focus { box-shadow: 0 0 0 .25rem rgba(79,156,255,.25); }
.announce-bar { position: relative; z-index: 1050; background: rgba(20,26,34,.9); border-bottom: 1px solid rgba(48,54,61,.6); backdrop-filter: saturate(120%) blur(8px); -webkit-backdrop-filter: saturate(120%) blur(8px); }
.announce-wrap { overflow: hidden; white-space: nowrap; }
.announce-track { display: inline-block; padding: .4rem 0; color: #e8eef6; animation: scroll-left 22s linear infinite; }
.announce-track strong { color: #ffd166; }
.announce-wrap:hover .announce-track { animation-play-state: paused; }
@keyframes scroll-left { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.hero { padding: clamp(96px, 10vw, 150px) 0 clamp(64px, 6vw, 100px); background:
  radial-gradient(1200px 500px at 20% -10%, rgba(76, 131, 255, .18), transparent),
  radial-gradient(1000px 400px at 100% 0, rgba(46, 204, 113, .14), transparent); }
.hero h1 { font-size: clamp(2.4rem, 4.2vw, 3.4rem); line-height: 1.08; }
.hero .lead { color: var(--muted); max-width: 820px; }
.badges .badge { background: #202732; color: #fff; border: 1px solid var(--border); padding: .75rem 1rem; border-radius: 999px; }
.badges .badge i { color: var(--success); }
.hero-giant-icon { position: relative; display:flex; align-items:center; justify-content:center; height: 340px; transform-style: preserve-3d; perspective: 1000px; transform: rotateY(-6deg) rotateX(2deg); transition: transform .5s ease; pointer-events: none; }
.hero-giant-icon .mdi { font-size: 176px; color: #e8f1ff; -webkit-text-stroke: 1.5px rgba(28,52,94,.6); text-shadow: none; text-rendering: geometricPrecision; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; animation: icon-float 6s ease-in-out infinite; }
.hero-giant-icon::before { content:""; position:absolute; inset: -20px; pointer-events:none; border-radius: 30px; transform: translateZ(-1px); background: radial-gradient(80% 60% at 10% 10%, rgba(255,255,255,.08), transparent 60%), conic-gradient(from 210deg at 60% 40%, rgba(79,156,255,.22), rgba(114,221,133,.0), rgba(79,156,255,.22)); mask: radial-gradient(120% 120% at 50% 50%, rgba(0,0,0,.85), transparent 70%); transition: transform .6s ease, opacity .4s ease; opacity: .9; }
.hero-giant-icon:hover { transform: rotateY(6deg) rotateX(-2deg) translateY(-2px) scale(1.02); }
.hero-giant-icon:hover::before { transform: rotate(8deg); opacity: 1; }
@keyframes icon-float { 0% { transform: translateZ(0) rotateY(-4deg) rotateX(2deg); } 50% { transform: translateZ(14px) rotateY(4deg) rotateX(-2deg); } 100% { transform: translateZ(0) rotateY(-4deg) rotateX(2deg); } }
.btn { border-radius: 12px; }
.hero .btn { position: relative; z-index: 2; }
.btn-primary { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border: 1px solid rgba(38,103,255,.5); box-shadow: 0 8px 20px rgba(38,103,255,.25); transition: transform .15s ease, box-shadow .2s ease; }
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(38,103,255,.32); }
.btn-outline-light { color: #e8eef6; border: 1px solid #5a6a7e; background: rgba(32,39,50,.25); transition: transform .15s ease, box-shadow .2s ease; }
.btn-outline-light:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(90,106,126,.35); }
.card-dark { background: var(--surface); border: 1px solid var(--border); color: #fff; border-radius: 16px; box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.section-title { font-weight: 800; }
.muted { color: var(--muted); }
.feat-icon { width:52px; height:52px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:#202732; color:var(--success); box-shadow: 0 0 0 0 rgba(114,221,133,.0); transition: box-shadow .25s ease, transform .25s ease; }
.card-tilt { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.card-tilt:hover { transform: translateY(-6px); box-shadow: 0 20px 60px rgba(38,103,255,.25); border-color: rgba(38,103,255,.5); }
.card-tilt i.mdi { transition: transform .25s ease; display: inline-block; }
.card-tilt:hover i.mdi { transform: translateY(-3px) scale(1.06) rotate(-2deg); }
.card-tilt:hover .feat-icon { box-shadow: 0 0 16px 2px rgba(114,221,133,.35); transform: translateY(-2px); }
.features-grid .card-dark { min-height: 180px; position: relative; overflow: hidden; }
.features-grid .card-dark:hover .feat-icon { box-shadow: 0 0 16px 2px rgba(114,221,133,.35); transform: translateY(-2px); }
.features-grid .card-dark:hover { box-shadow: 0 16px 48px rgba(38,103,255,.22); border-color: rgba(38,103,255,.4); }
.pricing .card { min-height: 420px; display:flex; flex-direction:column; justify-content:space-between; position: relative; }
.pricing .price { font-size: 2.25rem; font-weight: 800; }
.pricing .featured { outline: 2px solid var(--accent-2); box-shadow: 0 16px 40px rgba(38,103,255,.35); position: relative; }
.pricing .featured-lg { transform: scale(1.04); z-index: 2; }
.pricing .featured-lg .price { font-size: 2.4rem; }
.pricing .card:hover { transform: translateY(-6px); }
.pricing .ribbon { position:absolute; top:12px; right: -8px; background: var(--accent-2); color:#fff; padding:.35rem .6rem; border-radius: 6px; font-size:.8rem; font-weight:700; }
.pricing ul { text-align: left; margin: 0; padding-left: 1.1rem; color: var(--muted); }
.pricing ul li { margin-bottom: .4rem; }
.video-section .video-card { background: linear-gradient(180deg, rgba(79,156,255,.12), rgba(21,26,33,.6)); border: 1px solid var(--border); border-radius: 16px; padding: 10px; box-shadow: 0 12px 28px rgba(0,0,0,.3); }
.video-section .bullets li { margin-bottom: .4rem; color: var(--muted); }

/* Lazy video placeholder */
.lazy-video { position: relative; display:block; width: 100%; height: 100%; cursor: pointer; overflow: hidden; border-radius: 12px; }
.lazy-video img { display:block; width:100%; height:100%; object-fit: cover; filter: saturate(1.1) contrast(1.05) brightness(0.9); }
.lazy-video-play { position:absolute; inset:auto; left:50%; top:50%; transform:translate(-50%,-50%); background: rgba(15,18,22,.7); border:1px solid var(--border); color:#fff; width:78px; height:78px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow: 0 12px 28px rgba(0,0,0,.4); }
.lazy-video-play i.mdi { font-size: 36px; color: #e8eef6; }
/* Ensure ratio children fill correctly */
.ratio > .lazy-video, .ratio > iframe { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
.cta { background: linear-gradient(90deg, #141a22, #0f1216); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.cta .cta-card { background: radial-gradient(600px 200px at 10% 0%, rgba(79,156,255,.18), transparent), radial-gradient(600px 280px at 100% 0%, rgba(114,221,133,.18), transparent); border:1px solid var(--border); border-radius: 16px; padding: 36px; }
.cta .sub { color: var(--muted); }
.footer { border-top: 1px solid var(--border); padding: 50px 0 24px; color: var(--muted); }
.footer-top .brand { font-weight: 800; color: #fff; }
.footer-top .tag { background: rgba(114,221,133,.15); border: 1px solid rgba(114,221,133,.4); color:#d7ffe1; padding: .2rem .5rem; border-radius: 999px; font-size: .8rem; font-weight: 700; }
.footer a { color: #e8eef6; text-decoration: none; }
.footer a:hover { color: #fff; text-decoration: underline; }
.footer-bottom { border-top: 1px solid var(--border); margin-top: 22px; padding-top: 16px; font-size: .95rem; }
/* Slightly reduce overall width */
.container { max-width: 1120px; }
#pointer-ring { position: fixed; top: 0; left: 0; width: 18px; height: 18px; border: 2px solid rgba(79,156,255,.9); border-radius: 50%; pointer-events: none; transform: translate(-50%, -50%); z-index: 9999; transition: width .15s ease, height .15s ease, border-color .15s ease, opacity .15s ease; mix-blend-mode: screen; opacity: .9; }
#pointer-dot { position: fixed; top: 0; left: 0; width: 6px; height: 6px; background: rgba(114,221,133,.95); border-radius: 50%; pointer-events: none; transform: translate(-50%, -50%); z-index: 9999; mix-blend-mode: screen; }
.pointer-hover { width: 30px !important; height: 30px !important; border-color: rgba(114,221,133,.95) !important; }
@media (prefers-reduced-motion: reduce) { .announce-track { animation: none; } #pointer-ring, #pointer-dot { transition: none; } }

/* Offcanvas (mobile menu) theming */
.offcanvas { background: var(--bg-2); color: var(--text); border-left: 1px solid var(--border); }
.offcanvas .offcanvas-header { border-bottom: 1px solid var(--border); }
.offcanvas .offcanvas-title { color: #fff; font-weight: 700; }
.offcanvas .btn-close { filter: invert(1) grayscale(100%); opacity: .85; }
.offcanvas .navbar-nav .nav-link { color: var(--text); padding: .5rem 0; }
.offcanvas .navbar-nav .nav-link:hover { color: #fff; }
.offcanvas .btn.btn-primary { width: auto; display: inline-flex; align-items: center; justify-content: center; padding-left: 16px; padding-right: 16px; }

/* Lower the offcanvas a bit on small screens to clear top bars */
@media (max-width: 991.98px) {
  .offcanvas { top: 110px; height: calc(100% - 110px); }
}

/* Testimonials (conversion-first) */
	:root { --tf-bg:#0d141b; --tf-panel:#0f1a22; --tf-accent-start:#2b9bff; --tf-accent-end:#48e0bf; --tf-border:rgba(120,180,255,.22); --tf-text:#e5f6ff; --tf-muted:#9bb3c2; --tf-fade:110px; }
	#testimonials { position: relative; margin-top:30px; }
	.tf-testimonials { position: relative; overflow: hidden; border-radius: 30px; background: linear-gradient(180deg,var(--tf-bg),#090e13); padding: 14px 0 28px; }
	.tf-testimonials::before, .tf-testimonials::after { content:""; position:absolute; top:0; bottom:0; width:var(--tf-fade); pointer-events:none; z-index:4; }
	.tf-testimonials::before { left:0; background:linear-gradient(90deg,var(--tf-bg),rgba(13,20,27,0)); }
	.tf-testimonials::after { right:0; background:linear-gradient(270deg,var(--tf-bg),rgba(13,20,27,0)); }
	.tf-track { display:flex; width:max-content; animation: tf-scroll 60s linear infinite; will-change:transform; gap:54px; padding:10px var(--tf-fade); }
	.tf-card { flex:0 0 460px; display:flex; flex-direction:column; justify-content:space-between; min-height:255px; background:linear-gradient(160deg,#132838 0%,#102230 58%,#0b161f 100%); border:1px solid var(--tf-border); border-radius:28px; padding:30px 26px 26px; position:relative; box-shadow:0 30px 56px -20px rgba(0,0,0,.75),0 6px 14px -4px rgba(0,0,0,.55); color:var(--tf-text); }
	.tf-card::before { content:""; position:absolute; inset:0; border-radius:inherit; background:radial-gradient(900px 420px at 120% -10%, rgba(80,200,255,.16), transparent 72%), radial-gradient(700px 340px at -10% 110%, rgba(73,227,194,.14), transparent 72%); mix-blend-mode:screen; opacity:.55; }
	.tf-card::after { content:""; position:absolute; left:-35%; top:-140%; width:70%; height:360%; transform:rotate(24deg); background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent); filter:blur(12px); animation: tf-shine 9.5s ease-in-out infinite; }
	@keyframes tf-shine { 0%{transform:translateX(-55%) rotate(24deg); opacity:0;} 20%{opacity:.75;} 38%{opacity:0;} 100%{transform:translateX(240%) rotate(24deg); opacity:0;} }
	.tf-stars { font-size:1.05rem; letter-spacing:.15em; color:#ffcc42; font-weight:700; margin:0 0 14px; text-shadow:0 2px 10px rgba(0,0,0,.6); }
	.tf-quote { font-size:1.07rem; line-height:1.6; margin:0 0 22px; color:#eef9ff; }
	.tf-author { display:flex; align-items:center; gap:16px; margin-top:auto; }
	.tf-author img, .tf-avatar { width:60px; height:60px; border-radius:50%; background:#101c25; border:2px solid rgba(149,175,255,.4); box-shadow:0 12px 26px -12px rgba(10,20,30,.85); font-weight:800; display:grid; place-items:center; font-size:1rem; letter-spacing:.6px; color:#08222e; }
	.tf-avatar { background:linear-gradient(135deg,var(--tf-accent-start),var(--tf-accent-end)); color:#041820; }
	.tf-author strong { display:block; font-size:1.08rem; color:#fff; }
	.tf-author small { display:block; font-size:.65rem; letter-spacing:.6px; text-transform:uppercase; color:#5fd6a8; }
	.tf-flag { font-size:1rem; margin-left:4px; filter:drop-shadow(0 0 6px rgba(0,0,0,.45)); }
	@keyframes tf-scroll { 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }
	.tf-testimonials:hover .tf-track { animation-play-state:paused; }
	.tf-focus-jump { position:absolute; left:50%; transform:translateX(-50%); bottom:-26px; width:54px; height:54px; border-radius:18px; border:0; background:linear-gradient(135deg,var(--tf-accent-end),var(--tf-accent-start)); color:#041820; font-weight:900; box-shadow:0 20px 42px -18px rgba(31,122,224,.55),0 4px 14px -4px rgba(31,122,224,.6); cursor:pointer; transition:transform .25s ease, box-shadow .25s ease; font-size:1.25rem; }
	.tf-focus-jump:hover { transform:translateX(-50%) scale(1.08); box-shadow:0 24px 54px -20px rgba(31,122,224,.65); }
	#testimonials.tf-highlight { box-shadow:0 0 0 0 rgba(73,227,194,.7); animation:tf-pulse 3.2s ease-out 2; border-radius:34px; }
	@keyframes tf-pulse { 0%{box-shadow:0 0 0 0 rgba(73,227,194,.65);} 60%{box-shadow:0 0 0 34px rgba(73,227,194,0);} 100%{box-shadow:0 0 0 0 rgba(73,227,194,0);} }
	@media (max-width:1400px){ .tf-card{ flex:0 0 420px; } .tf-track{ gap:48px; } }
	@media (max-width:1100px){ .tf-card{ flex:0 0 400px; min-height:250px; } .tf-track{ gap:44px; } }
	@media (max-width:992px){ .tf-card{ flex:0 0 72vw; min-height:250px; padding:26px 22px 22px; } .tf-track{ gap:38px; } }
	@media (max-width:768px){ .tf-card{ flex:0 0 82vw; min-height:242px; } .tf-track{ gap:32px; } }
	@media (max-width:520px){ .tf-card{ flex:0 0 90vw; min-height:236px; padding:24px 20px 20px; } .tf-track{ gap:26px; padding-inline: calc(var(--tf-fade) - 20px); } .tf-stars{ font-size:1rem; margin-bottom:10px; } }
	@media (prefers-reduced-motion:reduce){ .tf-track{ animation:none; } #testimonials.tf-highlight{ animation:none; } .tf-card::after{ animation:none; } }