/* Complemento de service.css para portfólio de sites e páginas da agência */
.site-header nav a.active { color: var(--lime); }
.hero.hero-site { min-height: 640px; }
.hero.hero-site .hero-image { inset: 0 0 0 38%; width: 62%; object-position: left top; opacity: .55; }
.hero-site .hero-content { width: min(860px, 88vw); }

/* Moldura de navegador e celular */
.showcase { position: relative; padding: 0 0 90px; background: #0d100e; }
.showcase .wrap { position: relative; display: grid; grid-template-columns: 1fr 250px; gap: 34px; align-items: end; }
.browser { overflow: hidden; border: 1px solid #2c322c; border-radius: 14px; background: #151915; box-shadow: 0 40px 90px rgba(0,0,0,.45); }
.browser-bar { display: flex; align-items: center; gap: 7px; padding: 12px 16px; border-bottom: 1px solid #2c322c; }
.browser-bar i { width: 10px; height: 10px; border-radius: 50%; background: #3a413a; }
.browser-bar span { margin-left: 12px; padding: 6px 14px; color: #9ba29b; background: #0b0d0c; border-radius: 999px; font-size: 11px; font-weight: 600; }
.browser img, .phone img { width: 100%; height: auto; }
.phone { overflow: hidden; padding: 10px; border: 1px solid #2c322c; border-radius: 34px; background: #050605; box-shadow: 0 40px 90px rgba(0,0,0,.5); }
.phone img { border-radius: 26px; }
.showcase figcaption { margin-top: 14px; color: #868e86; font-size: 11px; }

/* Números */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--dark-line); border: 1px solid var(--dark-line); }
.stats div { display: grid; gap: 8px; padding: 28px 24px; background: var(--paper); }
.stats b { font-size: clamp(30px, 3.4vw, 46px); letter-spacing: -.05em; font-weight: 700; }
.stats span { color: #4d544d; font-size: 12px; line-height: 1.5; }
.section-dark .stats { background: var(--line); border-color: var(--line); }
.section-dark .stats div { background: #101310; }
.section-dark .stats span { color: #9ba29b; }
.note { margin-top: 16px; color: #6b726b; font-size: 11px; line-height: 1.6; }
.section-dark .note { color: #868e86; }

/* Galeria e checklist */
.gallery { display: grid; grid-template-columns: 1.4fr 1fr; gap: 34px; align-items: center; }
.gallery figure { margin: 0; }
.checklist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 34px; margin: 0; padding: 0; list-style: none; }
.checklist li { position: relative; padding: 15px 0 15px 30px; border-bottom: 1px solid var(--dark-line); font-size: 14px; line-height: 1.55; }
.checklist li::before { content: "✓"; position: absolute; left: 0; top: 15px; color: var(--lime-dark); font-weight: 800; }
.section-dark .checklist li { border-color: var(--line); color: #d4d9d4; }
.section-dark .checklist li::before { color: var(--lime); }
.checklist b { display: block; margin-bottom: 3px; }

/* Cards do portfólio */
.portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.portfolio-card { display: grid; overflow: hidden; border: 1px solid var(--dark-line); border-radius: 12px; background: white; transition: transform .25s, box-shadow .25s; }
.portfolio-card:hover { transform: translateY(-4px); box-shadow: 0 24px 60px rgba(11,13,12,.12); }
.portfolio-card img { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; object-position: top; border-bottom: 1px solid var(--dark-line); }
.portfolio-card div { display: grid; gap: 8px; padding: 22px; }
.portfolio-card small { color: var(--lime-dark); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.portfolio-card h3 { margin: 0; font-size: 22px; letter-spacing: -.03em; }
.portfolio-card p { margin: 0; color: #4d544d; font-size: 13px; line-height: 1.6; }
.portfolio-card span.go { margin-top: 6px; font-size: 11px; font-weight: 800; }

/* Links entre páginas */
.link-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--dark-line); border: 1px solid var(--dark-line); }
.link-grid a { display: grid; gap: 8px; padding: 26px; background: var(--paper); transition: background .2s; }
.link-grid a:hover { background: white; }
.link-grid b { font-size: 17px; letter-spacing: -.02em; }
.link-grid span { color: #4d544d; font-size: 13px; line-height: 1.55; }
.prose { max-width: 760px; font-size: 16px; line-height: 1.8; }
.prose p { margin: 0 0 18px; }
.section-dark .prose { color: #c0c6c0; }

@media (max-width: 900px) {
  .showcase .wrap, .gallery { grid-template-columns: 1fr; }
  .showcase .phone { width: 240px; justify-self: center; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .portfolio-grid, .link-grid { grid-template-columns: 1fr; }
  .checklist { grid-template-columns: 1fr; }
}

/* camada escura acima da imagem do topo para manter o texto legível */
.hero.hero-site::before { z-index: 1; }
.hero.hero-site .wrap { position: relative; z-index: 2; }
@media (max-width: 620px) { .hero.hero-site .hero-image { inset: 0; width: 100%; opacity: .35; } }
