/* Fichas de servicios: misma identidad clara de la portada SmartTech. */
:root { --ink:#fcfbf7; --panel:#fff; --muted:#506057; --red:#176744; --gold:#713c51; --line:#d9e3da; color-scheme:light; }
* { box-sizing:border-box; }
button,input,select,textarea { font:inherit; }
.nav > * { min-width:0; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fcfbf7; color:#23362d; font-family:Inter,Arial,sans-serif; overflow-x:clip; }
.shell { max-width:76rem; width:100%; margin-inline:auto; padding-inline:clamp(1rem,3vw,1.7rem); }
header.nav { background:#203d33; color:#fff; min-height:4.8rem; border:0; }
header.nav .brand,header.nav .brand small,header.nav .back { color:#fff; }
header.nav .brand { line-height:1.05; }
header.nav .back { text-decoration:underline; text-underline-offset:.25rem; }
.hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(1.5rem,4vw,4rem); padding-block:clamp(3rem,6vw,5.5rem); }
.hero > * { min-width:0; }
.hero h1,.section h2,.contact h2,.card h3 { font-family:'Space Grotesk',Inter,Arial,sans-serif; font-weight:700; letter-spacing:-.04em; text-transform:none; color:#23362d; }
.hero h1 { font-size:clamp(2.4rem,5.3vw,4.7rem); line-height:1.07; max-width:16ch; }
.hero p,.card p,.faq p,.section p { color:#506057; line-height:1.7; }
.eyebrow { color:#176744; }
.hero img { width:100%; height:auto; min-height:0; max-height:31rem; aspect-ratio:4/3; object-fit:cover; border:1px solid #d9e3da; border-radius:1rem; box-shadow:none; }
.button { background:#176744; color:#fff; border:1px solid #176744; border-radius:.6rem; box-shadow:none; min-height:2.9rem; text-align:center; }
.button:hover { background:#105637; color:#fff; }
.section { border-color:#d9e3da; padding-block:clamp(3rem,5vw,4.5rem); }
.grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.card,.faq details { min-width:0; background:#fff; color:#23362d; border:1px solid #d9e3da; box-shadow:0 8px 28px rgba(27,53,37,.04); }
.card h3 { line-height:1.15; }
.faq summary { color:#23362d; }
.contact { background:#edf3e9; color:#23362d; }
.contact h2 { font-size:clamp(2.3rem,5vw,4rem); }
.contact p { color:#415448; }
.footer { color:#506057; background:#fcfbf7; }
a:focus-visible,summary:focus-visible { outline:3px solid #176744; outline-offset:3px; }
@media(max-width:900px) {
  .hero { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
  .hero img { max-height:none; aspect-ratio:16/10; }
  .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .nav { flex-wrap:wrap; gap:.5rem; }
  .hero { padding-block:2.7rem; }
  .hero h1 { font-size:clamp(2.2rem,9vw,3.4rem); }
  .hero img { aspect-ratio:4/3; }
  .grid { grid-template-columns:minmax(0,1fr); }
  .button { display:block; width:100%; padding:.8rem 1rem; }
  .contact { padding-block:3rem; }
  .nav .back { display:inline-flex; align-items:center; min-height:2.75rem; }
}
@media(max-width:380px) {
  header.nav .brand { font-size:1rem; }
  header.nav .back { font-size:.8rem; }
}
