/* LM Ortodontia — site institucional (linha premium: marfim, verde profundo e dourado) */
:root {
  --s-verde: #163b2e;
  --s-verde-escuro: #0f2a21;
  --s-verde-medio: #2b5a48;
  --s-ouro: #b8955a;
  --s-ouro-escuro: #93733f;
  --s-ouro-claro: #d8c39a;
  --s-marfim: #f7f3ec;
  --s-areia: #ede6d9;
  --s-texto: #1e2622;
  --s-texto-2: #5b6660;
  --s-claro-2: #b9c6be;
  --s-borda: #ddd4c4;
  --s-erro: #a3362f;
  --s-titulo: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
  --s-fonte: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  /* nomes antigos, ainda usados nos templates */
  --s-marca: var(--s-verde);
  --s-marca-escura: var(--s-verde-escuro);
  --s-dourado: var(--s-ouro);
  --s-dourado-escuro: var(--s-ouro-escuro);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font: 300 16.5px/1.75 var(--s-fonte); color: var(--s-texto); background: var(--s-marfim); -webkit-font-smoothing: antialiased; }
a { color: var(--s-verde); }
h1, h2, h3 { margin: 0; line-height: 1.1; font-weight: 500; }
h1, h2 { font-family: var(--s-titulo); letter-spacing: -.01em; }
h1 em, h2 em { font-style: italic; color: var(--s-ouro); font-weight: 400; }
strong, b { font-weight: 600; }
.s-container { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.s-estreito { max-width: 820px; }

/* ---------- Marca ---------- */
.s-logo { display: inline-flex; align-items: center; gap: 14px; color: var(--s-verde-escuro); text-decoration: none; }
svg.s-logo-icone { width: 44px; height: 44px; display: block; flex: none; }
.s-logo-texto { display: grid; line-height: 1.2; white-space: nowrap; font: 500 12.5px var(--s-fonte); letter-spacing: .26em; text-transform: uppercase; }
.s-logo-texto small { font: italic 400 16px var(--s-titulo); letter-spacing: .02em; text-transform: none; color: var(--s-ouro-escuro); margin-top: 1px; }

/* ---------- Topo ---------- */
.s-topo { position: sticky; top: 0; z-index: 20; background: rgba(247,243,236,.94); backdrop-filter: blur(12px); border-bottom: 1px solid var(--s-borda); }
.s-topo-interno { display: flex; align-items: center; justify-content: space-between; height: 84px; gap: 16px; }
.s-nav { display: flex; align-items: center; gap: 34px; }
.s-nav a { color: var(--s-texto); text-decoration: none; font-weight: 400; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.s-nav a:not(.s-btn) { position: relative; }
.s-nav a:not(.s-btn)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 1px; background: var(--s-ouro); transition: right .3s; }
.s-nav a:not(.s-btn):hover::after { right: 0; }

/* ---------- Botões ---------- */
.s-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 54px; padding: 0 34px; border-radius: 1px; font: 500 12px var(--s-fonte); letter-spacing: .18em; text-transform: uppercase; text-decoration: none; border: 1px solid transparent; cursor: pointer; transition: background .25s, color .25s, border-color .25s; white-space: nowrap; }
.s-btn:disabled { opacity: .4; cursor: not-allowed; }
.s-btn-primario { background: var(--s-verde); color: var(--s-marfim) !important; border-color: var(--s-verde); }
.s-btn-primario:hover:not(:disabled) { background: var(--s-verde-escuro); }
.s-btn-claro { background: transparent; color: var(--s-verde-escuro); border-color: var(--s-verde-escuro); }
.s-btn-claro:hover { background: var(--s-verde-escuro); color: var(--s-marfim); }
.s-btn-dourado { background: var(--s-ouro); color: var(--s-verde-escuro); border-color: var(--s-ouro); }
.s-btn-dourado:hover { background: var(--s-ouro-claro); border-color: var(--s-ouro-claro); }
.s-btn-contorno-claro { background: transparent; color: var(--s-marfim); border-color: rgba(247,243,236,.45); }
.s-btn-contorno-claro:hover { border-color: var(--s-ouro-claro); color: var(--s-ouro-claro); }
.s-btn-pequeno { height: 42px; padding: 0 22px; font-size: 11px; }
.s-largo { width: 100%; }

/* ---------- Elementos editoriais ---------- */
.s-kicker { display: inline-flex; align-items: center; gap: 14px; font-size: 11.5px; letter-spacing: .28em; text-transform: uppercase; color: var(--s-ouro-escuro); font-weight: 500; margin-bottom: 22px; }
.s-kicker::before { content: ""; width: 36px; height: 1px; background: currentColor; }
.s-sub { color: var(--s-texto-2); margin: 10px 0 0; }

/* ---------- Hero ---------- */
.s-hero { background: radial-gradient(900px 600px at 80% 30%, #224d3d 0%, transparent 60%), var(--s-verde-escuro); color: var(--s-marfim); padding: 96px 0 0; overflow: hidden; }
.s-hero-grade { display: grid; grid-template-columns: 1.15fr .85fr; gap: 72px; align-items: end; }
.s-hero-texto { padding-bottom: 104px; }
.s-hero .s-kicker { color: var(--s-ouro-claro); }
.s-hero h1 { font-size: clamp(44px, 6vw, 78px); line-height: 1.02; font-weight: 400; color: #fbf8f2; }
.s-hero h1 em { color: var(--s-ouro-claro); }
.s-lead { font-size: 18px; color: var(--s-claro-2); max-width: 520px; margin: 30px 0 40px; }
.s-acoes { display: flex; gap: 14px; flex-wrap: wrap; }
.s-hero-arte { position: relative; align-self: stretch; display: flex; align-items: flex-end; justify-content: center; }
.s-arco { position: relative; width: 100%; max-width: 420px; aspect-ratio: 3 / 4.1; border-radius: 999px 999px 0 0; background: linear-gradient(180deg, #2b5a48 0%, #193f31 70%, #163b2e 100%); display: grid; place-items: center; overflow: hidden; }
.s-arco::before { content: ""; position: absolute; inset: 18px 18px 0; border: 1px solid rgba(216,195,154,.45); border-bottom: 0; border-radius: 999px 999px 0 0; }
.s-arco::after { content: ""; position: absolute; inset: 46px 46px 0; border: 1px solid rgba(216,195,154,.18); border-bottom: 0; border-radius: 999px 999px 0 0; }
.s-arco svg.s-arco-logo { width: 38%; height: auto; position: relative; z-index: 1; }
.s-arco svg.s-arco-logo circle:first-child { fill: transparent; }
.s-arco-legenda { position: absolute; bottom: 34px; left: 0; right: 0; text-align: center; font-size: 10.5px; letter-spacing: .3em; text-transform: uppercase; color: var(--s-ouro-claro); opacity: .8; z-index: 1; }
.s-pilares { border-top: 1px solid rgba(216,195,154,.22); display: grid; grid-template-columns: repeat(3, 1fr); }
.s-pilares div { padding: 26px 0 30px; font-size: 11.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--s-claro-2); display: flex; align-items: center; gap: 14px; }
.s-pilares div + div { padding-left: 32px; border-left: 1px solid rgba(216,195,154,.22); }
.s-pilares span { font: italic 400 22px var(--s-titulo); color: var(--s-ouro-claro); letter-spacing: 0; text-transform: none; }

/* ---------- Seções ---------- */
.s-secao { padding: 128px 0; }
.s-secao-clara { background: var(--s-areia); }
.s-secao-escura { background: var(--s-verde-escuro); color: var(--s-claro-2); }
.s-secao-escura h2, .s-secao-escura h3 { color: #fbf8f2; }
.s-secao-escura .s-kicker { color: var(--s-ouro-claro); }
.s-titulo-secao { margin-bottom: 64px; max-width: 640px; }
.s-titulo-secao.centro { text-align: center; margin-left: auto; margin-right: auto; }
.s-titulo-secao.centro .s-kicker::after { content: ""; width: 36px; height: 1px; background: currentColor; }
.s-titulo-secao h2 { font-size: clamp(36px, 4.4vw, 56px); color: var(--s-verde-escuro); font-weight: 400; }
.s-secao-escura .s-titulo-secao h2 { color: #fbf8f2; }

/* Manifesto */
.s-manifesto { text-align: center; padding: 120px 0; }
.s-manifesto p { font: italic 400 clamp(26px, 3vw, 38px)/1.4 var(--s-titulo); color: var(--s-verde-escuro); max-width: 900px; margin: 0 auto; }
.s-manifesto small { display: block; margin-top: 28px; font-size: 11.5px; letter-spacing: .28em; text-transform: uppercase; color: var(--s-ouro-escuro); }

/* Tratamentos */
.s-cards { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--s-borda); }
.s-card { padding: 44px 48px 48px 0; border-bottom: 1px solid var(--s-borda); display: grid; grid-template-columns: 64px 1fr; gap: 0 8px; }
.s-card:nth-child(even) { padding-left: 48px; padding-right: 0; border-left: 1px solid var(--s-borda); }
.s-card-num { font: italic 400 30px/1 var(--s-titulo); color: var(--s-ouro); }
.s-card h3 { font: 500 28px/1.15 var(--s-titulo); color: var(--s-verde-escuro); margin: 0 0 12px; }
.s-card p { margin: 0; color: var(--s-texto-2); font-size: 15.5px; }

/* A doutora */
.s-doutora { display: grid; grid-template-columns: .85fr 1.15fr; gap: 96px; align-items: center; }
.s-doutora h2 { font-size: clamp(42px, 5vw, 64px); color: var(--s-verde-escuro); font-weight: 400; }
.s-doutora p { color: var(--s-texto-2); }
.s-doutora-cargo { font: italic 400 22px var(--s-titulo) !important; color: var(--s-ouro-escuro) !important; margin: 8px 0 30px; }
.s-doutora-foto { position: relative; }
.s-doutora-foto::before { content: ""; position: absolute; inset: 28px -28px -28px 28px; border: 1px solid var(--s-ouro); border-radius: 999px 999px 0 0; opacity: .55; }
.s-doutora-moldura { position: relative; aspect-ratio: 4 / 5.2; border-radius: 999px 999px 0 0; background: linear-gradient(170deg, var(--s-verde-medio), var(--s-verde-escuro)); display: grid; place-items: center; overflow: hidden; }
svg.s-doutora-logo { width: 40%; height: auto; }
svg.s-doutora-logo circle:first-child { fill: transparent; }
.s-doutora .s-btn { margin-top: 18px; }

/* Experiência */
.s-passos { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.s-passos li { border-top: 1px solid rgba(216,195,154,.3); padding-top: 30px; }
.s-passos b { display: block; font: italic 400 34px/1 var(--s-titulo); color: var(--s-ouro-claro); margin-bottom: 22px; }
.s-passos h3 { font: 500 25px var(--s-titulo); margin-bottom: 12px; }
.s-passos p { margin: 0; font-size: 15px; }

/* Portal */
.s-portal { display: grid; grid-template-columns: 1fr 1fr; gap: 96px; align-items: center; }
.s-portal h2 { font-size: clamp(36px, 4.4vw, 56px); color: var(--s-verde-escuro); font-weight: 400; margin-bottom: 22px; }
.s-portal p { color: var(--s-texto-2); }
.s-lista-check { list-style: none; padding: 0; margin: 28px 0 0; display: grid; }
.s-lista-check li { padding: 14px 0 14px 36px; position: relative; border-bottom: 1px solid var(--s-borda); }
.s-lista-check li::before { content: ""; position: absolute; left: 4px; top: 27px; width: 14px; height: 1px; background: var(--s-ouro); }
.s-mock { background: #fffdf9; border: 1px solid var(--s-borda); box-shadow: 0 40px 80px -30px rgba(15,42,33,.28); }
.s-mock-topo { padding: 22px 30px; border-bottom: 1px solid var(--s-borda); display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.s-mock-topo strong { font: 500 22px var(--s-titulo); color: var(--s-verde-escuro); }
.s-mock-topo span { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--s-ouro-escuro); }
.s-mock-corpo { padding: 14px 30px 26px; }
.s-mock-linha { position: relative; padding: 13px 0 13px 34px; color: var(--s-texto-2); font-size: 15px; }
.s-mock-linha::before { content: ""; position: absolute; left: 4px; top: 21px; width: 11px; height: 11px; border-radius: 50%; border: 1px solid var(--s-borda); background: #fffdf9; z-index: 1; }
.s-mock-linha:not(:last-child)::after { content: ""; position: absolute; left: 9.5px; top: 33px; bottom: -21px; width: 1px; background: var(--s-borda); }
.s-mock-linha.feito { color: var(--s-texto); }
.s-mock-linha.feito::before { background: var(--s-verde); border-color: var(--s-verde); }
.s-mock-linha.atual { color: var(--s-verde-escuro); font-weight: 500; }
.s-mock-linha.atual::before { background: var(--s-ouro); border-color: var(--s-ouro); box-shadow: 0 0 0 5px rgba(184,149,90,.18); }

/* Dúvidas */
.s-faq { border-bottom: 1px solid var(--s-borda); }
.s-faq:first-of-type { border-top: 1px solid var(--s-borda); }
.s-faq summary { cursor: pointer; list-style: none; font: 500 23px var(--s-titulo); color: var(--s-verde-escuro); padding: 26px 48px 26px 0; position: relative; }
.s-faq summary::-webkit-details-marker { display: none; }
.s-faq summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 14px; height: 14px; background: linear-gradient(var(--s-ouro), var(--s-ouro)) center/14px 1px no-repeat, linear-gradient(var(--s-ouro), var(--s-ouro)) center/1px 14px no-repeat; transition: transform .3s; transform: translateY(-50%); }
.s-faq[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.s-faq p { margin: 0 0 28px; color: var(--s-texto-2); max-width: 680px; }

/* Chamada final */
.s-cta { background: var(--s-marfim); padding: 128px 0; text-align: center; }
.s-cta h2 { font-size: clamp(38px, 4.6vw, 60px); color: var(--s-verde-escuro); font-weight: 400; }
.s-cta p { color: var(--s-texto-2); margin: 18px auto 40px; max-width: 520px; }

/* Rodapé */
.s-rodape { background: var(--s-verde-escuro); color: var(--s-claro-2); padding: 88px 0 32px; font-size: 14.5px; }
.s-rodape .s-logo { color: #fbf8f2; }
.s-rodape .s-logo-texto small { color: var(--s-ouro-claro); }
.s-rodape h4 { color: var(--s-ouro-claro); margin: 0 0 16px; font-size: 11px; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; }
.s-rodape p { margin: 22px 0 0; }
.s-rodape h4 + p { margin-top: 0; }
.s-rodape-grade { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 48px; }
.s-rodape-fim { border-top: 1px solid rgba(216,195,154,.18); margin-top: 64px; padding-top: 26px; font-size: 12px; letter-spacing: .04em; color: #8fa198; }

.s-whats { position: fixed; right: 24px; bottom: 24px; width: 56px; height: 56px; border-radius: 50%; background: var(--s-verde-escuro); color: var(--s-ouro-claro); display: grid; place-items: center; border: 1px solid rgba(216,195,154,.55); box-shadow: 0 14px 34px rgba(15,42,33,.3); z-index: 30; transition: background .25s; }
.s-whats:hover { background: var(--s-verde); }
.s-whats svg { width: 25px; height: 25px; }

/* ---------- Agendamento ---------- */
.s-agendar { background: var(--s-marfim); min-height: 70vh; padding-top: 80px; }
.s-agendar .s-titulo-secao { margin-bottom: 40px; }
.s-agendar-grade { display: grid; grid-template-columns: 1.15fr .85fr; gap: 28px; align-items: start; }
.s-painel { background: #fffdf9; padding: 36px; border: 1px solid var(--s-borda); min-width: 0; }
.s-painel h3 { font: 500 24px var(--s-titulo); color: var(--s-verde-escuro); margin-bottom: 20px; display: flex; align-items: center; gap: 14px; }
.s-num { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--s-ouro); color: var(--s-ouro-escuro); display: grid; place-items: center; font: italic 500 17px var(--s-titulo); flex: none; }
.s-dias { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: thin; }
.s-dia { flex: none; width: 70px; padding: 12px 0; border-radius: 1px; border: 1px solid var(--s-borda); background: transparent; cursor: pointer; display: grid; gap: 2px; font-family: var(--s-fonte); color: var(--s-texto); transition: border-color .2s; }
.s-dia small { font-size: 10.5px; color: var(--s-texto-2); text-transform: uppercase; letter-spacing: .14em; }
.s-dia b { font: 500 26px/1.1 var(--s-titulo); }
.s-dia:hover { border-color: var(--s-ouro); }
.s-dia.ativo { background: var(--s-verde); border-color: var(--s-verde); color: #fbf8f2; }
.s-dia.ativo small { color: var(--s-ouro-claro); }
.s-horas { display: grid; grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: 8px; }
.s-horas > p { grid-column: 1 / -1; margin: 0; }
.s-hora { height: 46px; border-radius: 1px; border: 1px solid var(--s-borda); background: transparent; font: 400 15px var(--s-fonte); letter-spacing: .04em; cursor: pointer; color: var(--s-texto); transition: border-color .2s; }
.s-hora:hover { border-color: var(--s-ouro); }
.s-hora.ativo { background: var(--s-ouro); border-color: var(--s-ouro); color: var(--s-verde-escuro); font-weight: 500; }
.s-campo { display: block; margin-bottom: 18px; }
.s-campo span { display: block; font-size: 11px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--s-texto-2); margin-bottom: 8px; }
.s-campo input, .s-campo select { width: 100%; height: 50px; padding: 0 16px; border-radius: 1px; border: 1px solid var(--s-borda); font: 400 15.5px var(--s-fonte); background: #fff; color: var(--s-texto); }
.s-campo input:focus, .s-campo select:focus { outline: none; border-color: var(--s-ouro); box-shadow: 0 0 0 3px rgba(184,149,90,.15); }
.s-check { display: flex; gap: 12px; align-items: flex-start; font-size: 13.5px; color: var(--s-texto-2); margin: 8px 0 24px; }
.s-check input { width: 17px; height: 17px; margin-top: 3px; accent-color: var(--s-verde); flex: none; }
.s-resumo { border-left: 2px solid var(--s-ouro); background: var(--s-areia); color: var(--s-verde-escuro); padding: 14px 18px; font: 500 20px var(--s-titulo); margin-bottom: 22px; }
.s-resumo::first-letter { text-transform: uppercase; }
.s-erro { display: block; color: var(--s-erro); font-size: 13px; font-style: normal; margin-top: 6px; }
.s-aviso { background: #fffdf9; border: 1px solid var(--s-borda); border-left: 2px solid var(--s-ouro); padding: 18px 22px; margin-bottom: 22px; }
.s-aviso-erro { border-left-color: var(--s-erro); }
.s-armadilha { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.s-ok { width: 76px; height: 76px; border-radius: 50%; border: 1px solid var(--s-ouro); color: var(--s-ouro); font: 400 30px var(--s-titulo); display: grid; place-items: center; margin: 0 auto 30px; }
.s-h1-menor { font-size: clamp(38px, 4.6vw, 56px); color: var(--s-verde-escuro); font-weight: 400; }
.s-confirmacao { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--s-borda); border: 1px solid var(--s-borda); text-align: left; }
.s-confirmacao div { background: #fffdf9; padding: 22px 24px; }
.s-confirmacao small { display: block; color: var(--s-ouro-escuro); font-size: 10.5px; text-transform: uppercase; letter-spacing: .22em; margin-bottom: 4px; }
.s-confirmacao b { font: 500 21px var(--s-titulo); color: var(--s-verde-escuro); }
.s-secao .s-lead { color: var(--s-texto-2); }

/* ---------- Responsivo ---------- */
.s-nav a { white-space: nowrap; }
@media (max-width: 1180px) {
  .s-nav { gap: 22px; }
  .s-nav a { letter-spacing: .12em; }
}
@media (max-width: 1080px) {
  .s-nav a.s-nav-extra { display: none; }
}
@media (max-width: 960px) {
  .s-hero-grade, .s-portal, .s-agendar-grade, .s-doutora { grid-template-columns: 1fr; }
  .s-hero-grade { gap: 8px; }
  .s-hero-texto { padding-bottom: 56px; }
  .s-arco { max-width: 300px; }
  .s-doutora, .s-portal { gap: 64px; }
  .s-doutora-foto { max-width: 340px; width: 85%; margin: 0 auto; }
  .s-passos { grid-template-columns: 1fr 1fr; }
  .s-nav a:not(.s-btn) { display: none; }
}
@media (max-width: 700px) {
  .s-cards { grid-template-columns: 1fr; }
  .s-card, .s-card:nth-child(even) { padding: 34px 0; border-left: 0; grid-template-columns: 48px 1fr; }
  .s-pilares { grid-template-columns: 1fr; }
  .s-pilares div { padding: 18px 0; }
  .s-pilares div + div { padding-left: 0; border-left: 0; border-top: 1px solid rgba(216,195,154,.22); }
}
@media (max-width: 600px) {
  body { font-size: 16px; }
  .s-container { padding: 0 20px; }
  .s-topo-interno { height: 72px; }
  .s-secao, .s-manifesto, .s-cta { padding: 84px 0; }
  .s-hero { padding-top: 56px; }
  .s-passos, .s-rodape-grade, .s-confirmacao { grid-template-columns: 1fr; }
  .s-btn { width: 100%; }
  .s-nav .s-btn { width: auto; }
  .s-painel { padding: 24px 20px; }
  .s-titulo-secao { margin-bottom: 44px; }
  .s-doutora-foto::before { inset: 18px -18px -18px 18px; }
}
@media (max-width: 400px) {
  .s-logo { gap: 10px; }
  svg.s-logo-icone { width: 38px; height: 38px; }
  .s-logo-texto { font-size: 11px; letter-spacing: .2em; }
  .s-logo-texto small { font-size: 14.5px; }
  .s-nav .s-btn-pequeno { padding: 0 14px; letter-spacing: .12em; }
}
.s-rodape-link { color: var(--s-ouro-claro); text-decoration: none; font-size: 11.5px; letter-spacing: .22em; text-transform: uppercase; }
.s-dia b, .s-resumo, .s-confirmacao b, .s-card-num, .s-mock-topo strong { font-variant-numeric: lining-nums; }
.s-cta p { max-width: 600px; }
@media (max-width: 600px) {
  .s-some-mob { display: none; }
  .s-arco { max-width: 240px; }
}
@media (max-width: 600px) { .s-arco-legenda { font-size: 9px; letter-spacing: .18em; bottom: 26px; } }

/* ---------- Formação e tecnologia ---------- */
.s-formacao { list-style: none; padding: 0; margin: 28px 0 8px; border-top: 1px solid var(--s-borda); }
.s-formacao li { padding: 14px 0; border-bottom: 1px solid var(--s-borda); display: grid; gap: 2px; }
.s-formacao strong { font: 500 21px/1.2 var(--s-titulo); color: var(--s-verde-escuro); }
.s-formacao span { font-size: 13px; letter-spacing: .04em; color: var(--s-texto-2); }
.s-doutora-nome { font: italic 400 17px var(--s-titulo) !important; color: var(--s-ouro-escuro) !important; margin: 18px 0 0; }
.s-tecnologia { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
.s-tecnologia article { border-top: 1px solid var(--s-borda); padding-top: 28px; }
.s-tecnologia .s-card-num { display: block; margin-bottom: 18px; }
.s-tecnologia h3 { font: 500 27px/1.15 var(--s-titulo); color: var(--s-verde-escuro); margin-bottom: 12px; }
.s-tecnologia p { margin: 0; color: var(--s-texto-2); font-size: 15.5px; }
.s-doutora-moldura.com-foto img, .s-arco.com-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.s-arco.com-foto::before, .s-arco.com-foto::after { z-index: 1; }
@media (max-width: 860px) { .s-tecnologia { grid-template-columns: 1fr; gap: 0; } .s-tecnologia article { padding: 28px 0 32px; } }
