@font-face { font-family: "DM Sans"; src: url("../fonts/dm-sans-latin.woff2") format("woff2"); font-weight: 100 1000; font-style: normal; font-display: swap; }
:root {
  --ink: #111b3b;
  --ink-soft: #34405f;
  --muted: #5c677f;
  --blue: #315cf5;
  --blue-dark: #1836b6;
  --cyan: #20c6de;
  --purple: #8560f5;
  --line: #e7ebf5;
  --surface: #ffffff;
  --surface-soft: #f6f8ff;
  --shadow: 0 16px 42px rgba(33, 56, 120, .09);
  --radius: 22px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 95px; }
body { margin: 0; color: var(--ink); background: #fff; font-family: "DM Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
.container { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.announcement-bar { background: #11204d; color: #e7edff; font-size: 12px; font-weight: 600; letter-spacing: .01em; }
.announcement-inner { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 10px; }
.announcement-dot { width: 7px; height: 7px; background: #47e2b0; border-radius: 50%; box-shadow: 0 0 0 4px rgba(71,226,176,.12); }
.announcement-inner a { color: #aabaff; margin-left: 8px; transition: color .2s; }
.announcement-inner a:hover { color: #fff; }
.site-header { height: 82px; background: rgba(255,255,255,.92); border-bottom: 1px solid rgba(223,229,242,.85); position: sticky; top: 0; z-index: 50; backdrop-filter: blur(16px); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; }
.brand img { display: block; border-radius: 13px; box-shadow: 0 7px 16px rgba(49,92,245,.16); }
.brand-name { font-family: "DM Sans", sans-serif; font-size: 23px; line-height: 1; letter-spacing: -.07em; font-weight: 800; color: #13224a; }
.brand-name span { color: #3564f6; }
.primary-nav { display: flex; align-items: center; gap: 26px; margin-left: auto; }
.nav-link { font-size: 13px; font-weight: 700; color: #64708d; position: relative; transition: color .2s; }
.nav-link:hover, .nav-link.active { color: #2e56e8; }
.nav-link.active:after { content: ""; width: 16px; height: 3px; border-radius: 5px; position: absolute; left: 0; bottom: -12px; background: #4267f5; }
.header-cta { padding: 12px 18px; border-radius: 12px; background: #315cf5; color: #fff; font-size: 13px; font-weight: 700; box-shadow: 0 8px 18px rgba(49,92,245,.2); transition: transform .2s, box-shadow .2s; }
.header-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 25px rgba(49,92,245,.28); }
.header-cta span { margin-left: 8px; }
.menu-toggle { display: none; border: 0; background: #f0f4ff; width: 42px; height: 42px; border-radius: 12px; padding: 12px 10px; }
.menu-toggle span { height: 2px; background: #203b91; display: block; margin: 4px 0; border-radius: 2px; }

.hero-section { position: relative; overflow: hidden; background: linear-gradient(116deg, #f5f8ff 0%, #f4f6ff 48%, #eef8ff 100%); min-height: 610px; display: flex; align-items: center; }
.hero-section:before { content: ""; position: absolute; width: 700px; height: 700px; border-radius: 50%; border: 1px solid rgba(81,124,255,.08); right: -220px; top: -345px; box-shadow: 0 0 0 42px rgba(81,124,255,.025), 0 0 0 90px rgba(81,124,255,.018); }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(1px); pointer-events: none; }
.orb-one { width: 420px; height: 420px; background: radial-gradient(circle, rgba(63,110,255,.12), rgba(63,110,255,0)); top: 50px; right: 20%; }
.orb-two { width: 260px; height: 260px; background: radial-gradient(circle, rgba(33,201,220,.13), rgba(33,201,220,0)); bottom: -75px; left: 30%; }
.hero-layout { display: grid; grid-template-columns: .93fr 1.07fr; align-items: center; gap: 42px; padding-block: 72px 86px; position: relative; z-index: 2; }
.hero-copy { padding: 12px 0 0 8px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 10px; letter-spacing: .16em; font-weight: 800; color: #4565d9; }
.eyebrow-icon { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 7px; background: #e8edff; color: #4265ed; font-size: 13px; letter-spacing: 0; }
h1, h2, h3, p { margin-top: 0; }
.hero-copy h1 { font-family: "DM Sans", sans-serif; font-size: clamp(46px, 5.2vw, 66px); line-height: 1.06; letter-spacing: -.065em; font-weight: 800; margin: 22px 0 20px; color: #111d42; }
.hero-copy h1 span, .section-heading h2 span, .why-copy h2 span, .faq-layout h2 span { background: linear-gradient(95deg, #315cf5 3%, #6b68ef 55%, #22b9d7 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-description { color: #64708c; font-size: 16px; line-height: 1.75; max-width: 470px; margin-bottom: 28px; }
.hero-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; border: 0; border-radius: 13px; min-height: 50px; padding: 0 20px; font-size: 13px; font-weight: 800; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #fff; background: linear-gradient(100deg, #315cf5, #5c61f5); box-shadow: 0 11px 22px rgba(49,92,245,.24); }
.button-primary:hover { box-shadow: 0 14px 27px rgba(49,92,245,.33); }
.button-secondary { color: #324778; border: 1px solid #dfe5f5; background: rgba(255,255,255,.76); }
.hero-proof { display: flex; align-items: center; gap: 12px; margin-top: 34px; }
.proof-avatars { display: flex; align-items: center; }
.proof-avatars span { width: 29px; height: 29px; display: grid; place-items: center; border: 2px solid #f7f8ff; border-radius: 50%; margin-left: -7px; background: #d9e4ff; color: #2c4dc7; font-weight: 900; font-size: 12px; }
.proof-avatars span:first-child { margin-left: 0; background: #d8f8eb; color: #179b71; }
.proof-avatars span:last-child { background: #ffefcf; color: #c17c18; }
.hero-proof strong, .hero-proof small { display: block; }
.hero-proof strong { font-size: 12px; color: #28385e; }
.hero-proof small { font-size: 11px; color: #656e80; margin-top: 3px; }
.hero-visual { min-height: 440px; position: relative; display: flex; align-items: center; justify-content: center; }
.visual-glow { position: absolute; width: 84%; height: 75%; background: radial-gradient(ellipse, rgba(83,114,255,.22), rgba(83,114,255,0)); filter: blur(18px); }
.browser-card { position: relative; z-index: 2; width: min(100%, 545px); background: #fff; border: 1px solid rgba(198,210,247,.95); border-radius: 20px; overflow: hidden; transform: rotate(-1deg); box-shadow: 0 30px 60px rgba(35,60,137,.18), 0 4px 12px rgba(45,65,130,.08); }
.browser-top { height: 42px; display: flex; align-items: center; padding: 0 17px; gap: 13px; background: #fbfcff; border-bottom: 1px solid #edf0f8; color: #687081; font-size: 10px; font-weight: 700; }
.window-dots { display: flex; gap: 5px; }.window-dots i { display:block; width:7px; height:7px; border-radius:50%; background:#ff847a; }.window-dots i:nth-child(2){background:#ffc65a}.window-dots i:nth-child(3){background:#5dd7a0}.browser-lock { margin-left: auto; font-size: 17px; color: #7d8dab; }
.browser-content { padding: 25px 25px 18px; }
.mock-welcome { display: flex; align-items: center; justify-content: space-between; margin-bottom: 17px; }
.mock-welcome small { display: block; font-size: 8px; letter-spacing: .16em; font-weight: 800; color: #67718b; margin-bottom: 6px; }
.mock-welcome b { font-family: "DM Sans", sans-serif; font-size: 18px; letter-spacing: -.04em; }
.mock-sparkle { color: #f3b844; font-size: 31px; }
.mock-search { height: 43px; display: flex; align-items: center; gap: 10px; background: #f7f9ff; border: 1px solid #e9edfa; border-radius: 10px; padding: 0 13px; color: #676e7f; font-size: 10px; margin-bottom: 16px; }
.mock-search span { font-size: 20px; color: #6c82c6; }
.mock-tools-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.mock-tool { background: #fff; border: 1px solid #edf0f8; border-radius: 12px; padding: 13px 8px 12px; text-align: center; box-shadow: 0 4px 11px rgba(42,64,134,.045); }
.mock-icon { width: 37px; height: 37px; border-radius: 11px; margin: 0 auto 8px; display: grid; place-items: center; color: #fff; font-size: 16px; font-weight: 800; }
.bg-blue { background: linear-gradient(135deg,#3581ff,#4a5fe9); }.bg-purple { background: linear-gradient(135deg,#a16bf9,#6757ed); }.bg-orange { background: linear-gradient(135deg,#ffbe5b,#f18b3f); }.bg-green { background: linear-gradient(135deg,#5dd69a,#20b982); }
.mock-tool b, .mock-tool small { display: block; font-size: 9px; }.mock-tool b { color:#283759; }.mock-tool small { color:#6a7283; margin-top:2px; }
.mock-bottom { display: flex; gap: 15px; border-top: 1px solid #f0f2f8; padding-top: 15px; margin-top: 17px; color: #677288; font-size: 9px; font-weight: 700; }
.mock-bottom span { display: flex; align-items: center; gap: 6px; }.mock-bottom i { width:6px;height:6px;border-radius:50%;background:#31c994; }
.floating-chip { z-index: 4; position: absolute; display: flex; align-items: center; gap: 10px; padding: 11px 15px 11px 11px; background: rgba(255,255,255,.94); border: 1px solid rgba(224,230,249,.9); border-radius: 14px; box-shadow: 0 14px 28px rgba(38,57,118,.12); }
.chip-top { top: 24px; left: 14px; }.chip-side { bottom: 30px; right: 10px; }
.chip-icon { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; font-size: 16px; font-weight: 900; }.chip-icon.blue { background: #e8efff; color: #3b62ed; }.chip-icon.green { background: #e3fbf1; color: #20ad7c; }
.floating-chip b, .floating-chip small { display: block; }.floating-chip b { font-size: 10px; color:#28385e; }.floating-chip small { color:#697283; font-size:9px; margin-top:3px; }
.floating-note { z-index: 3; position:absolute; bottom: -7px; left: 10%; color:#656f87; font-size:10px; font-weight:700; background:rgba(255,255,255,.65); border:1px solid rgba(227,232,247,.85); border-radius:20px; padding:8px 12px; }.floating-note span { color:#f0b745; margin-right:5px; }
.hero-decoration { position:absolute; color:#4a73f7; font-size:27px; }.deco-cross { right:4%; top: 31px; }.deco-star { left: 2%; bottom: 38px; color:#efb64d; font-size:20px; }
.hero-bottom-wave { position:absolute; height: 30px; bottom:-1px; left:0; right:0; background:#fff; clip-path: polygon(0 65%, 12% 42%, 27% 67%, 42% 25%, 59% 59%, 75% 28%, 88% 60%, 100% 24%, 100% 100%, 0 100%); }

.trust-strip { background: #fff; border-bottom: 1px solid #eef1f8; }
.trust-grid { min-height: 106px; display:grid; grid-template-columns: repeat(4,1fr); align-items:center; }
.trust-item { display:flex; align-items:center; justify-content:center; gap:12px; min-height:50px; border-right:1px solid #edf0f7; }.trust-item:last-child { border-right:0; }
.trust-icon { width:37px;height:37px;border-radius:12px;display:grid;place-items:center;background:#eef2ff;color:#4a69ea;font-size:17px;font-weight:800; }
.trust-item:nth-child(2) .trust-icon {background:#e8fbf4;color:#19a67b}.trust-item:nth-child(3) .trust-icon {background:#f1eaff;color:#8b5be8}.trust-item:nth-child(4) .trust-icon {background:#fff5e7;color:#d48d2b}
.trust-item b,.trust-item small { display:block; }.trust-item b { font-size:12px; color:#27365b; }.trust-item small { color:#6a7283; font-size:10px; margin-top:4px; }
.section-space { padding-block: 95px; }
.tools-section { background: #fff; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.section-heading h2, .why-copy h2, .faq-layout h2 { font-family: "DM Sans", sans-serif; font-size: clamp(34px,4vw,46px); line-height:1.12; letter-spacing:-.06em; font-weight:800; margin:16px 0 13px; color:#152147; }
.section-heading p, .why-copy>p, .faq-intro { color:#656e82; font-size:14px; line-height:1.7; margin:0; }
.tool-count { display:flex; align-items:center; gap:11px; border:1px solid #e6eafa; border-radius:15px; padding:12px 17px; background:#f9faff; margin-bottom:7px; }.tool-count strong { font-family: "DM Sans", sans-serif; font-size:28px; color:#385ef0; letter-spacing:-.06em; }.tool-count span { font-size:10px; line-height:1.45; font-weight:700; color:#656f85; }
.tool-finder { margin-top: 38px; padding: 21px; border-radius: 18px; border:1px solid #e7ebf7; background:#fbfcff; box-shadow:0 7px 20px rgba(43,64,126,.035); }
.search-box { height:58px; display:flex; align-items:center; gap:13px; padding:0 17px; background:#fff; border:1px solid #e4e9f5; border-radius:13px; box-shadow:0 3px 8px rgba(42,62,123,.035); }
.search-box:focus-within { border-color:#a9b9ff; box-shadow:0 0 0 4px rgba(62,99,242,.09); }
.search-symbol { color:#5873d9; font-size:25px; line-height:1; }.search-box input { flex:1; width:100%; min-width:0; height:100%; border:0; outline:0; color:#23345f; font-size:13px; background:transparent; }.search-box input::placeholder { color:#a1abc0; }
kbd { background:#f4f6fb; color:#666d7b; border:1px solid #e8ebf4; border-radius:6px; padding:4px 7px; font-size:9px; font-weight:700; }
.filter-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }.filter-chip { border:1px solid #e4e9f4; background:#fff; color:#5d687f; border-radius:9px; min-height:34px; padding:0 12px; display:flex; align-items:center; gap:9px; font-size:11px; font-weight:700; transition:all .2s; }.filter-chip span { color:#67728a; font-size:10px; }.filter-chip:hover { border-color:#cbd5ff; color:#3d5ee0; }.filter-chip.selected { background:#edf1ff; color:#3458e1; border-color:#dce4ff; }.filter-chip.selected span { color:#4658c9; }
.result-line { display:flex; justify-content:space-between; align-items:center; color:#6a7281; font-size:10px; font-weight:700; margin:18px 2px 0; }.clear-search { border:0; color:#3d5ee0; background:none; font-size:10px; font-weight:800; }
.tools-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin-top:22px; }
.tool-card { position:relative; display:flex; flex-direction:column; align-items:flex-start; min-height:225px; border:1px solid #e8ecf6; border-radius:16px; padding:20px 18px 17px; background:#fff; box-shadow:0 5px 15px rgba(37,58,121,.025); transition:transform .22s, box-shadow .22s, border-color .22s; overflow:hidden; }
/* Lighthouse Nov 2026: the 130-card grid cost 4.4s of the 7.5s main-thread
   work on mobile (one 2,019ms task). Skip rendering below-the-fold cards
   until they near the viewport; the first 8 cards always render normally.
   contain-intrinsic-size is the CONTENT-box size (padding + border are
   added on top — verified: 225px specified rendered as 264px), so the
   values below are min-height minus vertical padding and border:
   desktop 225 - (20+17) - 2 = 186; mobile 205 - (15+14) - 2 = 174;
   <=380px 180 - (15+14) - 2 = 149. Skipped cards then measure exactly
   225/205/180px, so rows keep their size and nothing shifts when cards
   render. Width stays `auto` (grid tracks fix the width anyway). */
.tool-card:nth-child(n+9) { content-visibility: auto; contain-intrinsic-size: auto 186px; }
@media (max-width: 760px) { .tool-card:nth-child(n+9) { contain-intrinsic-size: auto 174px; } }
@media (max-width: 380px) { .tool-card:nth-child(n+9) { contain-intrinsic-size: auto 149px; } }
.tool-card:before { content:""; position:absolute; width:110px;height:110px;border-radius:50%;right:-55px;top:-64px;background:rgba(64,105,245,.035); transition:transform .3s; }.tool-card:hover { transform:translateY(-5px); border-color:#cbd7ff; box-shadow:0 16px 35px rgba(42,64,142,.11); }.tool-card:hover:before { transform:scale(1.8); }
.tool-icon { width:43px;height:43px;display:grid;place-items:center;border-radius:13px;font-size:20px;font-weight:800;margin-bottom:17px;box-shadow:inset 0 1px 0 rgba(255,255,255,.65); }
.icon-blue { color:#315be9;background:linear-gradient(145deg,#e9efff,#dce6ff); }.icon-violet {color:#8056dd;background:linear-gradient(145deg,#f1eaff,#e7dbff)}.icon-green {color:#169c72;background:linear-gradient(145deg,#e0fbef,#cbf5e3)}.icon-orange {color:#d5832c;background:linear-gradient(145deg,#fff3df,#ffe4bd)}.icon-pink {color:#d94e81;background:linear-gradient(145deg,#ffeaf2,#ffd9e8)}.icon-cyan {color:#168fa9;background:linear-gradient(145deg,#dffaff,#c9f3f8)}
.card-tag { position:absolute; right:14px; top:16px; border-radius:30px; padding:5px 8px; font-size:8px; text-transform:uppercase; letter-spacing:.06em; font-weight:800; }.tag-popular { background:#fff4df; color:#bd7b21; }.tag-region { background:#e6f8f3; color:#137a5d; }
.tool-card h3 { font-family: "DM Sans", sans-serif; font-size:13px; line-height:1.4; letter-spacing:-.025em; margin:0 0 7px; font-weight:800; color:#1c2b51; }.tool-card p { color:#697284; font-size:10px; line-height:1.6; margin:0 0 18px; }.card-link { margin-top:auto; display:inline-flex; align-items:center; gap:8px; color:#4565e3; font-size:10px; font-weight:800; }.card-link b { font-size:13px; transition:transform .2s; }.tool-card:hover .card-link b { transform:translate(3px,-2px); }
.no-results { text-align:center; border:1px dashed #dce3f5; background:#fbfcff; padding:55px 20px; border-radius:18px; margin-top:22px; }.no-results-icon { width:48px;height:48px;display:grid;place-items:center;border-radius:15px;margin:0 auto 14px;background:#edf1ff;color:#4f69db;font-size:26px; }.no-results h3 { font-family: "DM Sans", sans-serif;margin:0 0 7px;font-size:18px; }.no-results p { color:#687080;font-size:12px;margin:0 0 18px; }

.why-section { background:#f6f8ff; position:relative; overflow:hidden; }.why-section:after { content:"";position:absolute;width:430px;height:430px;border:1px solid #e5eaff;border-radius:50%;right:-150px;bottom:-250px;box-shadow:0 0 0 45px rgba(226,233,255,.35),0 0 0 90px rgba(226,233,255,.25); }.why-layout { display:grid;grid-template-columns:.8fr 1.2fr;gap:95px;position:relative;z-index:1;align-items:center; }.why-copy h2 { margin-bottom:17px; }.why-copy>p { max-width:360px;margin-bottom:24px; }.text-link { color:#3d5fe6;font-size:12px;font-weight:800; }.text-link span { margin-left:8px; transition:margin .2s; }.text-link:hover span { margin-left:13px; }
.why-features { display:grid;grid-template-columns:1fr 1fr;gap:13px; }.feature-card { display:flex;gap:13px;align-items:flex-start;padding:18px 16px;border:1px solid #e7ebf7;background:rgba(255,255,255,.85);border-radius:15px;box-shadow:0 8px 20px rgba(44,64,130,.035); }.feature-icon { flex-shrink:0;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-weight:800;font-size:16px; }.feature-blue{background:#eaf0ff;color:#3d63ed}.feature-purple{background:#f0eaff;color:#8a5be6}.feature-green{background:#e2f9ef;color:#21a77a}.feature-orange{background:#fff0df;color:#d28a32}.feature-card h3 {font-family: "DM Sans", sans-serif;font-size:11px;font-weight:800;margin:2px 0 7px;color:#253458}.feature-card p {font-size:10px;line-height:1.6;color:#687181;margin:0}
.cta-section { padding: 0 0 95px; background:#f6f8ff; }.cta-panel { position:relative; overflow:hidden; border-radius:24px; padding:45px 52px; display:flex; justify-content:space-between; align-items:center; gap:28px; background:radial-gradient(circle at 82% 10%,rgba(91,142,255,.4),transparent 27%),linear-gradient(110deg,#152a71,#2349bb 65%,#3c5fee); color:#fff; box-shadow:0 20px 40px rgba(33,61,156,.17); }.cta-panel:before { content:"";position:absolute;width:400px;height:400px;border-radius:50%;border:1px solid rgba(255,255,255,.1);right:16%;top:-260px;box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.025); }.eyebrow-light { color:#b9c9ff; }.cta-panel h2 { position:relative;font-family: "DM Sans", sans-serif;font-size:34px;line-height:1.15;letter-spacing:-.055em;margin:14px 0 11px; }.cta-panel h2 span { color:#ffda78; }.cta-panel p { color:#c4d1ff;font-size:12px;margin:0; }.button-white { position:relative;z-index:2;background:#fff;color:#2448bc;box-shadow:0 12px 25px rgba(10,26,87,.2);white-space:nowrap; }.cta-spark { position:absolute;color:#ffda78;font-size:31px; }.cta-spark-one {right:29%;top:18px}.cta-spark-two {right:8%;bottom:20px;color:#9edfff}
.faq-section { background:#fff; }.faq-layout { display:grid;grid-template-columns:.75fr 1.25fr;gap:100px; }.faq-layout h2 { margin-bottom:16px; }.faq-intro { max-width:300px; }.faq-list { border-top:1px solid #e9edf6; }.faq-item { border-bottom:1px solid #e9edf6; }.faq-item summary { padding:20px 3px; list-style:none; cursor:pointer; font-family: "DM Sans", sans-serif; font-size:13px; font-weight:800; color:#233253; display:flex; align-items:center; justify-content:space-between; gap:15px; }.faq-item summary::-webkit-details-marker {display:none}.faq-item summary span { width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#f0f3ff;color:#4564e4;font-size:16px;transition:transform .2s; }.faq-item[open] summary span { transform:rotate(45deg); }.faq-item p { color:#5f6d8c;font-size:12px;line-height:1.75;margin:-4px 30px 19px 3px;max-width:600px; }
.site-footer { background:#101d43; color:#b8c4e2; }.footer-main { display:grid;grid-template-columns:1.65fr 1fr 1.2fr 1fr;gap:55px;padding-block:58px 48px; }.brand-footer .brand-name { color:#fff; }.brand-footer .brand-name span {color:#83a0ff}.footer-brand-col>p { max-width:250px;color:#91a0c2;font-size:11px;line-height:1.7;margin:18px 0 15px; }.footer-free {display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#bdc9e4;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:30px;padding:7px 10px}.footer-free span {color:#ffd16c}.footer-col {display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-col h3 {font-size:11px;color:#fff;margin:3px 0 5px;font-weight:800}.footer-col a {font-size:10px;color:#9eabc9;transition:color .2s}.footer-col a:hover {color:#fff}.footer-bottom {border-top:1px solid rgba(255,255,255,.09);min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#828fb0;font-size:9px}.footer-bottom b {color:#f6c75f}
.back-to-top {position:fixed;right:22px;bottom:22px;width:42px;height:42px;border:0;border-radius:13px;background:#315cf5;color:#fff;font-size:20px;box-shadow:0 8px 20px rgba(36,72,193,.25);opacity:0;pointer-events:none;transform:translateY(10px);transition:all .2s;z-index:30}.back-to-top.visible {opacity:1;pointer-events:auto;transform:translateY(0)}
[hidden] { display:none !important; }
@media (max-width: 1000px) {
  .primary-nav {gap:16px}.nav-link {font-size:12px}.header-inner {gap:18px}.hero-layout {gap:22px}.hero-copy h1 {font-size:54px}.tools-grid {grid-template-columns:repeat(3,1fr)}.why-layout {gap:45px}.faq-layout {gap:55px}.footer-main {gap:30px}
}
@media (max-width: 760px) {
  .container {width:min(100% - 34px, 600px)}.announcement-inner {font-size:10px;min-height:35px}.announcement-inner a {display:none}.site-header {height:70px}.brand img {width:39px;height:39px}.brand-name {font-size:21px}.menu-toggle {display:block;margin-left:auto}.header-cta {display:none}.primary-nav {display:none;position:absolute;top:69px;left:0;right:0;margin:0;padding:17px 24px 22px;background:#fff;border-bottom:1px solid #e7ebf5;box-shadow:0 14px 20px rgba(22,40,92,.08);flex-direction:column;align-items:stretch;gap:0}.primary-nav.open {display:flex}.nav-link {padding:12px 0;font-size:13px}.nav-link.active:after {display:none}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.menu-toggle span {transition:all .18s}
  .hero-section {min-height:0}.hero-layout {grid-template-columns:1fr;padding-block:58px 75px;gap:28px}.hero-copy {padding:0}.hero-copy h1 {font-size:clamp(43px,11vw,58px);margin:18px 0 15px}.hero-description {font-size:14px;max-width:520px}.hero-visual {min-height:350px;margin:0 0 5px}.browser-card {width:94%;border-radius:16px}.browser-content {padding:18px 15px 14px}.mock-tools-grid {gap:7px}.mock-tool {padding:9px 4px}.mock-icon {width:31px;height:31px}.mock-welcome b {font-size:15px}.mock-bottom {font-size:8px;gap:10px}.floating-chip {padding:8px 10px 8px 8px}.chip-icon {width:29px;height:29px}.chip-top {top:6px;left:6px}.chip-side {right:6px;bottom:8px}.floating-note {bottom:-12px;left:10%;font-size:9px}.hero-decoration.deco-cross {right:0;top:12px}
  .trust-grid {grid-template-columns:1fr 1fr;padding-block:14px}.trust-item {justify-content:flex-start;padding:12px 7px;border-right:0}.trust-item:nth-child(odd){border-right:1px solid #edf0f7}.trust-item:nth-child(-n+2){border-bottom:1px solid #edf0f7}.section-space {padding-block:66px}.section-heading {align-items:flex-start}.section-heading h2,.why-copy h2,.faq-layout h2 {font-size:35px}.section-heading p {font-size:12px}.tool-count {padding:9px 12px;gap:7px}.tool-count strong {font-size:23px}.tool-count span {font-size:9px}.tool-finder {padding:13px;margin-top:26px}.search-box {height:53px;padding:0 12px}.search-box input {font-size:11px}.search-box kbd {display:none}.filter-row {gap:6px}.filter-chip {font-size:10px;min-height:31px;padding:0 9px}.tools-grid {grid-template-columns:repeat(2,1fr);gap:10px;margin-top:15px}.tool-card {min-height:205px;padding:15px 13px 14px;border-radius:14px}.tool-icon {width:38px;height:38px;font-size:18px;margin-bottom:13px}.tool-card h3 {font-size:11px}.tool-card p {font-size:9px}.card-tag {font-size:7px;top:12px;right:10px}
  .why-layout {grid-template-columns:1fr;gap:30px}.why-copy>p {font-size:12px}.why-features {gap:9px}.feature-card {padding:13px 11px;gap:9px}.feature-icon {width:31px;height:31px;font-size:14px}.feature-card h3 {font-size:10px}.feature-card p {font-size:9px}.cta-section {padding-bottom:66px}.cta-panel {padding:32px 25px;align-items:flex-start;flex-direction:column;gap:22px;border-radius:20px}.cta-panel h2 {font-size:29px}.cta-panel p {font-size:11px}.button-white {min-height:45px}.faq-layout {grid-template-columns:1fr;gap:27px}.faq-intro {font-size:12px}.faq-item summary {font-size:12px;padding:17px 2px}.footer-main {grid-template-columns:1fr 1fr;gap:33px 22px;padding-block:45px 35px}.footer-brand-col {grid-column:1/-1}.footer-brand-col>p {max-width:340px}.footer-bottom {align-items:flex-start;flex-direction:column;justify-content:center;padding-block:16px;gap:7px}.back-to-top {right:14px;bottom:14px;width:38px;height:38px}
}
@media (max-width: 380px) { .tools-grid {grid-template-columns:1fr}.tool-card {min-height:180px}.section-heading {flex-direction:column}.tool-count {margin:0}.hero-actions .button {width:100%}.why-features {grid-template-columns:1fr}.mock-bottom {flex-direction:column;gap:6px} }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after {scroll-behavior:auto!important;transition:none!important;animation:none!important} }

/* ---- SumKitTool integration overrides ---- */
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 100; background: #315cf5; color: #fff; padding: 10px 16px; border-radius: 0 0 10px 0; font-size: 13px; font-weight: 700; }
.skip-link:focus { left: 0; }
/* Header uses the official horizontal logo (brand table); footer keeps the S icon. */
.site-header .brand img { width: auto; height: 38px; border-radius: 0; box-shadow: none; }
.hero-tagline { color: #666e7f; font-size: 12px; font-weight: 700; letter-spacing: .04em; margin: 0 0 28px; }
.pin-save { margin-top: 22px; }
.footer-badge { padding: 0 0 24px; }
.footer-badge img { display: block; }
@media (max-width: 760px) {
  .site-header .brand img { height: 30px; }
}

a:focus-visible, button:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }

/* ---- Featured money tools (homepage money-first row) ---- */
.featured-row { margin-top: 38px; padding: 24px; border-radius: 20px; border: 1px solid #e2e8fb; background: linear-gradient(120deg, #f4f7ff 0%, #f6f4ff 55%, #f0fbff 100%); }
.featured-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px 18px; flex-wrap: wrap; margin-bottom: 16px; }
.featured-heading h3 { font-family: "DM Sans", sans-serif; font-size: 20px; letter-spacing: -.04em; margin: 0; color: #152147; }
.featured-heading h3 span { background: linear-gradient(95deg, #2563eb, #7c3aed); -webkit-background-clip: text; background-clip: text; color: transparent; }
.featured-heading p { color: #646d81; font-size: 12px; line-height: 1.6; margin: 0; }
.featured-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.featured-card { display: flex; flex-direction: column; align-items: flex-start; min-height: 168px; border: 1px solid #e8ecf6; border-radius: 16px; padding: 18px 16px 15px; background: #fff; box-shadow: 0 5px 15px rgba(37,58,121,.03); transition: transform .22s, box-shadow .22s, border-color .22s; }
.featured-card:hover { transform: translateY(-4px); border-color: #cbd7ff; box-shadow: 0 16px 32px rgba(42,64,142,.11); }
.featured-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; font-size: 18px; font-weight: 800; margin-bottom: 13px; box-shadow: inset 0 1px 0 rgba(255,255,255,.65); }
.featured-card h4 { font-family: "DM Sans", sans-serif; font-size: 12px; line-height: 1.4; letter-spacing: -.025em; margin: 0 0 6px; font-weight: 800; color: #1c2b51; }
.featured-card p { color: #697284; font-size: 10px; line-height: 1.6; margin: 0 0 14px; }
.featured-link { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; color: #4565e3; font-size: 10px; font-weight: 800; }
.featured-link b { font-size: 13px; transition: transform .2s; }
.featured-card:hover .featured-link b { transform: translate(3px,-2px); }
.hub-links { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin-top: 18px; font-size: 12px; }
.hub-label { font-weight: 800; color: #34405f; }
.hub-links a { color: #3458e1; font-weight: 700; border: 1px solid #e2e8fb; background: #fbfcff; border-radius: 30px; padding: 7px 13px; transition: all .2s; }
.hub-links a:hover { border-color: #cbd7ff; background: #edf1ff; }
@media (max-width: 1000px) { .featured-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) { .featured-row { padding: 18px 15px; margin-top: 26px; } .featured-heading h3 { font-size: 18px; } .featured-card { min-height: 158px; padding: 15px 13px 14px; } }
@media (max-width: 380px) { .featured-grid { grid-template-columns: 1fr; } .featured-card { min-height: 0; } }
/* ==========================================================================
   Mobile-only hero search + category strip — SumKitTool polishing wave, Nov 2026
   --------------------------------------------------------------------------
   BELONGS IN: assets/css/homepage.css  (append at the end).
   index.html links homepage.css (line 35) + helper.css; it does NOT link
   style.css, and the .search-box / .filter-chip rules reused here live in
   homepage.css — so this snippet must go in homepage.css, not style.css.

   Behaviour: .hero-search-mobile is display:none on desktop. At the site's
   mobile breakpoint (max-width: 760px — the same breakpoint where the hero
   stacks to one column) it appears directly under the hero buttons, reusing
   the existing .search-box and .filter-chip styles. The chips form a single
   horizontally scrollable row instead of wrapping, to stay compact.
   ========================================================================== */
.hero-search-mobile { display: none; }

@media (max-width: 760px) {
  .hero-search-mobile { display: block; margin-top: 18px; }
  /* 16px on the mobile input prevents iOS Safari auto-zooming on focus. */
  .hero-search-mobile .search-box input { font-size: 16px; }
  /* Single swipeable chip row (no wrap) — compact under the hero search. */
  .hero-search-mobile .filter-row-mobile {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-top: 12px;
    padding-bottom: 2px;
  }
  .hero-search-mobile .filter-row-mobile::-webkit-scrollbar { display: none; }
  .hero-search-mobile .filter-row-mobile .filter-chip { flex: 0 0 auto; }
  /* Grid blowout guard: the nowrap chip row's min-content width would otherwise
     widen the single-column hero grid track past the viewport on mobile.
     Allowing .hero-copy to shrink below min-content keeps the track at
     container width so the chip row scrolls internally instead. */
  .hero-copy { min-width: 0; }
  /* Clear the 70px sticky mobile header when the script scrolls the finder into view. */
  .tool-finder { scroll-margin-top: 80px; }
}
