







.seo-topbar {
  position: sticky;
  top: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  padding: 10px 16px;
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border);
}
.seo-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  text-decoration: none;
  color: var(--text);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.seo-mark {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: var(--grad-accent);
  color: #1a0f04;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  flex: 0 0 auto;
}
.seo-nav {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-left: auto;
}
.seo-nav a {
  padding: 7px 11px;
  border-radius: 9px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--muted);
  text-decoration: none;
  white-space: nowrap;
}
.seo-nav a:hover { color: var(--text); background: var(--bg-card); }
.seo-nav a[aria-current="page"] { color: var(--accent); background: var(--bg-card); }
.seo-topbar .cta { padding: 9px 15px; font-size: 14px; }


.crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--muted);
  margin: 18px 0 0;
}
.crumbs a { color: var(--muted); text-decoration: none; }
.crumbs a:hover { color: var(--accent); }
.crumbs span[aria-hidden="true"] { opacity: 0.5; }
.crumbs .crumbs-current { color: var(--text); }


.seo-hero { margin: 26px 0 34px; }
.seo-hero h1 {
  font-size: clamp(26px, 5.4vw, 42px);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.14;
  margin: 0 0 16px;
  text-wrap: balance;
}
.seo-lead {
  font-size: clamp(15px, 2.4vw, 18px);
  line-height: 1.6;
  color: var(--muted);
  margin: 0 0 24px;
  max-width: 68ch;
}
.seo-hero .hero-ctas { margin-top: 0; }
.seo-hero .cta { margin-right: 10px; }


.seo-body {
  font-size: 16px;
  line-height: 1.68;
  color: var(--text);
}
.seo-body h2 {
  font-size: clamp(20px, 3.4vw, 26px);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 42px 0 14px;
  line-height: 1.25;
}
.seo-body h3 {
  font-size: clamp(17px, 2.6vw, 20px);
  font-weight: 700;
  margin: 30px 0 10px;
  line-height: 1.3;
}
.seo-body p { margin: 0 0 16px; max-width: 72ch; }
.seo-body ul, .seo-body ol {
  margin: 0 0 18px;
  padding-left: 22px;
  max-width: 72ch;
}
.seo-body li { margin-bottom: 9px; }
.seo-body li::marker { color: var(--accent); }
.seo-body a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.seo-body a:hover { color: var(--accent-light); }
.seo-body strong { color: var(--text); }







.seo-gallery { margin: 46px 0 8px; }
.seo-gallery h2 {
  font-size: clamp(20px, 3.4vw, 26px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin: 0 0 10px;
}
.seo-gallery-lead {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--muted);
  max-width: 70ch;
  margin: 0 0 20px;
}




.seo-faq { margin: 40px 0; }
.seo-faq h2 {
  font-size: clamp(20px, 3.4vw, 26px);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
}
.seo-faq details {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 10px;
}
.seo-faq summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 15px;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.seo-faq summary::-webkit-details-marker { display: none; }
.seo-faq summary::after {
  content: "+";
  color: var(--accent);
  font-size: 20px;
  line-height: 1;
  flex: 0 0 auto;
}
.seo-faq details[open] summary::after { content: "−"; }
.seo-faq details p {
  margin: 12px 0 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--muted);
  max-width: 72ch;
}


.seo-related { margin: 44px 0; }
.seo-related h2 {
  font-size: clamp(19px, 3.2vw, 24px);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
}
.seo-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 720px) { .seo-cards { grid-template-columns: 1fr; } }
.seo-card {
  display: block;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 13px;
  padding: 16px 18px;
  text-decoration: none;
  color: var(--text);
}


.seo-card:hover { border-color: var(--accent); color: var(--text); }
.seo-card:hover b { color: var(--accent); }
.seo-card b { display: block; font-size: 15px; margin-bottom: 5px; }
.seo-card span { font-size: 13.5px; color: var(--muted); line-height: 1.5; }


.seo-posts { display: grid; gap: 14px; margin: 30px 0; }
.seo-post {
  display: block;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 20px 22px;
  text-decoration: none;
  color: var(--text);
}
.seo-post:hover { border-color: var(--accent); color: var(--text); }
.seo-post:hover h2 { color: var(--accent); }
.seo-post h2 {
  font-size: clamp(17px, 2.8vw, 21px);
  font-weight: 700;
  letter-spacing: -0.015em;
  margin: 0 0 8px;
  line-height: 1.3;
}
.seo-post p { margin: 0 0 10px; font-size: 14.5px; color: var(--muted); line-height: 1.6; }
.seo-post .post-date { font-size: 12.5px; color: var(--muted); opacity: 0.85; }
.seo-meta {
  font-size: 13px;
  color: var(--muted);
  margin: 0 0 22px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}


.seo-noscroll { scroll-margin-top: 70px; }



.seo-topbar, .seo-faq details, .seo-card, .seo-post, .seo-shot {
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}







.seo-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  list-style: none;
  margin: 0 0 38px;
  padding: 0;
}
.seo-trust .trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--muted);
}
.seo-trust .feat-ico {
  width: 17px;
  height: 17px;
  color: var(--accent);
  flex: 0 0 auto;
}


.seo-features { margin: 0 0 44px; }
.seo-features h2,
.seo-formats h2,
.seo-price h2 {
  font-size: clamp(20px, 3.4vw, 26px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin: 0 0 14px;
}
.seo-features-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 900px) { .seo-features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .seo-features-grid { grid-template-columns: 1fr; } }
.feat {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 16px 16px 18px;
}
.feat .feat-ico {
  width: 22px;
  height: 22px;
  color: var(--accent);
  margin-bottom: 10px;
}
.feat b {
  display: block;
  font-size: 15px;
  line-height: 1.3;
  margin-bottom: 6px;
}
.feat span {
  display: block;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--muted);
}


.seo-formats { margin: 46px 0 8px; }
.seo-formats-lead {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--muted);
  max-width: 70ch;
  margin: 0 0 20px;
}
.seo-formats-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  gap: 16px;
}
@media (max-width: 720px) {
  .seo-formats-grid { flex-direction: column; align-items: center; }
}
.fmt { margin: 0; }


.fmt { width: 300px; }
.fmt--43 { width: 400px; }
.fmt--916 { width: 169px; }
.fmt-frame {
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--border);
  background: var(--bg-card);
}
.fmt--11 .fmt-frame { aspect-ratio: 1 / 1; }
.fmt--43 .fmt-frame { aspect-ratio: 4 / 3; }
.fmt--916 .fmt-frame { aspect-ratio: 9 / 16; }
@media (max-width: 720px) {
  .fmt, .fmt--43, .fmt--916 { width: min(100%, 300px); }
}
.fmt-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.fmt figcaption {
  margin-top: 10px;
  display: flex;
  gap: 8px;
  align-items: baseline;
  font-size: 13.5px;
  color: var(--muted);
}
.fmt figcaption b { color: var(--text); font-size: 14px; }


.seo-price { margin: 48px 0; }
.seo-price-lead {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--muted);
  max-width: 70ch;
  margin: 0 0 20px;
}
.seo-price-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 720px) { .seo-price-grid { grid-template-columns: 1fr; } }
.sp-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 18px 18px 16px;
}
.sp-tier {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--accent);
}
.sp-n {
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin-top: 8px;
}
.sp-k {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 10px;
}
.sp-v { font-size: 22px; font-weight: 700; }
.sp-v small { font-size: 13px; font-weight: 500; color: var(--muted); }
.sp-u { font-size: 13.5px; color: var(--muted); margin-top: 6px; }
.sp-foot {
  font-size: 13px;
  color: var(--muted);
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}
.seo-price-link {
  display: inline-block;
  margin-top: 20px;
  font-weight: 600;
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.seo-price-link:hover { color: var(--accent-light); }
.seo-price-note {
  font-size: 13px;
  color: var(--muted);
  margin: 10px 0 0;
  max-width: 70ch;
}
