/* ================================================================
   Asticou Island LLC: page styles (2026-10-28 restructure)
   Loaded after style.css. A new file rather than additions to style.css,
   because /css/* is served with a one-year immutable cache.
   ================================================================ */

/* Shorter hero for inner pages */
.hero.hero-page { min-height: auto; padding: calc(var(--nav-height) + 80px) 24px 80px; }
.hero.hero-page .hero-tagline { margin-bottom: 36px; }
.hero.hero-page .hero-ctas { margin-bottom: 0; }
.hero .hero-ctas.tight { margin-bottom: 0; }

/* Status pill shown in a hero */
.status-pill {
  display: inline-block;
  position: relative; z-index: 1;
  margin-bottom: 22px;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--cyan);
  border: 1px solid rgba(0,180,216,0.45);
  border-radius: 999px;
  padding: 6px 14px;
}

/* Section shells */
.band-light { background: var(--off-white); padding: 96px 0; }
.band-white { background: var(--white); padding: 96px 0; }
.band-light .intro, .band-white .intro { max-width: 760px; margin-bottom: 48px; }

/* Two-column card grid */
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
@media (max-width: 700px) { .grid-2 { grid-template-columns: 1fr; } }

/* Actions row under a section */
.section-actions { margin-top: 40px; display: flex; gap: 20px; flex-wrap: wrap; align-items: center; }
.status-note { font-size: 0.92rem; color: #555; }

/* Text link at the foot of a card */
.card-link { display: inline-block; margin-top: 18px; font-weight: 600; font-size: 0.92rem; }

/* Company strip */
.company-strip { background: var(--off-white); padding: 72px 0; }
.company-strip p { max-width: 760px; font-size: 1.05rem; line-height: 1.8; color: #4a4a4a; }

/* Dark statement band */
.promise-band { background: var(--slate); padding: 88px 0; text-align: center; }
.promise-band .section-title { color: var(--white); }
.promise-band p { color: rgba(255,255,255,0.72); max-width: 680px; margin: 0 auto; line-height: 1.8; font-size: 1.08rem; }

/* "Built today" list */
.built-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; margin-top: 8px; }
.built-list li {
  padding: 14px 0 14px 26px;
  border-bottom: 1px solid var(--light-gray);
  position: relative;
  color: #444; font-size: 0.97rem; line-height: 1.6;
}
.built-list li::before {
  content: ''; position: absolute; left: 4px; top: 22px;
  width: 9px; height: 9px; border-radius: 50%; background: #1a7a4a;
}
.built-list li strong { color: var(--slate); }
.built-after { margin-top: 28px; color: #555; font-size: 0.97rem; }
@media (max-width: 700px) { .built-list { grid-template-columns: 1fr; } }

/* Call-to-action band */
.cta-band { background: var(--slate-mid); padding: 88px 0; }
.cta-band .inner { max-width: 760px; }
.cta-band p { color: rgba(255,255,255,0.72); line-height: 1.8; margin-bottom: 30px; font-size: 1.02rem; }
.cta-band .hero-ctas { justify-content: flex-start; margin-bottom: 0; }

/* Product cards on the developer page */
.product-card .vertical-badge { margin-right: 8px; }
.dev-note { margin-top: 36px; color: #555; font-size: 0.97rem; }

/* Plain prose page */
.prose { background: var(--white); padding: 88px 0; }
.prose .measure { max-width: 760px; }
.prose h2 { font-size: 1.35rem; color: var(--slate); margin: 44px 0 12px; }
.prose h2:first-child { margin-top: 0; }
.prose p { color: #444; line-height: 1.85; margin-bottom: 16px; font-size: 1.03rem; }
.prose a { font-weight: 600; }
