.grid { display: grid; gap: 28px; grid-template-columns: repeat(3, 1fr); }
.card, .plan { border: 1px solid color-mix(in srgb, var(--text) 12%, transparent);
  border-radius: 12px; padding: 24px; }
.plan.featured { border-color: var(--accent); }
.price { font-size: 2rem; font-weight: 700; color: var(--accent); }
.contact-form { display: grid; gap: 12px; max-width: 480px; }
.contact-form label { display: grid; gap: 4px; font-size: .9rem; }
.contact-form input, .contact-form textarea { padding: 10px; border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--text) 20%, transparent);
  background: var(--bg); color: var(--text); font: inherit; }
.form-note { font-size: .8rem; opacity: .7; }
blockquote { font-size: 1.3rem; font-style: italic; text-align: center; }
cite { display: block; margin-top: 12px; font-size: .9rem; opacity: .7; }
.site-nav .nav-inner { display: flex; justify-content: space-between; align-items: center;
  padding: 20px 24px; }
.site-nav nav a { margin-left: 20px; text-decoration: none; color: var(--text); }
.brand { font-family: var(--font-title); font-weight: 700; text-decoration: none; color: var(--text); }
@media (max-width: 640px) { .grid { grid-template-columns: 1fr; } }

.meandro {
  height: 24px;
  background-color: var(--accent);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24' viewBox='0 0 48 24'%3E%3Cpath d='M2 22 V2 H46 V22 H10 V10 H38 V16 H18 V22' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='square'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24' viewBox='0 0 48 24'%3E%3Cpath d='M2 22 V2 H46 V22 H10 V10 H38 V16 H18 V22' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='square'/%3E%3C/svg%3E");
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-mask-size: auto 24px;
  mask-size: auto 24px;
  width: 100%;
}
.meandro--border {
  border-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24' viewBox='0 0 48 24'%3E%3Cpath d='M2 22 V2 H46 V22 H10 V10 H38 V16 H18 V22' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='square'/%3E%3C/svg%3E") 30 round;
  border-width: 12px;
  border-style: solid;
}

.constellations {
  position: relative;
}
.constellations::before {
  content: '';
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cg fill='none' stroke='%23000' stroke-width='0.6' opacity='0.5'%3E%3Cpath d='M40 60 L120 90 L90 160'/%3E%3Cpath d='M300 50 L340 120 L280 140'/%3E%3Cpath d='M180 300 L240 260 L300 310'/%3E%3C/g%3E%3Cg fill='%23000'%3E%3Ccircle cx='40' cy='60' r='1.6'/%3E%3Ccircle cx='120' cy='90' r='1.6'/%3E%3Ccircle cx='90' cy='160' r='1.6'/%3E%3Ccircle cx='300' cy='50' r='1.6'/%3E%3Ccircle cx='340' cy='120' r='1.6'/%3E%3Ccircle cx='280' cy='140' r='1.6'/%3E%3Ccircle cx='180' cy='300' r='1.6'/%3E%3Ccircle cx='240' cy='260' r='1.6'/%3E%3Ccircle cx='300' cy='310' r='1.6'/%3E%3Ccircle cx='60' cy='340' r='1.2'/%3E%3Ccircle cx='360' cy='300' r='1.2'/%3E%3Ccircle cx='200' cy='40' r='1.2'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 400px 400px;
  opacity: 0.10;
  pointer-events: none; z-index: 0;
}
.constellations > * { position: relative; z-index: 1; }
/* rimo de seções: alterna clara e uma escura (drama sem sair do tema claro) */
.section--dark {
  background: #14110C;
  color: #F5F1E8;
}
.section--dark h1, .section--dark h2, .section--dark h3 { color: #F5F1E8; }
.section--dark .card { border-color: rgba(245,241,232,0.14); }
/* linha de estatísticas (prova concreta) */
.stat-row { display: flex; gap: 48px; flex-wrap: wrap; align-items: baseline; }
.stat { display: flex; flex-direction: column; gap: 4px; }
.stat .num { font-family: var(--font-title); font-size: 2.6rem; font-weight: 700;
  color: var(--accent); line-height: 1; }
.stat .lbl { font-family: var(--font-title); font-size: 0.7rem; letter-spacing: 0.18em;
  text-transform: uppercase; opacity: 0.7; }
/* moldura de mockup de produto (janela de browser) */
.mockup { border: 1px solid rgba(0,0,0,0.12); border-radius: 10px; overflow: hidden;
  box-shadow: 0 30px 60px rgba(0,0,0,0.18); background: var(--bg); }
.mockup img { width: 100%; display: block; }
/* rótulo de secção (kicker) */
.kicker { font-family: var(--font-title); font-size: 0.72rem; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--accent); }
/* grade de camadas (arquitetura) */
.layer-grid { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--border, rgba(0,0,0,0.12)); }
.layer { padding: 24px 28px; border: 1px solid var(--border, rgba(0,0,0,0.10)); }
.layer .rn { float: right; font-family: var(--font-title); opacity: 0.5; }
.layer h3 { margin: 8px 0 2px; }
.layer .sub { font-style: italic; opacity: 0.7; }
@media (max-width: 640px) { .stat-row { gap: 28px; } }
