/* Landing sections — loaded after the inline styles of index.html (same tokens: #2A4538 #C8845A #F5F0E8). */
html { scroll-behavior: smooth; }

.site-nav { display: flex; gap: 22px; margin: 0 auto; }
.site-nav a {
  font-size: .72rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase;
  color: #6b7c73; text-decoration: none; transition: color .2s; white-space: nowrap;
}
.site-nav a:hover { color: #2A4538; }

.band { margin-top: 64px; padding-top: 56px; border-top: 1px solid #dfd7c8; scroll-margin-top: 16px; }
.band-title {
  font-family: 'Cormorant', serif; font-weight: 600;
  font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1.1; letter-spacing: -.01em;
  color: #2A4538; margin-bottom: 14px;
}
.band-intro { font-size: .95rem; color: #6b7c73; max-width: 620px; line-height: 1.75; margin-bottom: 28px; }
.band a, .lead-fallback a { color: #2A4538; font-weight: 400; text-underline-offset: 2px; }
.band a:hover, .lead-fallback a:hover { color: #C8845A; }

.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 24px; }
.card { border-left: 1px solid #dfd7c8; padding-left: 18px; }
.card-label {
  font-size: .6rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase;
  color: #C8845A; margin-bottom: 8px;
}
.card-text { font-size: .9rem; color: #6b7c73; line-height: 1.65; }
.steps { counter-reset: step; }
.steps .card-label::before { counter-increment: step; content: counter(step) " · "; }

.dot-list { list-style: none; max-width: 640px; margin-bottom: 20px; }
.dot-list li { position: relative; padding: 8px 0 8px 22px; font-size: .92rem; color: #1c2a23; line-height: 1.6; }
.dot-list li::before {
  content: ''; position: absolute; left: 0; top: 17px;
  width: 8px; height: 8px; border-radius: 50%; background: #C8845A;
}

.lead-form { max-width: 520px; }
.lead-form textarea.cl-input { min-height: 120px; resize: vertical; line-height: 1.5; }
.lead-form .cl-btn { width: auto; padding: 13px 28px; }
.lead-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lead-consent {
  display: flex; gap: 10px; align-items: flex-start; cursor: pointer;
  font-size: .78rem; color: #6b7c73; line-height: 1.5; margin-bottom: 16px;
}
.lead-consent input { margin-top: 3px; flex-shrink: 0; accent-color: #2A4538; }
.lead-ok {
  display: none; background: rgba(42,69,56,.08); border: 1px solid rgba(42,69,56,.3);
  border-radius: 8px; padding: 10px 14px; font-size: .82rem; color: #2A4538;
  margin-bottom: 14px; line-height: 1.5;
}
.lead-ok.show { display: block; }
.lead-fallback { font-size: .78rem; color: #6b7c73; margin-top: 14px; }

@media (max-width: 1279px) { .site-nav { display: none; } }
@media (min-width: 601px) and (max-width: 1100px) { .steps { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 600px) {
  .band { margin-top: 44px; padding-top: 36px; }
  .lead-form .cl-btn { width: 100%; }
}

/* Product cards (Tools Store / AI Arcade), each in its own product theme */
.prod-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 28px; }
.band a.prod-card {
  position: relative; display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 240px; padding: 36px; overflow: hidden; text-decoration: none; font-weight: 400;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.band a.prod-card:hover, .band a.prod-card:focus-visible { transform: translateY(-3px); }
.prod-label { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 8px; }
.prod-name { line-height: 1.15; margin-bottom: 12px; }
.prod-text { font-size: .95rem; line-height: 1.6; max-width: 34ch; margin-bottom: 24px; }
.prod-cta { align-self: flex-start; font-size: .85rem; padding: 10px 20px; }

.band a.prod-store {
  background-color: #0F1B2D;
  background-image:
    radial-gradient(circle, rgba(147,163,186,.28) 1px, transparent 1.5px),
    linear-gradient(135deg, #0F1B2D 40%, #1D2F4A);
  background-size: 20px 20px, 100% 100%;
  border: 1px solid #1D2F4A; border-radius: 8px; color: #E6EBF3;
  font-family: 'IBM Plex Sans', 'Jost', sans-serif;
  box-shadow: 0 2px 10px rgba(15,27,45,.25);
}
.band a.prod-store:hover, .band a.prod-store:focus-visible {
  color: #E6EBF3; border-color: #2563EB;
  box-shadow: 0 0 0 2px rgba(37,99,235,.55), 0 12px 32px rgba(37,99,235,.35);
}
.band a.prod-store:focus-visible { outline: 3px solid #60A5FA; outline-offset: 3px; }
.prod-store .prod-label { font-family: 'IBM Plex Mono', monospace; color: #93A3BA; }
.prod-store .prod-name { font-weight: 600; letter-spacing: -.015em; font-size: clamp(1.7rem, 3vw, 2.3rem); color: #fff; }
.prod-store .prod-text { color: #E6EBF3; }
.prod-store .prod-cta { background: #2563EB; color: #fff; border-radius: 8px; font-weight: 600; }

.band a.prod-arcade {
  background-color: #0a0a18;
  background-image:
    radial-gradient(circle at 0% 0%, rgba(124,58,237,.28), transparent 55%),
    radial-gradient(circle at 100% 0%, rgba(255,46,151,.16), transparent 50%),
    linear-gradient(rgba(0,229,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,229,255,.05) 1px, transparent 1px),
    linear-gradient(160deg, #10102a, #0a0a18);
  background-size: 100% 100%, 100% 100%, 44px 44px, 44px 44px, 100% 100%;
  border: 1px solid #2f2f6e; border-radius: 14px; color: #eceaff;
  font-family: 'Chakra Petch', 'Jost', sans-serif;
  box-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.band a.prod-arcade:hover, .band a.prod-arcade:focus-visible {
  color: #eceaff; border-color: #ff2e97;
  box-shadow: 0 0 0 1px rgba(255,46,151,.6), 0 12px 36px rgba(255,46,151,.35), 0 0 28px rgba(124,58,237,.4);
}
.band a.prod-arcade:focus-visible { outline: 3px solid #00e5ff; outline-offset: 3px; }
.prod-arcade .prod-label { font-family: 'Orbitron', sans-serif; font-weight: 700; color: #00e5ff; }
.prod-arcade .prod-name {
  font-family: 'Press Start 2P', 'Orbitron', monospace; font-size: clamp(1rem, 1.9vw, 1.35rem);
  line-height: 1.4; align-self: flex-start; padding-bottom: 2px;
  background: linear-gradient(90deg, #ff2e97, #ffd23f 55%, #00e5ff);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.prod-arcade .prod-text { color: #eceaff; }
.prod-arcade .prod-cta {
  font-family: 'Orbitron', sans-serif; font-weight: 700; color: #fff; border-radius: 999px;
  background: linear-gradient(90deg, #ff2e97, #7c3aed); box-shadow: 0 0 18px rgba(255,46,151,.45);
}

@media (max-width: 820px) { .prod-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .band a.prod-card { padding: 28px 24px; min-height: 210px; } }
@media (prefers-reduced-motion: reduce) {
  .band a.prod-card { transition: none; }
  .band a.prod-card:hover, .band a.prod-card:focus-visible { transform: none; }
}
