/* DENDRA V10 / MONTE Y TERRITORIO — capa de identidad visual.
   Verde forestal vivo de inspiración monte/oliva, tinta grafito y tierra; retícula, trazos y fichas.
   No cambia la estructura, el contenido, el SEO ni el comportamiento. */
:root {
  --green: #55752B;
  --green-2: #6B8D37;
  --green-3: #75854B;
  --graphite: #293027;
  --graphite-2: #293125;
  --soft: #F5F6F0;
  --soft-2: #E9EEDF;
  --line: #C9D1BE;
  --white: #FEFEFA;
  --radius: 0px;
  --radius-lg: 0px;
  --shadow: none;
  --shadow-soft: none;
  --dendra-earth: #B16F44;
  --dendra-ink: #354329;
  --dendra-muted: #68715C;
  --dendra-graph: rgba(96,119,55,.085);
}
html { scroll-padding-top: 120px; }
body {
  font-family: 'Segoe UI', Arial, system-ui, sans-serif;
  background: #FEFEFA;
  color: var(--graphite);
}
::selection { background: #E0E9CF; color: #273522; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid var(--dendra-earth);
  outline-offset: 3px;
}
.container { width: min(calc(100% - 52px), var(--max)); }

/* 1. CABECERA: barra institucional, no app. */
.topbar {
  background: rgba(252,253,249,.985);
  border-bottom: 3px solid var(--green);
  backdrop-filter: none;
  box-shadow: none;
}
.topbar::after {
  content: ''; position:absolute; height:3px; width:11%; left:0; bottom:-3px;
  background: var(--dendra-earth);
}
.nav { padding: 9px 0; }
.nav-links { gap: 22px; font-size: .9rem; font-weight:650; }
.nav-links a { color: var(--graphite-2); }
.nav-links a:hover { color: var(--dendra-earth); }
.nav-cta, .btn, .mini-links a, .services-dropdown > summary {
  border-radius: 0 !important;
  box-shadow: none !important;
}
.nav-cta {
  background: var(--green);
  border-left: 4px solid var(--dendra-earth);
  padding: 10px 15px;
  letter-spacing: .025em;
}
.services-dropdown > summary { border: 0; border-bottom: 1px solid var(--green) !important; background: none; padding: 9px 2px; }
.services-dropdown-panel {
  border-radius: 0; border: 1px solid var(--line); border-top: 4px solid var(--green);
  background: #FEFEFA; box-shadow: 5px 12px 0 rgba(56,75,34,.13);
}
.nav-links .services-dropdown-panel a { border-radius:0; border-bottom:1px solid #E6EBCF; }
.nav-links .services-dropdown-panel a:hover { background:#EAF0DF; }

/* 2. PORTADA: retícula y composición de documento, sin superficies desenfocadas. */
.hero {
  padding: 45px 0 44px;
  background: #F2F4E9;
  border-bottom: 2px solid var(--green);
}
.hero::before {
  background:
    linear-gradient(90deg, transparent calc(100% - 1px), var(--dendra-graph) calc(100% - 1px)),
    linear-gradient(0deg, transparent calc(100% - 1px), var(--dendra-graph) calc(100% - 1px));
  background-size: 56px 56px;
  opacity:.62;
}
.hero-grid { align-items: start; gap: clamp(24px,4vw,58px); grid-template-columns: 1.03fr .97fr; }
.dendra-home .hero-grid > div:first-child { padding-top: 8px; border-top: 5px solid var(--green); }
.eyebrow {
  display:inline-block; background:transparent; border:none; border-bottom: 2px solid var(--dendra-earth);
  padding: 0 0 6px; border-radius:0; color:var(--dendra-ink);
  letter-spacing:.18em; font-size:.69rem;
}
h1 { color:#2B3327; font-family:'Arial Narrow','Segoe UI',Arial,sans-serif; font-weight:850; letter-spacing:-.055em; }
.hero h1 { max-width: 15ch; }
.hero p.lead { color:#454D3B; text-align: left; line-height:1.67; }
.btn {
  font-size:.91rem; padding:13px 17px;
  transition:background .16s,color .16s,border-color .16s;
  transform:none !important;
}
.btn-primary { background:var(--green); border:1px solid var(--green); color:#fff; }
.btn-primary::after { content:' ↗'; margin-left:6px; font-weight:850; }
.btn-secondary { background:transparent; border:1px solid var(--green); color:var(--green); }
.btn-secondary:hover { background:#E2EBCF; }
.hero-featured-links {
  display: block;
  margin-top:27px; padding: 0;
  border-top:3px solid var(--green);
  background:rgba(253,253,250,.76);
  font-size:.84rem;
}
.hero-featured-links span {
  display:block; padding:10px 0 6px; margin:0 12px 0;
  color:var(--dendra-ink); font-family:Consolas,'Courier New',monospace;
  font-weight:800; letter-spacing:.10em; text-transform:uppercase; font-size:.72rem;
}
.hero-featured-links a {
  display:inline-block; margin:0 0 0 12px; padding:5px 0;
  color:#47682B; text-decoration:none;
  border-bottom:1px solid #B1C09C;
  line-height:1.3;
}
.hero-featured-links a:hover { color:var(--dendra-earth); border-color:var(--dendra-earth); }
.hero-featured-links a:not(:first-of-type)::before { content:none; }
.hero-featured-links a::after { content: ' ↗'; font-size:.78em; color:var(--dendra-earth); }
.hero-points {
  gap:0; padding:0; margin-top:24px;
  border:1px solid var(--line); background:#FAFBF6;
}
.hero-point {
  border:0; border-right:1px solid var(--line); border-radius:0;
  background:transparent; padding:13px 13px; box-shadow:none;
}
.hero-point:last-child { border-right:0; }
.hero-point strong { color:var(--dendra-ink); font-size:.88rem; }
.hero-point span { color:var(--dendra-muted); font-size:.84rem; }
.hero-media {
  border:0; border-radius:0; box-shadow:none;
  min-height:600px;
  outline:1px solid #a5afa5; outline-offset:7px;
  background:#CED6BE;
}
.hero-media::after { background:linear-gradient(180deg,transparent 60%,rgba(21,29,14,.42)); }
.hero-visual { padding:10px 10px 0 0; }
.hero-visual::before, .hero-visual::after {
  content:'';position:absolute; z-index:5; width:24px;height:24px;pointer-events:none;
}
.hero-visual::before { top:-5px;left:-5px;border-top:2px solid var(--dendra-earth);border-left:2px solid var(--dendra-earth); }
.hero-visual::after { bottom:-5px;right:0;border-bottom:2px solid var(--dendra-earth);border-right:2px solid var(--dendra-earth); }
.hero-overlay-card {
  background:#343A2D; color:#F8F7ED; border:0; border-left:4px solid var(--dendra-earth);
  border-radius:0; padding:17px 19px; box-shadow:none; backdrop-filter:none;
  left:0; right:36px; bottom:24px;
}
.hero-overlay-card p { color:#F0DCB9; letter-spacing:.14em; font-size:.73rem; }
.hero-overlay-card ul { color:#F2F3E7; }
.hero-badge {
  background:#F3F3E6; color:var(--dendra-ink); top:19px;right:18px;
  font-family:Consolas,'Courier New',monospace; font-size:.68rem;
  letter-spacing:.045em; font-weight:800; border-radius:0; backdrop-filter:none;
  border-left:3px solid var(--dendra-earth);
}

/* 3. SECCIONES: cuerpo de memoria técnica, paneles sin pastillas. */
.section { padding: 77px 0; border-top:1px solid #D4DBC9; }
.section-alt { background:#EFF2E6; border-top:1px solid #D4DCC4; border-bottom:1px solid #D4DCC4; }
.dendra-home main { counter-reset:dendra-area; }
.dendra-home main > section[id]:not(#faq):not(#contacto) { counter-increment:dendra-area; }
.dendra-home main > section[id]:not(#faq):not(#contacto) .section-head::before {
  content:'ÁREA TÉCNICA   /   ' counter(dendra-area,decimal-leading-zero) ' — 12';
  display:block; width:fit-content; padding-bottom:9px; margin-bottom:22px;
  border-bottom:3px solid var(--dendra-earth);
  color:var(--dendra-ink); font:700 .74rem/1.45 Consolas,'Courier New',monospace;
  letter-spacing:.11em;
}
.section-head h2 {
  color:var(--dendra-ink); letter-spacing:-.038em;
  font-family:'Arial Narrow','Segoe UI',Arial,sans-serif;
  font-weight:800;
}
.section-head p { color:#515C49; line-height:1.75; text-align:left; }
.section-split { gap:42px; }
.section-split > .section-head { border-left:1px solid #B8C9A3; padding-left:22px; }
.visual-card {
  border:0; border-radius:0; border-bottom:5px solid var(--green);
  box-shadow:none; background:transparent;
}
.visual-card img { border-radius:0; filter:saturate(.86) contrast(1.05); }
.card, .note-card, .process-item, .service-pill, .faq-item, .contact-card, .secondary-banner {
  border-radius:0; box-shadow:none; background:#FDFDF8;
  border:1px solid var(--line);
}
.card { border-left:3px solid var(--green); padding:23px; }
.card-index { border-radius:0; color:var(--green); background:transparent;
  border-bottom:2px solid var(--dendra-earth); font-family:Consolas,'Courier New',monospace; }
.card h3, .note-card h3 { color:var(--dendra-ink); }
.note-card { background:#EFF2E6; border-left:4px solid var(--green); }
.process-band { gap:0; border:1px solid var(--line); }
.process-item { border:0; border-right:1px solid var(--line); padding:21px 18px; }
.process-item:last-child { border-right:0; }
.process-item span { color:var(--dendra-earth); font-family:Consolas,'Courier New',monospace; }
.tag { background:transparent; border:1px solid #AEBEA0; border-radius:0;
  color:var(--dendra-ink); padding:7px 10px; font-size:.79rem; letter-spacing:.03em; }
.secondary-banner { border-left:4px solid var(--green); }
.mini-links { gap:0; margin-top:23px; border-top:1px solid #BCCBAF; }
.mini-links a {
  border:0; border-bottom:1px solid #BCCBAF; padding:13px 15px 13px 0;
  background:transparent; color:var(--green); font-weight:750;
  text-underline-offset:4px; text-decoration:none;
}
.mini-links a:hover { color:var(--dendra-earth); }
.faq-list { gap:0; border-top:2px solid var(--green); }
.faq-item { border:0; border-bottom:1px solid var(--line); }
.faq-item summary { color:var(--dendra-ink); }
.faq-item summary::after { background:transparent; border:1px solid var(--green);
  color:var(--green); border-radius:0; }
.service-detail-list li { border-radius:0; background:#EFF2E6; border-left:3px solid var(--green); }
.service-detail-list strong { color:var(--dendra-ink); }
.dendra-detalle main > section.service-detail-page h1,
.dendra-arbolado .hero h1 { border-left:5px solid var(--dendra-earth); padding-left:20px; max-width:none; }

/* 4. PIE Y CONTACTO: contraste institucional, no tarjeta flotante. */
.contact { background:#30352B; color:#f7f7f1; }
.contact .eyebrow { border-bottom-color:#C68A61; background:none; }
.contact-card { padding:27px; border-top:5px solid var(--dendra-earth); }
.contact-label { color:var(--dendra-ink); }
.footer { background:#FEFEFA; border-top:3px solid var(--green);
  color:#667557; }

@media (max-width:1080px) {
  .hero-grid { grid-template-columns:1fr; }
  .hero-visual { max-width:760px; margin:14px auto 0; width:100%; }
  .hero-media { min-height:490px; }
  .hero-points { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .container { width:min(calc(100% - 36px),var(--max)); }
  .topbar::after { width:20%; }
  .hero { padding:28px 0 36px; }
  .hero-media { min-height:400px; outline-offset:4px; }
  .hero-visual { padding-right:4px; }
  .hero-overlay-card { right:15px; bottom:16px; padding:12px 14px; }
  .hero-badge { top:10px;right:10px; }
  .hero-featured-links { margin-top:22px; }
  .hero-featured-links a { padding:5px 0; }
  .hero-points { grid-template-columns:1fr; }
  .hero-point { border-right:0; border-bottom:1px solid var(--line); }
  .hero-point:last-child { border-bottom:0; }
  .section { padding:51px 0; }
  .section-split > .section-head { padding-left:16px; }
  .process-band { grid-template-columns:1fr; }
  .process-item { border-right:0; border-bottom:1px solid var(--line); }
  .process-item:last-child { border-bottom:0; }
  .dendra-detalle main > section.service-detail-page h1,
  .dendra-arbolado .hero h1 { border-left-width:3px; padding-left:12px; }
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto;}
}

/* V10 · acentos verdes forestales e identidad más viva */
.topbar { border-bottom-color:#648536; }
.topbar::after { background:#B16F44; }
.dendra-home .hero-grid > div:first-child { border-top-color:#648536; }
.hero-featured-links { border-top-color:#648536; }
.hero-featured-links span { color:#40572C; }
.hero-featured-links a { color:#405F29; }
.hero-featured-links a:hover { color:#A45934; }
.dendra-home main > section[id]:not(#faq):not(#contacto) .section-head::before { color:#587B31; }
.section-head h2 { color:#33402D; }
.hero-overlay-card { background:#33392C; }
.hero-badge { border-left-color:#7B9B43; }
.contact { background:#30352B; }
.nav-cta:hover, .btn-primary:hover { background:#48682A; border-color:#48682A; }
