@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --bg: #f7faff;
  --surface: #ffffff;
  --surface-blue: #f0f6ff;
  --text: #10223d;
  --muted: #6c7d93;
  --faint: #9aa9ba;
  --line: #e3eaf3;
  --blue: #176ee8;
  --blue-dark: #0d4fae;
  --blue-soft: #eaf3ff;
  --cyan: #18b9d1;
  --orange: #ed8a43;
  --shadow: 0 18px 50px rgba(32, 74, 126, .09);
  font-family: 'Manrope', system-ui, sans-serif;
  color: var(--text);
  background: var(--bg);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; overflow-x: hidden; color: var(--text); background: var(--bg); }
body:before { content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .45; background-image: linear-gradient(rgba(23,110,232,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(23,110,232,.035) 1px, transparent 1px); background-size: 40px 40px; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.container { width: min(1120px, calc(100% - 64px)); margin: 0 auto; }

/* Header */
.site-header { position: absolute; inset: 0 0 auto; z-index: 10; }
.nav-wrap { height: 88px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 10px; }
.brand-mark { width: 35px; height: 35px; position: relative; display: grid; place-items: center; overflow: hidden; border-radius: 10px; color: #fff; background: linear-gradient(140deg, #2787ee, #1556b8); box-shadow: 0 7px 18px rgba(23,110,232,.22); font: 800 16px/1 Manrope; }
.brand-mark:after { content: ''; position: absolute; left: -6px; width: 50px; height: 1px; background: rgba(255,255,255,.7); transform: rotate(-45deg); }
.brand-mark span { position: absolute; top: 8px; left: 8px; z-index: 1; }.brand-mark i { position: absolute; right: 7px; bottom: 5px; z-index: 1; color: #bdddff; font-size: 11px; font-style: normal; }
.brand-copy { display: grid; gap: 3px; line-height: 1; }.brand-copy strong { font-size: 12px; letter-spacing: .13em; }.brand-copy small { color: var(--blue); font: 500 8px/1 'DM Mono'; letter-spacing: .27em; }
.desktop-nav { display: flex; gap: 32px; margin-left: 80px; }.desktop-nav a { color: var(--muted); font-size: 11px; transition: color .2s; }.desktop-nav a:hover { color: var(--blue); }
.nav-actions { display: flex; align-items: center; gap: 11px; }.icon-button { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: rgba(255,255,255,.75); cursor: pointer; transition: .2s; }.icon-button:hover { color: var(--blue); border-color: #a8c9f5; }.theme-toggle { font-size: 18px; }.theme-toggle .moon { display: none; }
.nav-button { display: inline-flex; align-items: center; gap: 17px; padding: 11px 14px; border: 1px solid #c8dcf8; border-radius: 8px; color: var(--blue); background: var(--surface); font-size: 10px; font-weight: 700; transition: .2s; }.nav-button:hover { color: #fff; background: var(--blue); border-color: var(--blue); }
.menu-button { display: none; border-radius: 8px; gap: 3px; }.menu-button span { width: 13px; height: 1px; background: currentColor; }
.mobile-menu { display: none; }

/* Hero */
.hero { position: relative; overflow: hidden; padding: 167px 0 108px; background: linear-gradient(180deg, #edf5ff 0%, #f7faff 92%); }.hero:after { content: ''; position: absolute; right: -130px; bottom: -170px; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(82,155,240,.14), transparent 66%); }.hero-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 72px; align-items: center; position: relative; z-index: 1; }
.eyebrow { display: flex; align-items: center; gap: 8px; color: var(--blue); font: 500 9px/1.2 'DM Mono'; letter-spacing: .12em; text-transform: uppercase; }.eyebrow > span { width: 26px; height: 1px; background: currentColor; }
h1, h2, h3, p { margin-top: 0; } h1 { margin: 24px 0 22px; color: var(--text); font-size: clamp(43px, 5vw, 70px); line-height: .99; letter-spacing: -.07em; font-weight: 700; } h1 strong, h2 strong { color: var(--blue); font-weight: 700; }.hero-copy > p { max-width: 450px; color: var(--muted); font-size: 13px; line-height: 1.85; }
.hero-buttons { display: flex; gap: 10px; margin-top: 31px; }.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 17px; border-radius: 8px; font-size: 11px; transition: transform .2s, background .2s, border-color .2s; }.button:hover { transform: translateY(-2px); }.button-primary { color: #fff; background: var(--blue); box-shadow: 0 10px 22px rgba(23,110,232,.18); }.button-primary:hover { background: var(--blue-dark); }.button-outline { border: 1px solid #c8d9ee; color: var(--muted); background: rgba(255,255,255,.5); }.button-outline:hover { color: var(--blue); border-color: #8cb6ed; background: #fff; }
.hero-note { display: flex; align-items: center; gap: 10px; margin-top: 45px; color: var(--muted); font-size: 10px; line-height: 1.5; }.hero-note b, .hero-note small { display: block; }.hero-note b { color: var(--text); font-size: 11px; }.hero-note small { color: var(--faint); margin-top: 3px; }.online-dot { display: inline-block; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #48c598; box-shadow: 0 0 0 5px rgba(72,197,152,.12); }
.hero-card { min-height: 370px; padding: 20px; border: 1px solid #d6e4f6; border-radius: 18px; background: rgba(255,255,255,.72); box-shadow: var(--shadow); }.hero-card-top, .hero-card-bottom { display: flex; justify-content: space-between; color: var(--faint); font: 8px 'DM Mono'; letter-spacing: .04em; }.hero-card-top b { color: var(--blue); font-weight: 400; }.hero-device { min-height: 290px; position: relative; display: grid; place-items: center; }.device-phone { width: 150px; height: 257px; padding: 6px; border: 2px solid #9cbbe3; border-radius: 25px; background: #eef5ff; box-shadow: 20px 22px 30px rgba(47,92,155,.18), 0 0 0 5px rgba(23,110,232,.05); transform: rotate(8deg); }.device-screen { display: flex; height: 100%; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; border-radius: 18px; color: #fff; background: linear-gradient(150deg, #0e64c9, #1d92df); }.device-logo { display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 13px; font-size: 16px; font-weight: 800; }.device-screen b { margin-top: 22px; font-size: 12px; }.device-screen small { margin-top: 6px; color: #d9efff; font-size: 8px; }.device-screen i { display: grid; width: 42px; height: 42px; place-items: center; margin-top: 22px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; background: rgba(255,255,255,.12); font-size: 18px; font-style: normal; }.service-status { position: absolute; right: 16px; bottom: 28px; display: flex; align-items: center; gap: 8px; padding: 11px 13px; border: 1px solid #d7e5f4; border-radius: 9px; background: rgba(255,255,255,.94); box-shadow: 0 12px 25px rgba(28,79,137,.1); }.service-status b, .service-status small { display: block; }.service-status b { color: var(--text); font-size: 9px; }.service-status small { margin-top: 3px; color: var(--faint); font-size: 7px; }.hero-card-bottom span:last-child { color: var(--blue); }.hero-card-bottom b { padding-left: 7px; font-size: 13px; }

/* Services */
.service-section { padding: 116px 0 125px; background: var(--surface); }.section-heading, .tools-header { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 51px; }.section-heading h2, .tools-header h2 { margin: 20px 0 0; font-size: clamp(37px, 4vw, 54px); line-height: 1; letter-spacing: -.07em; }.section-heading > p, .tools-header > p { width: 300px; margin: 0 0 4px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.service-grid, .tools-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.service-card { min-height: 310px; position: relative; overflow: hidden; padding: 26px; border: 1px solid var(--line); border-radius: 15px; background: #fff; transition: transform .23s, box-shadow .23s, border-color .23s; }.service-card:before { content: ''; position: absolute; top: 0; right: 0; width: 120px; height: 120px; border-radius: 0 0 0 100%; background: var(--blue-soft); }.service-card:hover { transform: translateY(-6px); border-color: #a9c9f1; box-shadow: var(--shadow); }.card-number { position: absolute; top: 28px; right: 27px; color: var(--faint); font: 9px 'DM Mono'; }.service-icon { display: grid; width: 43px; height: 43px; place-items: center; margin-bottom: 45px; border-radius: 11px; font-size: 19px; }.service-icon.blue { color: var(--blue); background: #eaf3ff; }.service-icon.indigo { color: #656de2; background: #eef0ff; }.service-icon.orange { color: var(--orange); background: #fff1e8; }.service-card h3 { position: relative; margin-bottom: 11px; font-size: 18px; }.service-card p { min-height: 40px; color: var(--muted); font-size: 11px; line-height: 1.75; }.tags { display: flex; gap: 6px; margin-top: 19px; }.tags span { padding: 5px 7px; border: 1px solid var(--line); border-radius: 4px; color: var(--faint); font: 7px 'DM Mono'; }.service-card > a { position: absolute; right: 26px; bottom: 23px; left: 26px; display: flex; justify-content: space-between; padding-top: 14px; border-top: 1px solid var(--line); color: var(--blue); font-size: 10px; }.service-card > a b { font-size: 14px; font-weight: 400; }

/* Tools */
.tools-section { padding: 112px 0 120px; background: #f1f6fc; border-top: 1px solid #e6edf5; }.tools-header { margin-bottom: 47px; }.tool-card { min-height: 248px; padding: 23px; border: 1px solid #dbe7f5; border-radius: 15px; background: #fff; transition: transform .23s, box-shadow .23s; }.tool-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }.tool-card.paid { border-color: #b9d5f7; background: linear-gradient(145deg, #fff, #f3f8ff); }.tool-card.tool-kit { background: #fff; }.tool-card-top { display: flex; justify-content: space-between; color: var(--faint); font: 8px 'DM Mono'; }.paid .tool-label { color: var(--blue); }.tool-arrow { color: var(--blue); font-size: 14px; }.tool-symbol { display: grid; width: 43px; height: 43px; place-items: center; margin: 29px 0 17px; border-radius: 11px; color: var(--blue); background: var(--blue-soft); font-size: 19px; }.paid .tool-symbol { color: #fff; background: var(--blue); }.tool-card h3 { margin-bottom: 10px; font-size: 17px; }.tool-card p { min-height: 38px; color: var(--muted); font-size: 11px; line-height: 1.7; }.tool-footer { display: flex; justify-content: space-between; margin-top: 19px; padding-top: 13px; border-top: 1px solid var(--line); color: var(--muted); font: 8px 'DM Mono'; }.tool-footer b { color: var(--blue); font-weight: 500; }

/* Contact and footer */
.contact-section { padding: 100px 0 0; background: var(--surface); }.contact-box { display: flex; align-items: center; justify-content: space-between; gap: 70px; padding: 59px 68px; border: 1px solid #cee0f8; border-radius: 17px; background: linear-gradient(115deg, #eef6ff, #f9fbff); }.contact-box h2 { margin: 18px 0; font-size: clamp(38px, 4vw, 52px); line-height: 1; letter-spacing: -.07em; }.contact-box p { max-width: 300px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }.contact-links { width: 385px; display: grid; gap: 8px; }.contact-links a { display: flex; align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid #dbe7f4; border-radius: 8px; background: rgba(255,255,255,.83); transition: .2s; }.contact-links a:hover { transform: translateX(4px); border-color: #a9c9f1; box-shadow: 0 9px 22px rgba(42,94,157,.08); }.contact-icon { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 7px; color: var(--blue); background: var(--blue-soft); font-size: 15px; }.contact-links a > span:nth-child(2) { flex: 1; }.contact-links small, .contact-links b { display: block; }.contact-links small { margin-bottom: 3px; color: var(--faint); font: 8px 'DM Mono'; }.contact-links b { color: var(--text); font-size: 11px; font-weight: 600; }.contact-links em { color: var(--blue); font-size: 16px; font-style: normal; }
.site-footer { margin-top: 112px; border-top: 1px solid var(--line); background: #f0f5fa; }.footer-main { display: flex; align-items: center; justify-content: space-between; padding: 37px 0 31px; }.footer-main p { margin: 0; color: var(--muted); font: 9px/1.7 'DM Mono'; }.footer-tag { color: #7891ad; font: 8px 'DM Mono'; }.footer-bottom { display: flex; justify-content: space-between; padding: 17px 0 21px; border-top: 1px solid var(--line); color: var(--faint); font: 8px 'DM Mono'; }

/* Coming soon popup */
.coming-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; visibility: visible; opacity: 1; transition: opacity .25s, visibility .25s; }.coming-modal.hidden { visibility: hidden; opacity: 0; pointer-events: none; }.modal-backdrop { position: absolute; inset: 0; background: rgba(14, 35, 61, .42); backdrop-filter: blur(5px); }.modal-card { width: min(470px, 100%); position: relative; padding: 38px; border: 1px solid #d3e2f4; border-radius: 18px; background: #fff; box-shadow: 0 25px 80px rgba(14,55,103,.25); text-align: center; }.modal-close { position: absolute; top: 13px; right: 15px; width: 28px; height: 28px; border: 0; border-radius: 50%; color: var(--muted); background: #f2f6fb; cursor: pointer; font-size: 20px; line-height: 1; }.modal-close:hover { color: var(--blue); }.modal-icon { display: grid; width: 53px; height: 53px; place-items: center; margin: 0 auto 18px; border-radius: 15px; color: #fff; background: linear-gradient(140deg, #2787ee, #1556b8); box-shadow: 0 9px 20px rgba(23,110,232,.2); font-size: 17px; font-weight: 800; }.modal-eyebrow { color: var(--blue); font: 8px 'DM Mono'; letter-spacing: .16em; }.modal-card h2 { margin: 16px 0 14px; color: var(--text); font-size: 34px; line-height: 1.04; letter-spacing: -.06em; }.modal-card h2 strong { color: var(--blue); }.modal-card p { margin: 0 auto; max-width: 350px; color: var(--muted); font-size: 12px; line-height: 1.8; }.modal-actions { display: flex; justify-content: center; gap: 8px; margin-top: 25px; }.modal-actions .button { font-size: 10px; }.modal-note { display: block; margin-top: 20px; color: var(--faint); font: 8px 'DM Mono'; }

/* Dark mode */
body.light { --bg: #0b1421; --surface: #0f1b2b; --surface-blue: #142641; --text: #f2f7ff; --muted: #9bb0c8; --faint: #6d8197; --line: rgba(183,211,241,.14); --blue: #55a5ff; --blue-dark: #2e82df; --blue-soft: rgba(85,165,255,.13); --shadow: 0 18px 50px rgba(0,0,0,.22); }.light:before { opacity: .18; }.light .site-header { background: rgba(11,20,33,.8); backdrop-filter: blur(12px); }.light .theme-toggle .sun { display: none; }.light .theme-toggle .moon { display: block; color: var(--blue); }.light .icon-button { background: rgba(255,255,255,.04); }.light .nav-button { background: transparent; }.light .hero { background: linear-gradient(180deg, #10223b 0%, var(--bg) 92%); }.light .hero:after { opacity: .3; }.light .hero-card, .light .service-card, .light .tool-card, .light .contact-links a, .light .modal-card { border-color: rgba(183,211,241,.16); background: #111f32; }.light .hero-card-top, .light .hero-card-bottom, .light .service-card p, .light .tool-card p, .light .contact-box p { color: var(--muted); }.light .hero-card { box-shadow: var(--shadow); }.light .service-section, .light .contact-section { background: var(--surface); }.light .tools-section { background: #0d1928; border-color: var(--line); }.light .contact-box { border-color: rgba(85,165,255,.23); background: linear-gradient(115deg, #122946, #101d30); }.light .site-footer { background: #091321; }.light .modal-backdrop { background: rgba(2,10,20,.67); }.light .modal-close { background: #1b2b40; }.light .modal-card p { color: var(--muted); }

/* Animation and responsiveness */
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .65s ease, transform .65s ease; }.reveal.visible { opacity: 1; transform: translateY(0); }.hero .reveal { opacity: 1; transform: none; }.delay-1 { transition-delay: .1s; }.delay-2 { transition-delay: .2s; }
@media (max-width: 900px) {
  .container { width: min(100% - 44px, 680px); }.desktop-nav { display: none; }.menu-button { display: flex; flex-direction: column; }.hero { padding-top: 135px; }.hero-grid { grid-template-columns: 1fr; gap: 45px; }.hero-copy { text-align: center; }.hero-copy .eyebrow, .hero-note { justify-content: center; }.hero-copy > p { margin-right: auto; margin-left: auto; }.hero-buttons { justify-content: center; }.hero-card { max-width: 530px; width: 100%; margin: auto; }.section-heading, .tools-header { display: block; }.section-heading > p, .tools-header > p { width: min(100%, 450px); margin-top: 20px; }.service-grid, .tools-grid { grid-template-columns: 1fr; max-width: 570px; margin-right: auto; margin-left: auto; }.contact-box { display: block; padding: 49px; }.contact-links { width: 100%; margin-top: 35px; }.footer-main { align-items: flex-start; flex-direction: column; gap: 23px; }
}
@media (max-width: 600px) {
  .container { width: calc(100% - 32px); }.nav-wrap { height: 76px; }.nav-actions .nav-button { display: none; }.mobile-menu { position: absolute; right: 16px; left: 16px; display: none; flex-direction: column; gap: 16px; padding: 16px 20px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); box-shadow: var(--shadow); }.mobile-menu.open { display: flex; }.mobile-menu a { color: var(--muted); font-size: 12px; }.hero { padding-top: 111px; }.hero h1 { font-size: 43px; }.hero-buttons { flex-direction: column; gap: 8px; }.hero-buttons .button { width: 100%; }.hero-card { min-height: 350px; padding: 16px; }.hero-device { min-height: 270px; }.device-phone { width: 136px; height: 235px; }.service-status { right: 8px; }.service-section, .tools-section { padding: 82px 0; }.section-heading h2, .tools-header h2, .contact-box h2 { font-size: 40px; }.service-card { min-height: 310px; }.contact-section { padding-top: 75px; }.contact-box { padding: 35px 22px; }.contact-links b { overflow-wrap: anywhere; }.modal-card { padding: 34px 22px 28px; }.modal-card h2 { font-size: 31px; }.modal-actions { flex-direction: column; }.modal-actions .button { width: 100%; }.footer-bottom { flex-direction: column; gap: 12px; }
}
@media (max-width: 350px) {
  .hero h1, .section-heading h2, .tools-header h2, .contact-box h2 { font-size: 36px; }.brand-copy strong { font-size: 11px; }.hero-card-bottom { font-size: 7px; }.contact-links b { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}