/* Seoly.io — homepage + section layouts */

/* section heads */
.sec-head { max-width: 680px; margin: 0 auto; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.sec-head .lead { margin-top: 2px; }
.sec-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.sec-head-row h2 { margin-top: 10px; }

/* hero */
.hero { position: relative; overflow: hidden; padding: clamp(56px, 9vw, 110px) 0 clamp(60px, 8vw, 96px); }
.hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items: center; }
.hero-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.hero-copy .lead { margin-top: -4px; }
.hero-search {
  display: flex; align-items: center; gap: 12px; width: min(520px, 100%);
  padding: 15px 16px 15px 18px; border-radius: 14px; background: var(--card);
  border: 1px solid var(--line); box-shadow: var(--shadow-md); color: var(--muted);
  font-size: 15.5px; text-align: left; transition: border-color .2s, box-shadow .2s, transform .2s;
}
.hero-search:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.hero-search svg { width: 20px; height: 20px; color: var(--accent); flex: none; }
.hero-search span { flex: 1; }
.hero-search kbd { font-family: var(--mono); font-size: 12px; padding: 4px 8px; border-radius: 7px; background: var(--bg-softer); color: var(--ink-2); border: 1px solid var(--line); }
.hero-trust { display: flex; align-items: center; gap: 14px; }
.avatars { display: flex; }
.avatars .avatar { width: 38px; height: 38px; border: 2.5px solid var(--bg); margin-left: -12px; font-size: 14px; }
.avatars .avatar:first-child { margin-left: 0; }

/* hero visual */
.hero-visual { position: relative; }
.hv-card { padding: 22px; position: relative; z-index: 2; }
.hv-head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.hv-text { font-size: 14.5px; line-height: 1.65; color: var(--ink-2); padding: 16px; background: var(--bg-soft); border-radius: 12px; border: 1px solid var(--line-2); }
.hv-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 16px; }
.hv-stats > div { background: var(--bg-soft); border: 1px solid var(--line-2); border-radius: 12px; padding: 14px 10px; text-align: center; }
.hv-stats b { display: block; font-size: 22px; font-weight: 800; letter-spacing: -0.02em; color: var(--accent); }
.hv-stats span { font-size: 11.5px; color: var(--muted); }
.hv-float { position: absolute; display: flex; align-items: center; gap: 9px; padding: 11px 15px; z-index: 3; box-shadow: var(--shadow-lg); animation: floaty 5s ease-in-out infinite; }
.hv-f1 { top: -22px; right: -18px; }
.hv-f2 { bottom: -22px; left: -22px; animation-delay: -2.5s; }
@keyframes floaty { 0%,100%{ transform: translateY(0) } 50%{ transform: translateY(-10px) } }
@media (prefers-reduced-motion: reduce){ .hv-float{ animation: none } }

@media (max-width: 940px){
  .hero-inner { grid-template-columns: 1fr; gap: 64px; }
  .hero-copy { align-items: center; text-align: center; }
  .hero-copy .lead { margin-left: auto; margin-right: auto; }
  .hero-search { margin: 0 auto; }
}

/* why cards */
.why-card { padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.why-card .ico { width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center; }
.why-card .ico svg { width: 24px; height: 24px; }
.why-card p { color: var(--muted); font-size: 14.5px; line-height: 1.6; }

/* stats band */
.stats-band { background: var(--ink); color: #fff; padding: 64px 0; position: relative; overflow: hidden; }
[data-theme="dark"] .stats-band { background: linear-gradient(135deg,#0E1626,#131C2E); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.stats-band .stat-num { color: #fff; }
.stats-band .stat-label { color: rgba(255,255,255,0.6); }
.stats-band .grid > div { text-align: center; position: relative; }
.stats-band .grid > div:not(:last-child)::after { content:''; position: absolute; right: -1px; top: 10%; height: 80%; width: 1px; background: rgba(255,255,255,0.12); }
@media (max-width: 980px){ .stats-band .grid > div::after{ display:none } }

/* blog cards */
.blog-card { overflow: hidden; display: flex; flex-direction: column; }
.blog-thumb { height: 168px; padding: 18px; display: flex; align-items: flex-start; }
.blog-body { padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.blog-body h3 { font-size: 18px; font-weight: 700; line-height: 1.3; }
.blog-body p { font-size: 14px; line-height: 1.55; }
.blog-meta { font-size: 12.5px; color: var(--faint); font-weight: 600; margin-top: 4px; }

/* CTA band */
.cta-band { position: relative; overflow: hidden; border-radius: var(--radius-lg); background: var(--ink); color: #fff; padding: clamp(40px,6vw,72px); text-align: center; }
[data-theme="dark"] .cta-band { background: linear-gradient(135deg,#111A2B,#0B1120); border: 1px solid var(--line); }
.cta-inner { position: relative; z-index: 1; max-width: 620px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.cta-band h2 { color: #fff; font-size: clamp(26px,3.5vw,38px); font-weight: 800; letter-spacing: -0.03em; }
.cta-band p { color: rgba(255,255,255,0.72); font-size: 16px; max-width: 480px; }
.cta-form { display: flex; gap: 10px; width: 100%; max-width: 480px; margin-top: 10px; flex-wrap: wrap; }
.cta-form .field { flex: 1; min-width: 220px; background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.18); color: #fff; }
.cta-form .field::placeholder { color: rgba(255,255,255,0.5); }
.cta-form .field:focus { background: rgba(255,255,255,0.16); border-color: #fff; box-shadow: 0 0 0 4px rgba(255,255,255,0.1); }

/* page hero (interior pages) */
.page-hero { position: relative; overflow: hidden; padding: clamp(48px,7vw,84px) 0 clamp(28px,4vw,40px); }
.page-hero .display { letter-spacing: -0.03em; }

/* sticky filter bar */
.filter-bar { position: sticky; top: 72px; z-index: 50; background: var(--glass); backdrop-filter: blur(16px) saturate(140%); -webkit-backdrop-filter: blur(16px) saturate(140%); border-bottom: 1px solid var(--glass-line); }
.filter-scroll { display: flex; gap: 9px; overflow-x: auto; padding: 16px 0; scrollbar-width: none; }
.filter-scroll::-webkit-scrollbar { display: none; }
.filter-pill { flex: none; display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--card); border: 1px solid var(--line); transition: all .18s; white-space: nowrap; }
.filter-pill span { font-size: 11.5px; font-weight: 700; padding: 1px 7px; border-radius: 999px; background: var(--bg-softer); color: var(--muted); }
.filter-pill:hover { border-color: var(--accent); color: var(--accent); }
.filter-pill.on { background: var(--accent); color: #fff; border-color: var(--accent); }
.filter-pill.on span { background: rgba(255,255,255,0.22); color: #fff; }

/* category blocks */
.cat-block { padding: 36px 0; border-bottom: 1px solid var(--line-2); scroll-margin-top: 150px; }
.cat-block:last-child { border-bottom: 0; }
.cat-block-head { display: flex; align-items: center; gap: 14px; }
.cat-block-head h2 { letter-spacing: -0.02em; }
