/*
Theme Name: RDuende 1.3.0
Description: Tema personalizado para RDuende.com
Author: RDuende
Version: 3.0.5
*/

:root {
	--rduende-primary: #d9642c;
	--rduende-bg: #f7f1e0;
	--rduende-card-bg: #fffdf7;
	--rduende-border: #e6dbc0;
	--rduende-text: #2c3e50;
	--rduende-text-muted: #6b6a5e;
	--accent-blue: #2f5fa8;
	--accent-green: #4a9b6e;
	--accent-orange: #e8823c;
	--accent-red: #d64545;
	--accent-purple: #8a6fa8;
	--rduende-band: #2c5f8a;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	overflow-x: hidden;
}

body {
	margin: 0;
	overflow-x: hidden;
	font-family: system-ui, sans-serif;
	color: var(--rduende-text);
	background: var(--rduende-bg);
	line-height: 1.6;
}

a {
	color: var(--rduende-primary);
}

.button {
	display: inline-block;
	padding: 0.6rem 1.4rem;
	background: var(--rduende-primary);
	color: #fff;
	border-radius: 4px;
	text-decoration: none;
	font-weight: bold;
}

.button:hover {
	opacity: 0.9;
}

.button--ghost {
	background: transparent;
	border: 2px solid var(--rduende-primary);
	color: var(--rduende-primary);
}

.button--ghost:hover {
	background: rgba(217, 100, 44, 0.1);
	opacity: 1;
}

.site-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 2rem;
	background: var(--rduende-bg);
	border-bottom: 1px solid var(--rduende-border);
}

.site-logo {
	display: block;
	line-height: 0;
}

.site-logo img {
	display: block;
	height: 60px;
	width: auto;
}

.site-header nav ul {
	display: flex;
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-header nav a {
	text-decoration: none;
	color: var(--rduende-text);
}

.site-header nav a:hover {
	color: var(--rduende-primary);
}

.content-wrap {
	max-width: 800px;
	margin: 0 auto;
	padding: 2rem;
}

main h1 {
	color: var(--rduende-text);
}

.content-wrap h1 {
	font-size: 2.25rem;
	margin-bottom: 0.5rem;
	padding-bottom: 0.75rem;
	border-bottom: 4px solid var(--rduende-primary);
	display: inline-block;
}

.content-wrap h2 {
	font-size: 1.4rem;
	margin: 2.5rem 0 1.25rem;
	color: var(--rduende-text);
}

.content-wrap h2::before {
	content: "";
	display: inline-block;
	width: 0.6rem;
	height: 0.6rem;
	margin-right: 0.6rem;
	border-radius: 50%;
	background: var(--accent-orange);
	vertical-align: middle;
}

.content-wrap p {
	color: var(--rduende-text-muted);
	line-height: 1.7;
}

.content-wrap a {
	text-decoration: underline;
	text-decoration-color: rgba(217, 100, 44, 0.35);
}

.content-wrap a:hover {
	text-decoration-color: var(--rduende-primary);
}

input,
textarea,
button,
.search-form input,
.wp-block-search__input,
.wp-block-search__button {
	background: #fff;
	color: var(--rduende-text);
	border: 1px solid var(--rduende-border);
	border-radius: 4px;
	font-family: inherit;
}

.search-submit,
.wp-block-search__button,
button[type="submit"] {
	background: var(--rduende-primary);
	color: #fff;
	border-color: var(--rduende-primary);
	cursor: pointer;
}

.front-page {
	max-width: 800px;
	margin: 0 auto;
	padding: 2rem;
}

.hero {
	text-align: center;
	padding: 3rem 1rem;
}

.hero--image {
	padding: 0;
	background: var(--rduende-bg);
}

.hero-image {
	display: block;
	width: 100%;
	height: auto;
}

.hero-cta-bar {
	display: flex;
	gap: 1rem;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding: 1.5rem;
	background: var(--rduende-bg);
}

.hero-contact-link {
	color: var(--rduende-text);
	text-decoration: none;
	font-weight: 600;
	opacity: 0.8;
}

.hero-contact-link:hover {
	opacity: 1;
}

.intro {
	max-width: 700px;
	margin: 0 auto;
	padding: 3rem 1.5rem 1rem;
	text-align: center;
	font-size: 1.15rem;
	color: var(--rduende-text-muted);
}

.section-title {
	text-align: center;
	font-size: 1.75rem;
	margin-bottom: 2rem;
	color: var(--rduende-text);
}

.section-link {
	display: block;
	text-align: center;
	margin-top: 1.5rem;
	font-weight: bold;
	text-decoration: none;
	color: var(--rduende-primary);
}

.services-teaser,
.clients,
.featured-project {
	max-width: 1000px;
	margin: 0 auto;
	padding: 3rem 1.5rem;
}

.services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.5rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

@media (max-width: 600px) {
	.services-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.75rem;
	}
}

.services-grid .service-card {
	background: var(--rduende-card-bg);
	border: 1px solid var(--rduende-border);
	border-radius: 12px;
	overflow: hidden;
	color: var(--rduende-text);
	box-shadow: 0 2px 6px rgba(44, 62, 80, 0.08);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.services-grid .service-card p {
	color: var(--rduende-text-muted);
	padding: 0 1.5rem 1.5rem;
}

.services-grid .service-card:nth-child(6n + 1) { border-top: 4px solid var(--accent-blue); }
.services-grid .service-card:nth-child(6n + 2) { border-top: 4px solid var(--accent-orange); }
.services-grid .service-card:nth-child(6n + 3) { border-top: 4px solid var(--accent-purple); }
.services-grid .service-card:nth-child(6n + 4) { border-top: 4px solid var(--accent-green); }
.services-grid .service-card:nth-child(6n + 5) { border-top: 4px solid var(--accent-red); }
.services-grid .service-card:nth-child(6n + 6) { border-top: 4px solid var(--accent-blue); }

.services-grid .service-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(44, 62, 80, 0.15);
}

.service-card > a {
	display: block;
}

.service-card-image {
	display: block;
	width: 100%;
	height: auto;
}

.service-page-image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
	margin-bottom: 1.5rem;
	box-shadow: 0 4px 14px rgba(44, 62, 80, 0.12);
}

.service-tech,
.service-methodology {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.service-tech li,
.service-methodology li {
	position: relative;
	margin: 0;
	padding: 0.9rem 1.1rem 0.9rem 2.75rem;
	background: var(--rduende-card-bg);
	border: 1px solid var(--rduende-border);
	border-left: 4px solid var(--accent-blue);
	border-radius: 8px;
	color: var(--rduende-text-muted);
	box-shadow: 0 2px 6px rgba(44, 62, 80, 0.06);
}

.service-tech li::before {
	content: "\2713";
	position: absolute;
	left: 1rem;
	top: 0.9rem;
	color: var(--accent-blue);
	font-weight: 700;
}

.service-methodology {
	counter-reset: step;
}

.service-methodology li {
	border-left-color: var(--accent-green);
}

.service-methodology li::before {
	counter-increment: step;
	content: counter(step);
	position: absolute;
	left: 0.85rem;
	top: 0.75rem;
	width: 1.4rem;
	height: 1.4rem;
	background: var(--accent-green);
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
	font-weight: 700;
}

.service-tech strong,
.service-methodology strong {
	color: var(--rduende-text);
}

.service-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
	margin: 1.5rem 0;
}

.service-gallery img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 2px 6px rgba(44, 62, 80, 0.08);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.service-gallery img:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 22px rgba(44, 62, 80, 0.16);
}

.service-faq details {
	background: var(--rduende-card-bg);
	border: 1px solid var(--rduende-border);
	border-radius: 8px;
	padding: 1rem 1.25rem;
	margin-bottom: 0.75rem;
}

.service-faq summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--rduende-text);
}

.service-faq p {
	margin: 0.75rem 0 0;
	color: var(--rduende-text-muted);
}

.clients-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	list-style: none;
	padding: 0;
	margin: 0;
}

.client-badge {
	background: var(--rduende-card-bg);
	border: 1px solid var(--rduende-border);
	border-radius: 999px;
	padding: 0.5rem 1.25rem;
	font-weight: 600;
	color: var(--rduende-text);
}

.featured-project-card {
	background: var(--rduende-card-bg);
	border: 1px solid var(--rduende-border);
	border-left: 4px solid var(--rduende-primary);
	border-radius: 8px;
	padding: 1.75rem;
	color: var(--rduende-text-muted);
	box-shadow: 0 2px 6px rgba(44, 62, 80, 0.08);
}

.featured-project-card h3 {
	margin-top: 0;
}

.featured-project-card h3 a {
	text-decoration: none;
	color: var(--rduende-text);
}

.promo-ads {
	max-width: 1100px;
	margin: 0 auto;
	padding: 2rem 1.5rem 0;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.promo-ads-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
}

@media (max-width: 700px) {
	.promo-ads-row {
		grid-template-columns: 1fr;
	}
}

.promo-ad img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 12px;
	box-shadow: 0 4px 14px rgba(44, 62, 80, 0.12);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.promo-ad:hover img {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(44, 62, 80, 0.18);
}

.cta-band {
	text-align: center;
	padding: 4rem 1.5rem;
	margin-top: 1rem;
	background: var(--rduende-band);
	color: #fff;
}

.cta-band h2 {
	margin: 0 0 0.5rem;
}

.cta-band p {
	margin: 0 0 1.5rem;
	opacity: 0.9;
}

footer {
	text-align: center;
	padding: 1.5rem;
	color: var(--rduende-text-muted);
	font-size: 0.875rem;
	border-top: 1px solid var(--rduende-border);
}

.contact-form-wrap {
	max-width: 640px;
	margin: 1.5rem 0 2rem;
	padding: 2rem;
	background: var(--rduende-card-bg);
	border: 1px solid var(--rduende-border);
	border-top: 4px solid var(--rduende-primary);
	border-radius: 12px;
	box-shadow: 0 4px 14px rgba(44, 62, 80, 0.08);
}

.contact-form {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.contact-form-row {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.contact-form-row--split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

.contact-form-row--split > div {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

@media (max-width: 500px) {
	.contact-form-row--split {
		grid-template-columns: 1fr;
	}
}

.contact-form label {
	font-weight: 600;
	color: var(--rduende-text);
	font-size: 0.95rem;
}

.contact-form input,
.contact-form textarea {
	padding: 0.75rem 1rem;
	font-size: 1rem;
	border: 1px solid var(--rduende-border);
	border-radius: 8px;
	background: #fff;
	color: var(--rduende-text);
	resize: vertical;
}

.contact-form input:focus,
.contact-form textarea:focus {
	outline: none;
	border-color: var(--rduende-primary);
	box-shadow: 0 0 0 3px rgba(217, 100, 44, 0.15);
}

.contact-form button[type="submit"] {
	align-self: flex-start;
	border: none;
	font-size: 1rem;
	cursor: pointer;
}

.contact-form-recaptcha-notice {
	margin: 0;
	font-size: 0.78rem;
	color: var(--rduende-text-muted);
	line-height: 1.5;
}

.contact-form-notice {
	padding: 1rem 1.25rem;
	border-radius: 8px;
	margin: 0 0 1.5rem;
	font-weight: 600;
}

.contact-form-notice--success {
	background: rgba(74, 155, 110, 0.12);
	border: 1px solid var(--accent-green);
	color: var(--accent-green);
}

.contact-form-notice--error {
	background: rgba(214, 69, 69, 0.08);
	border: 1px solid var(--accent-red);
	color: var(--accent-red);
}

.contact-form-notice--error ul {
	margin: 0;
	padding-left: 1.2rem;
	font-weight: 400;
}


:root{
  --rd-green:#4A5C3A;
  --rd-green-soft:#6B8A53;
  --rd-orange:#E67E22;
  --rd-orange-dark:#C95F0C;
  --rd-dark:#1F2937;
  --rd-text:#4B5563;
  --rd-muted:#6B7280;
  --rd-bg:#FAFAF8;
  --rd-cream:#F6F1E8;
  --rd-white:#FFFFFF;
  --rd-border:#ECEAE5;
  --rd-radius-lg:36px;
  --rd-radius-md:24px;
  --rd-radius-sm:16px;
  --rd-shadow:0 32px 90px rgba(31,41,55,.16);
  --rd-shadow-soft:0 16px 42px rgba(31,41,55,.08);
}

.rd-hero-premium{
  position:relative;
  width:100vw;
  left:50%;
  right:50%;
  margin-left:-50vw;
  margin-right:-50vw;
  overflow:hidden;
  isolation:isolate;
  min-height:calc(100vh - 90px);
  padding:clamp(70px,8vw,120px) clamp(16px,4vw,36px) clamp(52px,7vw,95px);
  background:
    radial-gradient(circle at 12% 18%, rgba(230,126,34,.14), transparent 26%),
    radial-gradient(circle at 82% 12%, rgba(74,92,58,.14), transparent 28%),
    linear-gradient(135deg,var(--rd-bg) 0%,var(--rd-cream) 100%);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.rd-hero-premium::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(74,92,58,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74,92,58,.035) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.48),transparent 78%);
  pointer-events:none;
  z-index:-2;
}

.rd-hero-premium::after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-180px;
  bottom:-180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(230,126,34,.16),transparent 70%);
  filter:blur(20px);
  z-index:-1;
}

.rd-stars span{
  position:absolute;
  z-index:1;
  color:var(--rd-orange);
  opacity:.75;
  animation:rdFloat 7s ease-in-out infinite;
}

.rd-stars span::before{
  content:"✦";
  font-size:clamp(16px,2vw,26px);
}

.rd-stars span:nth-child(1){left:8%;top:18%;}
.rd-stars span:nth-child(2){left:42%;top:12%;animation-delay:1s;}
.rd-stars span:nth-child(3){left:88%;top:22%;animation-delay:2s;}
.rd-stars span:nth-child(4){left:76%;top:78%;animation-delay:3s;}

.rd-hero-inner{
  position:relative;
  z-index:2;
  max-width:1380px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:center;
  gap:clamp(42px,6vw,78px);
}

.rd-hero-copy{
  max-width:720px;
}

.rd-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  margin-bottom:26px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:var(--rd-green);
  font-size:14px;
  font-weight:850;
  letter-spacing:.02em;
  box-shadow:var(--rd-shadow-soft);
}

.rd-kicker::before{
  content:"✦";
  color:var(--rd-orange);
}

.rd-hero-copy h1{
  display:block;
  margin:0;
  font-family:Manrope,Inter,system-ui,sans-serif;
  font-size:clamp(48px,7vw,104px);
  line-height:.9;
  letter-spacing:-.065em;
  color:var(--rd-dark);
}

.rd-hero-copy h1 em{
  font-style:normal;
  color:var(--rd-orange);
}

.rd-lead{
  margin:clamp(22px,3vw,30px) 0 0;
  max-width:660px;
  font-size:clamp(22px,2.35vw,34px);
  line-height:1.22;
  color:var(--rd-green);
  font-weight:850;
  letter-spacing:-.025em;
}

.rd-text{
  margin:20px 0 0;
  max-width:620px;
  color:var(--rd-text);
  font-size:clamp(16px,1.35vw,18px);
  line-height:1.8;
}

.rd-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:36px;
}

.rd-actions a{
  min-height:58px;
  padding:0 30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  font-weight:850;
  text-decoration:none;
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease, color .28s ease;
}

.rd-btn-main{
  background:linear-gradient(135deg,var(--rd-orange),var(--rd-orange-dark));
  color:#fff;
  box-shadow:0 18px 36px rgba(230,126,34,.32);
}

.rd-btn-main::before{
  content:"✈";
  margin-right:10px;
}

.rd-btn-ghost{
  background:rgba(255,255,255,.72);
  color:var(--rd-green);
  border:1px solid rgba(74,92,58,.24);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.rd-btn-ghost::before{
  content:"○";
  margin-right:10px;
}

.rd-actions a:hover{
  transform:translateY(-3px);
}

.rd-btn-main:hover{
  box-shadow:0 24px 46px rgba(230,126,34,.38);
}

.rd-btn-ghost:hover{
  background:var(--rd-green);
  color:#fff;
}

.rd-mini-grid{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.rd-mini-grid div{
  min-height:104px;
  padding:20px 16px;
  border-radius:24px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:var(--rd-shadow-soft);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.rd-mini-grid div::before{
  content:"✓";
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  margin-bottom:12px;
  border-radius:50%;
  background:rgba(230,126,34,.12);
  color:var(--rd-orange);
  font-weight:900;
}

.rd-mini-grid strong{
  display:block;
  color:var(--rd-dark);
  font-weight:900;
}

.rd-mini-grid span{
  display:block;
  margin-top:2px;
  color:var(--rd-muted);
  font-weight:650;
}

.rd-hero-art{
  position:relative;
  min-width:0;
}

.rd-glow{
  position:absolute;
  width:64%;
  aspect-ratio:1;
  right:6%;
  top:2%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(230,126,34,.24),transparent 66%);
  filter:blur(24px);
  animation:rdPulse 6s ease-in-out infinite;
}

.rd-image-frame{
  position:relative;
  z-index:2;
  border-radius:38px;
  padding:12px;
  background:rgba(255,255,255,.72);
  box-shadow:var(--rd-shadow);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transform:rotate(1.2deg);
}

.rd-image-frame img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:contain;
  border-radius:28px;
}

.rd-badge{
  position:absolute;
  z-index:3;
  left:-26px;
  bottom:58px;
  max-width:230px;
  padding:22px 24px;
  border-radius:26px;
  background:rgba(255,255,255,.86);
  box-shadow:0 24px 60px rgba(31,41,55,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.rd-badge strong{
  display:block;
  font-size:44px;
  line-height:.9;
  color:var(--rd-orange);
  font-weight:950;
}

.rd-badge span{
  display:block;
  margin-top:8px;
  color:var(--rd-green);
  font-weight:800;
  line-height:1.25;
}

@keyframes rdFloat{
  0%,100%{
    transform:translateY(0) rotate(0deg);
  }
  50%{
    transform:translateY(-18px) rotate(10deg);
  }
}

@keyframes rdPulse{
  0%,100%{
    transform:scale(1);
    opacity:.75;
  }
  50%{
    transform:scale(1.08);
    opacity:1;
  }
}

@media(max-width:1180px){
  .rd-mini-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .rd-hero-premium{
    min-height:auto;
    padding:58px 16px 46px;
  }

  .rd-stars span:nth-child(3),
  .rd-stars span:nth-child(4){
    display:none;
  }

  .rd-kicker{
    margin-bottom:20px;
  }

  .rd-hero-copy h1{
    font-size:clamp(42px,13vw,58px);
    line-height:.94;
  }

  .rd-lead{
    font-size:22px;
  }

  .rd-text{
    font-size:16px;
    line-height:1.65;
  }

  .rd-mini-grid{
    grid-template-columns:1fr;
  }

  .rd-mini-grid div{
    min-height:auto;
    display:flex;
    align-items:center;
    gap:12px;
  }

  .rd-mini-grid div::before{
    margin-bottom:0;
    flex:0 0 30px;
  }

  .rd-image-frame{
    transform:none;
    border-radius:26px;
    padding:8px;
  }

  .rd-image-frame img{
    aspect-ratio:auto;
    width:100%;
    height:auto;
    object-fit:contain;
    border-radius:20px;
  }

  .rd-badge{
    position:relative;
    left:auto;
    bottom:auto;
    max-width:none;
    margin-top:18px;
  }
}

@media(max-width:420px){
  .rd-hero-premium{
    padding-left:14px;
    padding-right:14px;
  }

  .rd-actions a{
    min-height:54px;
    padding:0 8px;
    font-size:12px;
    text-align:center;
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  .rd-actions a::before{
    margin-right:4px;
  }

  .rd-badge strong{
    font-size:36px;
  }
}

/* ==========================================================
   Página de servicio · Impresión de gran formato · v0.3.0
   ========================================================== */
.rd-service-page{--rd-green:#4a5c3a;--rd-green-2:#667951;--rd-orange:#df6f28;--rd-orange-dark:#bd5012;--rd-ink:#28313b;--rd-copy:#5f6670;--rd-cream:#f7f1e6;--rd-paper:#fffdf8;--rd-line:rgba(74,92,58,.14);background:var(--rd-paper);color:var(--rd-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.rd-service-page *{box-sizing:border-box}.rd-service-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.rd-service-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(54px,7vw,104px) 20px clamp(66px,8vw,112px);background:radial-gradient(circle at 10% 10%,rgba(223,111,40,.16),transparent 28%),radial-gradient(circle at 88% 16%,rgba(74,92,58,.15),transparent 30%),linear-gradient(135deg,#fbfaf6,#f3ecdf)}.rd-service-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(74,92,58,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(74,92,58,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 90%);z-index:-1}.rd-service-hero__inner{width:min(1320px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,.96fr) minmax(420px,1.04fr);align-items:center;gap:clamp(42px,6vw,86px)}.rd-service-kicker,.rd-service-overline{margin:0 0 16px;color:var(--rd-orange);font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.rd-service-kicker{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 14px 34px rgba(40,49,59,.08);letter-spacing:.06em}.rd-service-kicker:before{content:"✦"}.rd-service-hero h1{max-width:700px;margin:0;font-family:Manrope,Inter,sans-serif;font-size:clamp(3.2rem,6.4vw,6.3rem);line-height:.91;letter-spacing:-.065em;color:var(--rd-ink)}.rd-service-hero h1 span{display:block;color:var(--rd-orange)}.rd-service-hero__lead{max-width:650px;margin:28px 0 0;color:var(--rd-green);font-size:clamp(1.45rem,2.1vw,2rem);line-height:1.2;font-weight:850;letter-spacing:-.025em}.rd-service-hero__text{max-width:640px;margin:18px 0 0;color:var(--rd-copy);font-size:clamp(1rem,1.3vw,1.14rem);line-height:1.75}.rd-service-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.rd-service-button{display:inline-flex;min-height:56px;align-items:center;justify-content:center;padding:0 28px;border-radius:17px;text-decoration:none!important;font-weight:850;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease}.rd-service-button:hover{transform:translateY(-3px)}.rd-service-button--primary{background:linear-gradient(135deg,var(--rd-orange),var(--rd-orange-dark));color:#fff!important;box-shadow:0 16px 34px rgba(223,111,40,.3)}.rd-service-button--secondary{border:1px solid rgba(74,92,58,.25);background:rgba(255,255,255,.74);color:var(--rd-green)!important;box-shadow:0 12px 30px rgba(40,49,59,.06)}.rd-service-button--secondary:hover{background:var(--rd-green);color:#fff!important}.rd-service-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:38px}.rd-service-benefits article{position:relative;display:flex;align-items:center;gap:14px;min-height:86px;padding:16px 18px;border:1px solid rgba(255,255,255,.9);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 14px 36px rgba(40,49,59,.07);backdrop-filter:blur(12px);transition:transform .25s ease,box-shadow .25s ease}.rd-service-benefits article:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(40,49,59,.12)}.rd-service-benefits__icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:rgba(223,111,40,.12);color:var(--rd-orange);font-size:.76rem;font-weight:900}.rd-service-benefits strong{display:block;color:var(--rd-ink);font-size:.98rem;line-height:1.2}.rd-service-benefits small{display:block;margin-top:4px;color:#7a7f84;font-size:.79rem;line-height:1.25}.rd-service-hero__visual{position:relative;min-width:0}.rd-service-visual-glow{position:absolute;inset:6% 5% 8%;border-radius:50%;background:radial-gradient(circle,rgba(223,111,40,.3),transparent 65%);filter:blur(25px);animation:rdServicePulse 6s ease-in-out infinite}.rd-service-image-frame{position:relative;z-index:2;padding:10px;border-radius:36px;background:rgba(255,255,255,.64);box-shadow:0 34px 84px rgba(40,49,59,.17);backdrop-filter:blur(14px);transform:rotate(1deg)}.rd-service-image-frame img{display:block;width:100%;height:auto;border-radius:27px}.rd-service-experience{position:absolute;z-index:3;left:-24px;bottom:36px;width:min(220px,48%);padding:19px 21px;border-radius:23px;background:rgba(255,255,255,.88);box-shadow:0 24px 54px rgba(40,49,59,.17);backdrop-filter:blur(13px)}.rd-service-experience strong{display:block;color:var(--rd-orange);font-size:2.7rem;line-height:.9}.rd-service-experience span{display:block;margin-top:8px;color:var(--rd-green);font-size:.9rem;font-weight:800;line-height:1.25}.rd-service-stars span{position:absolute;color:var(--rd-orange);opacity:.65;animation:rdServiceFloat 7s ease-in-out infinite}.rd-service-stars span:before{content:"✦"}.rd-service-stars span:nth-child(1){left:6%;top:16%}.rd-service-stars span:nth-child(2){left:47%;top:9%;animation-delay:1.2s}.rd-service-stars span:nth-child(3){right:7%;top:20%;animation-delay:2.2s}.rd-service-stars span:nth-child(4){right:14%;bottom:12%;animation-delay:3.2s}.rd-service-section{padding:clamp(72px,9vw,120px) 0}.rd-service-section--tech{background:var(--rd-paper)}.rd-service-section--process{background:linear-gradient(180deg,#f6f1e7,#faf8f2)}.rd-service-section--gallery{background:#fff}.rd-service-section--faq{background:var(--rd-cream)}.rd-service-section__header{max-width:760px;margin-bottom:44px}.rd-service-section__header--center{margin-inline:auto;text-align:center}.rd-service-section__header h2,.rd-service-cta h2{margin:0;color:var(--rd-ink);font-family:Manrope,Inter,sans-serif;font-size:clamp(2.15rem,4vw,3.9rem);line-height:1.02;letter-spacing:-.045em}.rd-service-section__header>p:last-child{max-width:700px;margin:18px 0 0;color:var(--rd-copy);font-size:1.08rem;line-height:1.7}.rd-tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.rd-tech-card{position:relative;display:grid;grid-template-columns:64px 1fr;min-height:250px;overflow:hidden;border:1px solid var(--rd-line);border-radius:26px;background:#fff;box-shadow:0 14px 38px rgba(40,49,59,.065);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.rd-tech-card:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(var(--rd-green),var(--rd-orange))}.rd-tech-card:hover{transform:translateY(-6px);border-color:rgba(223,111,40,.25);box-shadow:0 25px 54px rgba(40,49,59,.12)}.rd-tech-card__number{display:grid;place-items:center;align-self:start;width:42px;height:42px;margin:24px 0 0 16px;border-radius:14px;background:var(--rd-green);color:#fff;font-size:.78rem;font-weight:900}.rd-tech-card__body{padding:25px 28px 26px 10px}.rd-tech-card h3{margin:0;color:var(--rd-ink);font-size:1.35rem;line-height:1.2}.rd-tech-card p{margin:12px 0 16px;color:var(--rd-copy);line-height:1.65}.rd-tech-card ul{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.rd-tech-card li{padding:6px 10px;border-radius:999px;background:#f5f2ea;color:var(--rd-green);font-size:.76rem;font-weight:750}.rd-tech-card--highlight{background:linear-gradient(135deg,var(--rd-green),#34442a)}.rd-tech-card--highlight:before{background:var(--rd-orange)}.rd-tech-card--highlight .rd-tech-card__number{background:var(--rd-orange)}.rd-tech-card--highlight h3,.rd-tech-card--highlight p{color:#fff}.rd-tech-card--highlight p{opacity:.8}.rd-tech-card--highlight a{display:inline-flex;margin-top:14px;color:#fff;text-decoration:none;font-weight:850}.rd-tech-card--highlight a span{margin-left:8px;color:#ffc49e}.rd-process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:48px 0 0;padding:0;list-style:none}.rd-process-grid li{position:relative;padding:24px 19px 25px;border:1px solid rgba(74,92,58,.11);border-radius:23px;background:rgba(255,255,255,.7);box-shadow:0 13px 32px rgba(40,49,59,.055)}.rd-process-grid li:not(:last-child):after{content:"→";position:absolute;right:-13px;top:34px;z-index:2;color:var(--rd-orange);font-weight:900}.rd-process-grid span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(223,111,40,.13);color:var(--rd-orange);font-weight:900}.rd-process-grid h3{margin:18px 0 8px;color:var(--rd-ink);font-size:1.05rem;line-height:1.25}.rd-process-grid p{margin:0;color:var(--rd-copy);font-size:.89rem;line-height:1.55}.rd-project-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:18px}.rd-project-grid figure{position:relative;min-height:390px;margin:0;overflow:hidden;border-radius:28px;background:#eee;box-shadow:0 18px 46px rgba(40,49,59,.1)}.rd-project-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.rd-project-grid figure:hover img{transform:scale(1.045)}.rd-project-grid figcaption{position:absolute;inset:auto 0 0;padding:70px 24px 22px;background:linear-gradient(transparent,rgba(24,30,35,.82));color:#fff}.rd-project-grid figcaption strong,.rd-project-grid figcaption span{display:block}.rd-project-grid figcaption strong{font-size:1.2rem}.rd-project-grid figcaption span{margin-top:4px;font-size:.88rem;opacity:.78}.rd-service-faq-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(40px,7vw,90px);align-items:start}.rd-service-faq details{margin-bottom:12px;border:1px solid rgba(74,92,58,.12);border-radius:18px;background:rgba(255,255,255,.77);box-shadow:0 10px 28px rgba(40,49,59,.045)}.rd-service-faq summary{position:relative;padding:20px 54px 20px 21px;cursor:pointer;color:var(--rd-ink);font-weight:820;list-style:none}.rd-service-faq summary::-webkit-details-marker{display:none}.rd-service-faq summary:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(223,111,40,.12);color:var(--rd-orange);font-size:1.15rem}.rd-service-faq details[open] summary:after{content:"−"}.rd-service-faq details p{margin:0;padding:0 21px 21px;color:var(--rd-copy);line-height:1.65}.rd-service-cta{padding:22px 20px 90px;background:var(--rd-cream)}.rd-service-cta__inner{width:min(1180px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(34px,5vw,64px);overflow:hidden;border-radius:34px;background:radial-gradient(circle at 85% 20%,rgba(223,111,40,.3),transparent 26%),linear-gradient(135deg,var(--rd-green),#2e3e26);box-shadow:0 28px 70px rgba(40,49,59,.18)}.rd-service-cta h2{max-width:780px;color:#fff}.rd-service-cta .rd-service-overline{color:#ffc49e}@keyframes rdServiceFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(10deg)}}@keyframes rdServicePulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.08);opacity:1}}@media (max-width:1100px){.rd-service-hero__inner{grid-template-columns:1fr;max-width:860px}.rd-service-hero__visual{max-width:760px;margin-inline:auto}.rd-process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rd-process-grid li:not(:last-child):after{display:none}.rd-project-grid{grid-template-columns:1fr 1fr}.rd-project-grid figure:first-child{grid-column:1/-1;min-height:440px}}@media (max-width:760px){.rd-service-container{width:min(100% - 28px,1180px)}.rd-service-hero{padding:45px 14px 64px}.rd-service-hero__inner{gap:38px}.rd-service-hero h1{font-size:clamp(2.8rem,15vw,4.35rem)}.rd-service-actions{display:grid;grid-template-columns:1fr}.rd-service-button{width:100%;padding-inline:18px}.rd-service-benefits{grid-template-columns:1fr}.rd-service-benefits article{min-height:76px}.rd-service-image-frame{padding:7px;border-radius:25px;transform:none}.rd-service-image-frame img{border-radius:19px}.rd-service-experience{position:relative;left:auto;bottom:auto;width:100%;margin-top:14px}.rd-tech-grid{grid-template-columns:1fr}.rd-tech-card{grid-template-columns:56px 1fr;min-height:0}.rd-tech-card__number{margin-left:12px}.rd-tech-card__body{padding-right:20px}.rd-process-grid{grid-template-columns:1fr}.rd-project-grid{grid-template-columns:1fr}.rd-project-grid figure,.rd-project-grid figure:first-child{grid-column:auto;min-height:330px}.rd-service-faq-layout{grid-template-columns:1fr}.rd-service-cta__inner{display:grid;padding:34px 24px}.rd-service-stars span:nth-child(3),.rd-service-stars span:nth-child(4){display:none}}@media (prefers-reduced-motion:reduce){.rd-service-page *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* Home hero 0.4.0 ------------------------------------------------ */
.rd-home-hero{
  padding-top:clamp(62px,8vw,112px);
}
.rd-home-hero .rd-service-hero__inner{
  width:min(1380px,calc(100% - 48px));
}
.rd-home-hero .rd-service-lead{
  max-width:700px;
}
.rd-home-image-frame img{
  aspect-ratio:16/10;
  object-fit:cover;
}
.rd-home-contact-card{
  width:auto;
  min-width:230px;
}
.rd-home-contact-card strong{
  font-size:1.7rem;
  line-height:1;
}
.rd-home-contact-card span a{
  color:var(--rd-green);
  text-decoration:none;
}
.rd-home-contact-card span a:hover{
  color:var(--rd-orange);
}
@media (max-width:1100px){
  .rd-home-hero .rd-service-hero__inner{
    width:min(860px,calc(100% - 40px));
  }
}
@media (max-width:760px){
  .rd-home-hero{
    padding-top:42px;
  }
  .rd-home-hero .rd-service-hero__inner{
    width:min(100% - 28px,860px);
  }
  .rd-home-image-frame img{
    aspect-ratio:auto;
    object-fit:contain;
  }
  .rd-home-contact-card{
    min-width:0;
  }
}


/* Héroe común para páginas de servicios 0.5.0 ---------------------- */
.rd-service-page--standard .rd-service-hero{
  padding-top:clamp(58px,7vw,102px);
}
.rd-service-page--standard .rd-service-image-frame img{
  aspect-ratio:16/11;
  object-fit:cover;
  background:#efece4;
}
.rd-service-page--standard .rd-service-experience strong{
  font-size:1.35rem;
  line-height:1.05;
  color:var(--rd-orange);
}
.rd-standard-service-content{
  position:relative;
  padding:clamp(72px,8vw,112px) 0;
  background:#fff;
}
.rd-standard-service-content__inner{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
}
.rd-standard-service-content__inner > h1:first-child,
.rd-standard-service-content__inner > .wp-block-heading:first-child{
  display:none;
}
.rd-standard-service-content__inner > :first-child{
  margin-top:0;
}
.rd-standard-service-content__inner h2{
  margin:clamp(54px,7vw,88px) 0 20px;
  color:var(--rd-ink);
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(2rem,3.6vw,3.4rem);
  line-height:1.08;
  letter-spacing:-.04em;
}
.rd-standard-service-content__inner h3{
  color:var(--rd-ink);
  font-size:clamp(1.2rem,2vw,1.55rem);
  line-height:1.25;
}
.rd-standard-service-content__inner p,
.rd-standard-service-content__inner li{
  color:var(--rd-copy);
  font-size:1.04rem;
  line-height:1.75;
}
.rd-standard-service-content__inner img{
  max-width:100%;
  height:auto;
  border-radius:26px;
  box-shadow:0 18px 48px rgba(40,49,59,.10);
}
.rd-standard-service-content__inner .wp-block-columns{
  gap:clamp(22px,4vw,48px);
}
.rd-standard-service-content__inner .wp-block-group,
.rd-standard-service-content__inner .wp-block-column{
  border-radius:24px;
}
@media(max-width:760px){
  .rd-service-page--standard .rd-service-hero{padding-top:42px}
  .rd-service-page--standard .rd-service-image-frame img{aspect-ratio:auto;object-fit:contain}
  .rd-standard-service-content{padding:58px 0}
  .rd-standard-service-content__inner{width:min(100% - 28px,1180px)}
}


/* 0.5.2 — elimina definitivamente la antigua imagen-cabecera de los servicios. */
.rd-standard-service-content .service-page-image,
.rd-standard-service-content figure:has(> .service-page-image),
.rd-standard-service-content p:has(> .service-page-image) {
  display: none !important;
}


/* 0.5.3 — compacta el héroe y elimina el exceso de aire vertical. */
.rd-service-page--standard .rd-service-hero{
  padding-top:clamp(28px,3.2vw,46px);
  padding-bottom:clamp(34px,4vw,56px);
}
.rd-service-page--standard .rd-service-hero__inner{
  gap:clamp(30px,4vw,58px);
}
.rd-service-page--standard .rd-service-kicker{
  margin-bottom:12px;
}
.rd-service-page--standard .rd-service-hero__lead{
  margin-top:18px;
}
.rd-service-page--standard .rd-service-hero__text{
  margin-top:12px;
}
.rd-service-page--standard .rd-service-actions{
  margin-top:22px;
}
.rd-service-page--standard .rd-service-benefits{
  margin-top:24px;
}
.rd-service-page--standard .rd-standard-service-content{
  padding-top:clamp(34px,4vw,54px);
  padding-bottom:clamp(60px,7vw,92px);
}
.rd-service-page--standard .rd-standard-service-content__inner > :first-child{
  margin-top:0 !important;
}
@media (max-width:760px){
  .rd-service-page--standard .rd-service-hero{
    padding-top:26px;
    padding-bottom:38px;
  }
  .rd-service-page--standard .rd-service-hero__inner{
    gap:28px;
  }
  .rd-service-page--standard .rd-standard-service-content{
    padding-top:30px;
  }
}


/* 0.5.4 — compactación global: se aplica a TODAS las páginas de servicio. */
.rd-service-page .rd-service-hero{
  padding-top:clamp(28px,3.2vw,46px) !important;
  padding-bottom:clamp(34px,4vw,56px) !important;
}
.rd-service-page .rd-service-hero__inner{
  gap:clamp(30px,4vw,58px) !important;
}
.rd-service-page .rd-service-kicker{
  margin-bottom:12px !important;
}
.rd-service-page .rd-service-hero__lead{
  margin-top:18px !important;
}
.rd-service-page .rd-service-hero__text{
  margin-top:12px !important;
}
.rd-service-page .rd-service-actions{
  margin-top:22px !important;
}
.rd-service-page .rd-service-benefits{
  margin-top:24px !important;
}
/* Evita una franja blanca excesiva antes del primer bloque. */
.rd-service-page > .rd-service-section:first-of-type,
.rd-service-page--large-format .rd-service-section--tech{
  padding-top:clamp(38px,4.5vw,62px) !important;
}
.rd-service-page--standard .rd-standard-service-content{
  padding-top:clamp(34px,4vw,54px) !important;
}
@media (max-width:760px){
  .rd-service-page .rd-service-hero{
    padding-top:24px !important;
    padding-bottom:34px !important;
  }
  .rd-service-page .rd-service-hero__inner{
    gap:26px !important;
  }
  .rd-service-page > .rd-service-section:first-of-type,
  .rd-service-page--large-format .rd-service-section--tech,
  .rd-service-page--standard .rd-standard-service-content{
    padding-top:30px !important;
  }
}


/* 0.5.5 — orden correcto del hero en tablets.
   Texto y botones -> imagen -> ventajas. Los botones mantienen jerarquía y anchura uniforme. */
@media (min-width:761px) and (max-width:1100px){
  .rd-service-hero__inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:0 !important;
    width:min(100% - 48px,860px) !important;
  }

  /* Hace que los elementos internos puedan ordenarse respecto a la imagen. */
  .rd-service-hero__copy{
    display:contents;
  }

  .rd-service-hero__copy > .rd-service-kicker,
  .rd-service-hero__copy > .rd-service-overline{
    order:1;
  }
  .rd-service-hero__copy > h1{order:2;}
  .rd-service-hero__copy > .rd-service-hero__lead,
  .rd-service-hero__copy > .rd-service-lead{order:3;}
  .rd-service-hero__copy > .rd-service-hero__text,
  .rd-service-hero__copy > .rd-service-copy{order:4;}

  .rd-service-hero__copy > .rd-service-actions{
    order:5;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:min(100%,620px);
    gap:14px !important;
    margin-top:24px !important;
  }
  .rd-service-actions .rd-service-button{
    width:100%;
    min-width:0;
    text-align:center;
  }

  /* La imagen aparece antes que las tarjetas de ventajas. */
  .rd-service-hero__visual{
    order:6;
    width:min(100%,760px);
    margin:34px auto 0 !important;
  }
  .rd-service-hero__copy > .rd-service-benefits{
    order:7;
    width:100%;
    margin-top:26px !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .rd-service-hero__copy > h1,
  .rd-service-hero__copy > .rd-service-hero__lead,
  .rd-service-hero__copy > .rd-service-lead,
  .rd-service-hero__copy > .rd-service-hero__text,
  .rd-service-hero__copy > .rd-service-copy{
    max-width:760px;
  }
}

@media (max-width:760px){
  /* En móvil conserva la misma secuencia, con botones apilados y fáciles de pulsar. */
  .rd-service-hero__inner{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .rd-service-hero__copy{
    display:contents;
  }
  .rd-service-hero__copy > .rd-service-kicker,
  .rd-service-hero__copy > .rd-service-overline{order:1;}
  .rd-service-hero__copy > h1{order:2;}
  .rd-service-hero__copy > .rd-service-hero__lead,
  .rd-service-hero__copy > .rd-service-lead{order:3;}
  .rd-service-hero__copy > .rd-service-hero__text,
  .rd-service-hero__copy > .rd-service-copy{order:4;}
  .rd-service-hero__copy > .rd-service-actions{
    order:5;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .rd-service-hero__visual{
    order:6;
    margin-top:28px !important;
  }
  .rd-service-hero__copy > .rd-service-benefits{
    order:7;
    margin-top:22px !important;
  }
}


/* ==============================================================
   0.6.0 — Hero responsive estable en portátil, tablet y móvil.
   Orden: texto > botones > imagen > ventajas en tablet/móvil.
   ============================================================== */

/* Estructura de escritorio: las ventajas pertenecen a la columna de texto
   y la imagen ocupa toda la altura del hero. */
.rd-service-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(420px,1.04fr);
  grid-template-areas:
    "copy visual"
    "benefits visual";
  align-items:center;
  column-gap:clamp(42px,6vw,86px);
  row-gap:24px;
}
.rd-service-hero__copy{grid-area:copy;min-width:0;}
.rd-service-hero__visual{grid-area:visual;min-width:0;align-self:center;}
.rd-service-hero__inner > .rd-service-benefits{grid-area:benefits;margin-top:0!important;}

/* Botones: misma altura, alineación y ritmo visual. */
.rd-service-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(100%,620px);
  gap:14px;
}
.rd-service-actions .rd-service-button{
  width:100%;
  min-width:0;
  text-align:center;
  white-space:normal;
}

/* Portátiles estrechos y tablets: una sola columna y orden inequívoco. */
@media (max-width:1180px){
  .rd-service-hero__inner{
    width:min(100% - 48px,900px)!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "copy"
      "visual"
      "benefits"!important;
    row-gap:0!important;
  }

  .rd-service-hero__copy{
    width:100%;
    max-width:820px;
    margin-inline:auto;
  }

  .rd-service-hero__copy h1,
  .rd-service-hero__lead,
  .rd-service-lead,
  .rd-service-hero__text,
  .rd-service-copy{
    max-width:780px!important;
  }

  .rd-service-actions{
    width:min(100%,620px)!important;
    margin-top:24px!important;
  }

  .rd-service-hero__visual{
    width:min(80%,760px)!important;
    margin:34px auto 0!important;
  }

  .rd-service-image-frame{
    transform:none!important;
  }

  .rd-service-experience{
    left:18px;
    bottom:18px;
  }

  .rd-service-hero__inner > .rd-service-benefits{
    width:100%;
    max-width:820px;
    margin:28px auto 0!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .rd-service-hero h1{
    font-size:clamp(3rem,8vw,5.35rem)!important;
  }
}

/* Tablet vertical: imagen primero, ventajas después; botones uniformes. */
@media (min-width:601px) and (max-width:900px){
  .rd-service-hero{
    padding-inline:16px!important;
  }

  .rd-service-hero__inner{
    width:min(100% - 28px,760px)!important;
  }

  .rd-service-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
  }

  .rd-service-button{
    min-height:54px;
    padding-inline:18px!important;
  }

  .rd-service-hero__visual{
    width:min(92%,700px)!important;
    margin-top:30px!important;
  }

  .rd-service-hero__inner > .rd-service-benefits{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    margin-top:24px!important;
  }

  .rd-service-benefits article{
    min-height:78px;
  }

  .rd-service-experience{
    max-width:210px;
  }
}

/* Móvil: botones apilados, imagen completa y luego ventajas. */
@media (max-width:600px){
  .rd-service-hero__inner{
    width:min(100% - 20px,560px)!important;
  }

  .rd-service-actions{
    grid-template-columns:1fr!important;
    width:100%!important;
    gap:11px!important;
  }

  .rd-service-actions .rd-service-button{
    min-height:54px;
  }

  .rd-service-hero__visual{
    width:100%!important;
    margin-top:25px!important;
  }

  .rd-service-image-frame{
    padding:7px!important;
    border-radius:24px!important;
  }

  .rd-service-image-frame img{
    width:100%;
    height:auto;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    border-radius:18px!important;
  }

  .rd-service-experience{
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:none!important;
    margin-top:12px!important;
  }

  .rd-service-hero__inner > .rd-service-benefits{
    grid-template-columns:1fr!important;
    width:100%!important;
    margin-top:20px!important;
  }
}


/* Home showcase 0.6.1 -------------------------------------------- */
.rd-home-showcase{
  position:relative;
  overflow:hidden;
  padding:clamp(64px,8vw,108px) 22px clamp(56px,7vw,92px);
  background:
    radial-gradient(circle at 8% 12%,rgba(223,111,40,.10),transparent 24%),
    radial-gradient(circle at 92% 72%,rgba(74,92,58,.10),transparent 25%),
    linear-gradient(180deg,#fffdf9 0%,#f8f3e9 100%);
}
.rd-home-showcase:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.4;
  background-image:radial-gradient(rgba(74,92,58,.16) .7px,transparent .7px);
  background-size:24px 24px;
  mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);
}
.rd-home-showcase__inner{position:relative;width:min(1180px,100%);margin:auto}
.rd-home-showcase__header{max-width:820px;margin:0 auto 42px;text-align:center}
.rd-home-showcase__overline{margin:0 0 12px;color:#df6f28;font-size:.78rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.rd-home-showcase__header h2{margin:0;color:#28313b;font-family:Manrope,Inter,sans-serif;font-size:clamp(2.3rem,4.8vw,4.35rem);line-height:.98;letter-spacing:-.052em}
.rd-home-showcase__header>p:last-child{max-width:720px;margin:18px auto 0;color:#646b73;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.7}
.rd-home-showcase__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.rd-home-showcase-card{position:relative;display:block;min-height:310px;overflow:hidden;border:1px solid rgba(74,92,58,.10);border-radius:28px;background:#eee;box-shadow:0 20px 52px rgba(40,49,59,.10);isolation:isolate}
.rd-home-showcase-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.rd-home-showcase-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(21,27,31,.08) 58%,rgba(21,27,31,.82) 100%);transition:opacity .3s ease}
.rd-home-showcase-card__content{position:absolute;z-index:2;inset:auto 22px 20px;display:block;color:#fff}
.rd-home-showcase-card__content small{display:inline-flex;margin-bottom:8px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);font-size:.7rem;font-style:normal;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.rd-home-showcase-card__content strong{display:block;font-family:Manrope,Inter,sans-serif;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.05}
.rd-home-showcase-card__content em{display:block;margin-top:9px;color:#ffd0ae;font-size:.88rem;font-style:normal;font-weight:800;opacity:0;transform:translateY(8px);transition:.28s ease}
.rd-home-showcase-card:hover img{transform:scale(1.045);filter:saturate(1.05) contrast(1.02)}
.rd-home-showcase-card:hover .rd-home-showcase-card__content em{opacity:1;transform:none}
.rd-home-showcase__statement{max-width:850px;margin:42px auto 0;display:flex;align-items:flex-start;justify-content:center;gap:15px;padding:24px 28px;border:1px solid rgba(74,92,58,.10);border-radius:24px;background:rgba(255,255,255,.68);box-shadow:0 14px 36px rgba(40,49,59,.055);backdrop-filter:blur(12px)}
.rd-home-showcase__statement span{flex:0 0 auto;color:#df6f28;font-size:1.4rem;line-height:1.25}
.rd-home-showcase__statement p{margin:0;color:#4f5861;text-align:center;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.65;font-weight:620}
.rd-home-showcase + .services-teaser{padding-top:clamp(58px,7vw,88px)}
.rd-home-showcase + .services-teaser .section-title{margin-top:0;font-family:Manrope,Inter,sans-serif;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.04em}
@media(max-width:820px){
  .rd-home-showcase{padding-inline:16px}
  .rd-home-showcase__grid{gap:14px}
  .rd-home-showcase-card{min-height:245px;border-radius:22px}
  .rd-home-showcase-card__content{inset:auto 16px 15px}
  .rd-home-showcase-card__content em{display:none}
}
@media(max-width:620px){
  .rd-home-showcase{padding-top:54px}
  .rd-home-showcase__header{margin-bottom:28px}
  .rd-home-showcase__grid{grid-template-columns:1fr}
  .rd-home-showcase-card{min-height:230px}
  .rd-home-showcase__statement{margin-top:26px;padding:20px 18px}
}


/* ==============================================================
   0.7.0 — Selector premium de servicios en la home
   ============================================================== */
.rd-services-premium{
  position:relative;
  overflow:hidden;
  padding:clamp(72px,8vw,118px) 20px;
  background:
    radial-gradient(circle at 8% 18%,rgba(230,126,34,.09),transparent 28%),
    radial-gradient(circle at 92% 76%,rgba(74,92,58,.09),transparent 30%),
    #fbfaf6;
}
.rd-services-premium:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.35;
  background-image:radial-gradient(rgba(230,126,34,.35) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);
}
.rd-services-premium__inner{position:relative;z-index:1;width:min(100%,1240px);margin:auto}
.rd-services-premium__header{text-align:center;max-width:830px;margin:0 auto clamp(42px,5vw,66px)}
.rd-services-premium__overline{margin:0 0 14px;color:#df6f19;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:900}
.rd-services-premium__header h2{margin:0;color:#243246;font-family:Manrope,Inter,sans-serif;font-size:clamp(2.25rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.055em}
.rd-services-premium__header>p:last-child{max-width:720px;margin:22px auto 0;color:#667085;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.7}

.rd-services-premium__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.rd-service-premium-card,
.rd-service-premium-card--featured{
  grid-column:auto;
  position:relative;
  min-height:0;
  display:grid;
  grid-template-rows:260px 1fr;
  overflow:hidden;
  text-decoration:none;
  color:#243246;
  border:1px solid rgba(36,50,70,.09);
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 44px rgba(36,50,70,.08);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.rd-service-premium-card__visual,
.rd-service-premium-card--featured .rd-service-premium-card__visual{
  order:-1;
  align-self:stretch;
  min-height:0;
  overflow:hidden;
  background:linear-gradient(180deg,#fffdf8 0%,#fbf4e7 100%);
  aspect-ratio:3/2;
  padding:14px 16px 8px;
}
.rd-service-premium-card__visual img,
.rd-service-premium-card--featured .rd-service-premium-card__visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center bottom;
  transition:transform .45s ease;
  image-rendering:auto;
}
.rd-service-premium-card__copy{position:relative;z-index:2;padding:24px;display:flex;flex-direction:column;align-items:flex-start;min-height:250px}
.rd-service-premium-card__copy>span{display:grid;place-items:center;width:34px;height:34px;margin-bottom:16px;border-radius:11px;background:#fff1e6;color:#dd6813;font-size:.72rem;font-weight:900;box-shadow:inset 0 0 0 1px rgba(221,104,19,.08)}
.rd-service-premium-card h3{margin:0;color:#243246;font-family:Manrope,Inter,sans-serif;font-size:clamp(1.15rem,1.45vw,1.45rem);line-height:1.12;letter-spacing:-.025em}
.rd-service-premium-card p{margin:12px 0 0;color:#667085;line-height:1.55;font-size:.94rem}
.rd-service-premium-card ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:18px 0 0}
.rd-service-premium-card li{padding:6px 9px;border-radius:999px;background:#f4f6f1;color:#4a5c3a;font-size:.7rem;font-weight:800}
.rd-service-premium-card em{margin-top:auto;padding-top:20px;color:#dd6813;font-style:normal;font-weight:900}
.rd-service-premium-card:nth-child(4n+1){border-top:4px solid #2f5fa8}
.rd-service-premium-card:nth-child(4n+2){border-top:4px solid #e8823c}
.rd-service-premium-card:nth-child(4n+3){border-top:4px solid #7b61a8}
.rd-service-premium-card:nth-child(4n+4){border-top:4px solid #4a9b6e}
.rd-service-premium-card:hover{transform:translateY(-8px);border-color:rgba(230,126,34,.25);box-shadow:0 28px 70px rgba(36,50,70,.15)}
.rd-service-premium-card:hover img{transform:translateY(-3px) scale(1.012)}
.rd-services-premium__footer{margin-top:34px;padding:26px 30px;display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid rgba(36,50,70,.08);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 14px 38px rgba(36,50,70,.06)}
.rd-services-premium__footer p{margin:0;max-width:760px;color:#667085;line-height:1.55}
.rd-services-premium__footer a{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:15px;background:#4a5c3a;color:#fff;text-decoration:none;font-weight:900;transition:.25s ease}
.rd-services-premium__footer a:hover{transform:translateY(-2px);background:#dd6813}
.rd-services-premium__footer span{font-size:1.2em}

@media(max-width:1100px){
  .rd-services-premium__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rd-service-premium-card,.rd-service-premium-card--featured{grid-template-rows:260px 1fr}
}
@media(max-width:720px){
  .rd-services-premium{padding:64px 14px}
  .rd-services-premium__grid{grid-template-columns:1fr;gap:16px}
  .rd-service-premium-card,.rd-service-premium-card--featured{grid-template-rows:auto 1fr;border-radius:22px}
  .rd-service-premium-card__visual,.rd-service-premium-card--featured .rd-service-premium-card__visual{aspect-ratio:3/2;padding:12px 12px 6px}
  .rd-service-premium-card__copy{min-height:230px;padding:22px}
  .rd-services-premium__footer{align-items:stretch;flex-direction:column;padding:22px}
  .rd-services-premium__footer a{justify-content:center;width:100%}
}
@media(max-width:430px){
  .rd-service-premium-card__copy{min-height:210px}
  .rd-service-premium-card ul{display:none}
}

/* ==============================================================
   0.7.4 — Ilustraciones completas sin recorte
   ============================================================== */
.rd-service-premium-card,
.rd-service-premium-card--featured{
  grid-template-rows:auto 1fr !important;
}
.rd-service-premium-card__visual,
.rd-service-premium-card--featured .rd-service-premium-card__visual{
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:3 / 2 !important;
  padding:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#fdfaf3 !important;
}
.rd-service-premium-card__visual img,
.rd-service-premium-card--featured .rd-service-premium-card__visual img{
  position:static !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}
.rd-service-premium-card:hover .rd-service-premium-card__visual img{
  transform:scale(1.015) !important;
}
@media(max-width:720px){
  .rd-service-premium-card__visual,
  .rd-service-premium-card--featured .rd-service-premium-card__visual{
    padding:14px !important;
  }
}


/* ==============================================================
   0.7.5 — Showcase de la home sin recortes
   Las cuatro imágenes originales tienen proporción 3:2.
   El contenedor adopta esa misma proporción para mostrarlas completas.
   ============================================================== */
.rd-home-showcase-card,
.rd-home-showcase-card--wide{
  min-height:0 !important;
  aspect-ratio:3 / 2 !important;
  background:#fdfaf3 !important;
}
.rd-home-showcase-card img,
.rd-home-showcase-card--wide img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  background:#fdfaf3;
}
.rd-home-showcase-card:hover img,
.rd-home-showcase-card--wide:hover img{
  transform:scale(1.008) !important;
}
@media(max-width:820px){
  .rd-home-showcase-card,
  .rd-home-showcase-card--wide{
    min-height:0 !important;
    aspect-ratio:3 / 2 !important;
  }
}
@media(max-width:620px){
  .rd-home-showcase-card,
  .rd-home-showcase-card--wide{
    min-height:0 !important;
    aspect-ratio:3 / 2 !important;
  }
}

/* ==============================================================
   0.7.6 — Imágenes completas y uniformes en las tarjetas de servicio
   ============================================================== */
.rd-service-premium-card,
.rd-service-premium-card--featured{
  grid-template-rows:auto 1fr !important;
}
.rd-service-premium-card__visual,
.rd-service-premium-card--featured .rd-service-premium-card__visual{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:3 / 2 !important;
  padding:10px !important;
  overflow:visible !important;
  display:grid !important;
  place-items:center !important;
  background:#fdfaf3 !important;
}
.rd-service-premium-card__visual img,
.rd-service-premium-card--featured .rd-service-premium-card__visual img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  clip-path:none !important;
  transform:none !important;
}
.rd-service-premium-card:hover .rd-service-premium-card__visual img{
  transform:scale(1.008) !important;
}
@media(max-width:1100px){
  .rd-service-premium-card__visual,
  .rd-service-premium-card--featured .rd-service-premium-card__visual{
    aspect-ratio:3 / 2 !important;
  }
}
@media(max-width:720px){
  .rd-service-premium-card__visual,
  .rd-service-premium-card--featured .rd-service-premium-card__visual{
    padding:8px !important;
  }
}


/* =========================================================
   HOME SEO / UX 1.0.0
   ========================================================= */
.rd-home-seo-section{padding:clamp(64px,8vw,112px) 24px;background:#fff}.rd-home-seo-section--soft{background:linear-gradient(180deg,#fbfaf6 0%,#f6f1e8 100%)}.rd-home-seo-section__inner{max-width:1180px;margin:0 auto}.rd-home-seo-heading{max-width:820px;margin:0 auto 48px;text-align:center}.rd-home-seo-heading .eyebrow{margin:0 0 12px;color:#e67e22;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:13px}.rd-home-seo-heading h2{margin:0;color:#1f2937;font-size:clamp(34px,4.6vw,62px);line-height:1.02;letter-spacing:-.045em}.rd-home-seo-heading p{margin:20px auto 0;color:#5f6672;font-size:clamp(17px,1.5vw,20px);line-height:1.75}.rd-home-seo-copy{display:grid;grid-template-columns:1fr 1fr;gap:34px}.rd-home-seo-copy p{margin:0;color:#4b5563;font-size:17px;line-height:1.85}.rd-home-seo-copy strong{color:#334125}.rd-home-process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.rd-home-process article,.rd-home-sectors article{background:#fff;border:1px solid rgba(74,92,58,.12);border-radius:24px;padding:26px;box-shadow:0 14px 42px rgba(31,41,55,.06)}.rd-home-process span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff1e5;color:#d8630c;font-weight:900}.rd-home-process h3,.rd-home-sectors h3{margin:18px 0 10px;color:#26321f;font-size:21px}.rd-home-process p,.rd-home-sectors p{margin:0;color:#626975;line-height:1.7}.rd-home-sectors{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.rd-home-materials{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:920px;margin:0 auto}.rd-home-materials span{padding:12px 18px;border:1px solid rgba(74,92,58,.17);border-radius:999px;background:#fff;color:#39452f;font-weight:750}.rd-home-why{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:start}.rd-home-why__lead{position:sticky;top:120px}.rd-home-why__lead h2{margin:0;color:#1f2937;font-size:clamp(36px,4.2vw,58px);line-height:1.03;letter-spacing:-.04em}.rd-home-why__lead p{color:#5b6470;font-size:18px;line-height:1.8}.rd-home-why__items{display:grid;gap:16px}.rd-home-why__items article{padding:24px;border-radius:22px;background:#fff;border:1px solid #eceae5}.rd-home-why__items h3{margin:0 0 8px;color:#334125}.rd-home-why__items p{margin:0;color:#626975;line-height:1.75}.rd-home-faq{max-width:900px;margin:0 auto;display:grid;gap:12px}.rd-home-faq details{background:#fff;border:1px solid #e7e5df;border-radius:18px;padding:0 22px}.rd-home-faq summary{cursor:pointer;list-style:none;padding:20px 34px 20px 0;color:#26321f;font-weight:800;position:relative}.rd-home-faq summary::-webkit-details-marker{display:none}.rd-home-faq summary:after{content:'+';position:absolute;right:0;top:18px;color:#e67e22;font-size:24px}.rd-home-faq details[open] summary:after{content:'–'}.rd-home-faq details p{margin:0;padding:0 0 22px;color:#616875;line-height:1.75}.rd-home-local{margin-top:38px;padding:28px;border-radius:24px;background:#334125;color:#fff}.rd-home-local h3{margin:0 0 10px;font-size:24px}.rd-home-local p{margin:0;color:rgba(255,255,255,.82);line-height:1.8}
@media(max-width:900px){.rd-home-seo-copy,.rd-home-why{grid-template-columns:1fr}.rd-home-process{grid-template-columns:repeat(2,1fr)}.rd-home-sectors{grid-template-columns:repeat(2,1fr)}.rd-home-why__lead{position:static}}
@media(max-width:600px){.rd-home-seo-section{padding:56px 16px}.rd-home-seo-copy,.rd-home-process,.rd-home-sectors{grid-template-columns:1fr}.rd-home-seo-heading{margin-bottom:34px}.rd-home-process article,.rd-home-sectors article{padding:22px}.rd-home-materials{justify-content:flex-start}}


/* =========================================================
   IMPRESIÓN DE GRAN FORMATO · SEO / UX 1.1.0
   ========================================================= */
.rd-service-section--soft{background:linear-gradient(180deg,#fbfaf6 0%,#f4efe5 100%)}
.rd-lf-intro__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(38px,7vw,96px);align-items:start}.rd-lf-intro h2{margin:0;color:#1f2937;font-size:clamp(38px,5vw,68px);line-height:1.02;letter-spacing:-.045em}.rd-lf-rich-copy{display:grid;gap:18px}.rd-lf-rich-copy p{margin:0;color:#535d69;font-size:17px;line-height:1.86}.rd-lf-rich-copy strong{color:#334125}
.rd-lf-products{background:#fff}.rd-lf-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.rd-lf-product-grid article{padding:26px;border-radius:24px;background:#fbfaf6;border:1px solid rgba(74,92,58,.12);box-shadow:0 14px 38px rgba(31,41,55,.05);transition:.25s ease}.rd-lf-product-grid article:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(31,41,55,.1);border-color:rgba(230,126,34,.26)}.rd-lf-product-grid h3{margin:0 0 10px;color:#334125;font-size:21px}.rd-lf-product-grid p{margin:0;color:#626b76;line-height:1.72}
.rd-lf-choice__layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,7vw,90px);align-items:start}.rd-lf-choice h2{margin:0 0 22px;color:#1f2937;font-size:clamp(36px,4.5vw,58px);line-height:1.04;letter-spacing:-.04em}.rd-lf-choice p{color:#59626d;line-height:1.8}.rd-lf-comparison{display:grid;gap:14px}.rd-lf-comparison article{padding:24px;border-radius:22px;background:#fff;border:1px solid #e9e5dc}.rd-lf-comparison span{display:inline-block;margin-bottom:8px;color:#e06716;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.rd-lf-comparison h3{margin:0 0 8px;color:#334125;font-size:21px}.rd-lf-comparison p{margin:0;color:#626b76}
.rd-lf-sector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rd-lf-sector-grid article{padding:25px;border:1px solid #ebe8e0;border-radius:22px;background:#fff}.rd-lf-sector-grid h3{margin:0 0 9px;color:#334125}.rd-lf-sector-grid p{margin:0;color:#626b76;line-height:1.7}.rd-lf-local__box{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;padding:clamp(30px,5vw,58px);border-radius:34px;background:#334125;color:#fff}.rd-lf-local h2{margin:0;font-size:clamp(34px,4.4vw,56px);line-height:1.04;letter-spacing:-.04em}.rd-lf-local p{margin:0 0 15px;color:rgba(255,255,255,.82);line-height:1.82}.rd-lf-local .rd-service-overline{color:#ffb476}.rd-lf-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.rd-lf-related__grid a{display:flex;min-height:145px;padding:25px;flex-direction:column;justify-content:space-between;border-radius:24px;background:#fff;border:1px solid #e9e5dc;color:#334125;text-decoration:none;box-shadow:0 14px 35px rgba(31,41,55,.05);transition:.25s ease}.rd-lf-related__grid a:hover{transform:translateY(-5px);border-color:#e67e22}.rd-lf-related__grid strong{font-size:22px}.rd-lf-related__grid span{color:#e06716;font-weight:800}
@media(max-width:1050px){.rd-lf-product-grid{grid-template-columns:repeat(2,1fr)}.rd-lf-intro__grid,.rd-lf-choice__layout,.rd-lf-local__box{grid-template-columns:1fr}.rd-lf-sector-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.rd-lf-product-grid,.rd-lf-sector-grid,.rd-lf-related__grid{grid-template-columns:1fr}.rd-lf-product-grid article,.rd-lf-sector-grid article{padding:22px}.rd-lf-local__box{padding:28px 22px;border-radius:26px}.rd-lf-intro h2,.rd-lf-choice h2{font-size:38px}}


/* Página general de servicios: mismo sistema visual que la home */
.rd-services-page{background:#fbf7ef}
.rd-services-premium--page{padding-top:clamp(72px,8vw,120px);padding-bottom:clamp(72px,8vw,120px)}
.rd-services-premium--page .rd-services-premium__header{margin-bottom:clamp(36px,4vw,56px)}
.rd-services-premium--page .rd-services-premium__header h1{margin:0;color:#243246;font-family:Manrope,Inter,sans-serif;font-size:clamp(2.4rem,5.2vw,4.8rem);line-height:1.02;letter-spacing:-.055em}
.rd-services-premium--page .rd-service-premium-card{grid-template-rows:260px 1fr}
@media(max-width:720px){
  .rd-services-premium--page{padding-top:56px;padding-bottom:64px}
  .rd-services-premium--page .rd-services-premium__header h1{font-size:clamp(2.2rem,11vw,3.5rem)}
}


/* =========================================================
   TODAS LAS PÁGINAS DE SERVICIO · SEO / UX 1.2.0
   ========================================================= */
.rd-svc-seo{padding:clamp(64px,7vw,104px) 24px;background:#fff}.rd-svc-seo--soft{background:linear-gradient(180deg,#fbfaf6 0%,#f4efe5 100%)}.rd-svc-seo__inner{max-width:1180px;margin:0 auto}.rd-svc-seo__intro-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(42px,7vw,92px);align-items:start}.rd-svc-seo h2{margin:0;color:#1f2937;font-size:clamp(34px,4.4vw,58px);line-height:1.04;letter-spacing:-.042em}.rd-svc-seo__rich-copy{display:grid;gap:18px}.rd-svc-seo__rich-copy p,.rd-svc-seo__two-col p{margin:0;color:#58616c;font-size:17px;line-height:1.84}.rd-svc-seo__heading{max-width:820px;margin:0 auto 42px;text-align:center}.rd-svc-seo__heading>p:not(.rd-service-overline){margin:16px auto 0;color:#606975;font-size:18px;line-height:1.7}.rd-svc-seo__cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.rd-svc-seo__cards article{padding:25px;border-radius:23px;background:#fff;border:1px solid rgba(74,92,58,.13);box-shadow:0 14px 38px rgba(31,41,55,.055);transition:.25s ease}.rd-svc-seo__cards article:hover{transform:translateY(-5px);border-color:rgba(230,126,34,.3);box-shadow:0 22px 48px rgba(31,41,55,.1)}.rd-svc-seo__cards h3{margin:0 0 10px;color:#334125;font-size:21px}.rd-svc-seo__cards p{margin:0;color:#626b76;line-height:1.72}.rd-svc-seo__two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(44px,7vw,90px)}.rd-svc-seo__two-col h2{font-size:clamp(32px,3.7vw,48px);margin-bottom:16px}.rd-svc-seo__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.rd-svc-seo__chips span,.rd-svc-seo__sector-list span{display:inline-flex;padding:10px 14px;border-radius:999px;background:#f7f4ec;border:1px solid rgba(74,92,58,.12);color:#3e4b34;font-weight:750}.rd-svc-seo__sector-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.rd-svc-seo__sector-list span{border-radius:15px}.rd-svc-process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.rd-svc-process article{padding:25px;border-radius:23px;background:#fff;border:1px solid #e9e6de}.rd-svc-process span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff0e4;color:#d9640d;font-weight:900}.rd-svc-process h3{margin:18px 0 9px;color:#334125;font-size:20px}.rd-svc-process p{margin:0;color:#626b76;line-height:1.7}.rd-svc-local-box{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;padding:clamp(32px,5vw,58px);border-radius:34px;background:#334125;color:#fff}.rd-svc-local-box h2{color:#fff}.rd-svc-local-box p{margin:0 0 22px;color:rgba(255,255,255,.82);line-height:1.82}.rd-svc-faq{max-width:900px;margin:0 auto;display:grid;gap:12px}.rd-svc-faq details{background:#fff;border:1px solid #e7e5df;border-radius:18px;padding:0 22px}.rd-svc-faq summary{cursor:pointer;list-style:none;padding:20px 34px 20px 0;color:#26321f;font-weight:800;position:relative}.rd-svc-faq summary::-webkit-details-marker{display:none}.rd-svc-faq summary:after{content:'+';position:absolute;right:0;top:17px;color:#e67e22;font-size:25px}.rd-svc-faq details[open] summary:after{content:'–'}.rd-svc-faq details p{margin:0;padding:0 0 22px;color:#616875;line-height:1.75}.rd-svc-related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.rd-svc-related a{display:flex;min-height:140px;padding:24px;flex-direction:column;justify-content:space-between;border-radius:23px;background:#fff;border:1px solid #e9e5dc;color:#334125;text-decoration:none;box-shadow:0 14px 35px rgba(31,41,55,.05);transition:.25s ease}.rd-svc-related a:hover{transform:translateY(-5px);border-color:#e67e22}.rd-svc-related strong{font-size:21px}.rd-svc-related span{color:#e06716;font-weight:800}
@media(max-width:1000px){.rd-svc-seo__intro-grid,.rd-svc-seo__two-col,.rd-svc-local-box{grid-template-columns:1fr}.rd-svc-seo__cards,.rd-svc-process{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.rd-svc-seo{padding:56px 16px}.rd-svc-seo__cards,.rd-svc-process,.rd-svc-related,.rd-svc-seo__sector-list{grid-template-columns:1fr}.rd-svc-local-box{padding:28px 22px;border-radius:26px}.rd-svc-seo__heading{text-align:left;margin-bottom:30px}.rd-svc-seo h2{font-size:36px}}
\n\n/* FAQ SAFETY 1.2.4: oculta cualquier acordeón heredado dentro del contenido antiguo. */
.rd-standard-service-content .service-faq,
.rd-standard-service-content .rd-service-faq,
.rd-standard-service-content [class*="faq"],
.rd-standard-service-content [id*="faq"],
.rd-standard-service-content [class*="accordion"],
.rd-standard-service-content [class*="acordeon"],
.rd-standard-service-content details { display:none !important; }

/* =========================================================
   SERVICIOS · CONVERSIÓN Y SEO INTERNO 1.3.0
   ========================================================= */
.rd-breadcrumbs{padding:18px 24px;background:#fff;border-bottom:1px solid rgba(74,92,58,.08)}
.rd-breadcrumbs__inner{max-width:1180px;margin:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#717966;font-size:14px}
.rd-breadcrumbs a{color:#4a5c3a;text-decoration:none;font-weight:750}.rd-breadcrumbs a:hover{color:#e06716}.rd-breadcrumbs strong{color:#26321f}.rd-breadcrumbs span{color:#b8bcae}
.rd-svc-seo--trust{background:#fff}.rd-svc-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.rd-svc-trust-grid article{padding:28px;border-radius:24px;background:linear-gradient(145deg,#334125,#435636);color:#fff;box-shadow:0 18px 44px rgba(51,65,37,.16)}.rd-svc-trust-grid span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.12);color:#ffb476;font-weight:900}.rd-svc-trust-grid h3{margin:20px 0 9px;font-size:20px}.rd-svc-trust-grid p{margin:0;color:rgba(255,255,255,.76);line-height:1.68}
.rd-svc-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.rd-svc-use-grid article{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:20px;background:#fff;border:1px solid rgba(74,92,58,.12)}.rd-svc-use-grid strong{color:#334125;font-size:19px}.rd-svc-use-grid span{color:#68706f;line-height:1.55}
.rd-svc-local-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.rd-svc-local-actions>a:not(.rd-service-button){color:#fff;font-size:19px;font-weight:900;text-decoration:none}
.rd-svc-related--visual a{min-height:0;padding:0;overflow:hidden;background:#fff}.rd-svc-related__image{display:block;aspect-ratio:3/2;background:#faf7ef;overflow:hidden}.rd-svc-related__image img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .3s ease}.rd-svc-related--visual a:hover .rd-svc-related__image img{transform:scale(1.025)}.rd-svc-related__body{display:flex;min-height:120px;padding:22px;flex-direction:column;justify-content:space-between}.rd-svc-related__body small{color:#e06716;font-size:14px;font-weight:850}
.rd-service-cta--premium{padding:clamp(56px,7vw,90px) 24px;background:#f5efe4}.rd-service-cta--premium .rd-service-cta__inner{max-width:1180px;margin:auto;padding:clamp(32px,5vw,58px);border-radius:34px;background:linear-gradient(135deg,#29351f,#435636);color:#fff;display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:center}.rd-service-cta--premium h2{margin:0;color:#fff;font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:-.04em}.rd-service-cta__copy{margin:18px 0 0;color:rgba(255,255,255,.76);font-size:17px}.rd-service-cta__actions{display:grid;gap:12px}.rd-service-cta--premium .rd-service-button--secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
@media(max-width:1000px){.rd-svc-trust-grid{grid-template-columns:repeat(2,1fr)}.rd-svc-use-grid{grid-template-columns:repeat(2,1fr)}.rd-service-cta--premium .rd-service-cta__inner{grid-template-columns:1fr}}
@media(max-width:650px){.rd-breadcrumbs{padding:14px 16px}.rd-svc-trust-grid,.rd-svc-use-grid{grid-template-columns:1fr}.rd-service-cta--premium{padding:48px 16px}.rd-service-cta--premium .rd-service-cta__inner{padding:28px 22px;border-radius:26px}.rd-service-cta__actions .rd-service-button{width:100%;justify-content:center;text-align:center}}


/* ===== RDuende 1.3.2: menú desplegable y pie legal ===== */
.site-header nav > ul > li{position:relative}
.site-header nav > ul > li > a{display:inline-flex;align-items:center}
.rd-submenu-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:2px;padding:0;border:0;background:transparent;color:var(--rduende-text);font-size:18px;line-height:1;cursor:pointer;transition:transform .2s ease,color .2s ease}
.site-header .sub-menu{position:absolute;z-index:1000;top:calc(100% + 12px);left:50%;width:310px;margin:0;padding:12px;list-style:none;background:#fff;border:1px solid rgba(36,50,70,.10);border-radius:18px;box-shadow:0 22px 55px rgba(36,50,70,.16);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.site-header .sub-menu::before{content:"";position:absolute;top:-10px;left:0;right:0;height:12px}
.site-header .sub-menu li{margin:0;padding:0}
.site-header .sub-menu a{display:block;padding:10px 12px;border-radius:11px;color:var(--rduende-text);font-size:.94rem;font-weight:700;line-height:1.25;white-space:normal}
.site-header .sub-menu a:hover,.site-header .sub-menu a:focus{background:#f4f1e8;color:var(--rduende-primary)}
.site-header .rd-services-submenu__all{margin-top:7px;padding-top:7px;border-top:1px solid rgba(36,50,70,.09)}
.site-header .rd-services-submenu__all a{color:#dd6813}
.site-header nav > ul > li:hover > .sub-menu,.site-header nav > ul > li:focus-within > .sub-menu,.site-header nav > ul > li.rd-submenu-open > .sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.site-header nav > ul > li:hover > .rd-submenu-toggle,.site-header nav > ul > li.rd-submenu-open > .rd-submenu-toggle{transform:rotate(180deg);color:var(--rduende-primary)}

.site-footer{margin-top:72px;background:#263126;color:#fff}
.site-footer__inner{max-width:1200px;margin:0 auto;padding:46px 28px 30px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(480px,1.6fr);gap:44px;align-items:start}
.site-footer__brand strong{display:block;font-size:1.35rem;letter-spacing:.02em}
.site-footer__brand p{max-width:430px;margin:9px 0 0;color:rgba(255,255,255,.72);line-height:1.55}
.site-footer__legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 24px}
.site-footer__legal a{color:rgba(255,255,255,.82);font-size:.92rem;text-decoration:none}
.site-footer__legal a:hover,.site-footer__legal a:focus{color:#fff;text-decoration:underline}
.site-footer__bottom{max-width:1200px;margin:0 auto;padding:20px 28px 26px;border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;gap:22px;align-items:center}
.site-footer__bottom p{margin:0;color:rgba(255,255,255,.62);font-size:.86rem}
.site-footer__bottom a{color:#fff;font-weight:800;text-decoration:none}

@media (max-width:900px){
  .site-header nav > ul > li{display:flex;flex-wrap:wrap;align-items:center}
  .site-header nav > ul > li > .sub-menu{position:static;flex-basis:100%;width:100%;margin:8px 0 0;padding:8px;opacity:0;visibility:hidden;display:none;transform:none;box-shadow:none;border-radius:14px;background:#f7f5ef}
  .site-header nav > ul > li.rd-submenu-open > .sub-menu{display:block;opacity:1;visibility:visible;transform:none}
  .site-header nav > ul > li:hover > .sub-menu:not(:focus-within){opacity:0;visibility:hidden}
  .site-footer__inner{grid-template-columns:1fr;gap:26px}
  .site-footer__legal{justify-content:flex-start}
}
@media (max-width:600px){
  .site-footer{margin-top:48px}
  .site-footer__inner{padding:36px 20px 24px}
  .site-footer__legal{display:grid;grid-template-columns:1fr;gap:12px}
  .site-footer__bottom{padding:18px 20px 24px;align-items:flex-start;flex-direction:column}
}


/* ===== RDuende 1.3.4: menú principal centrado y desplegable legible ===== */
@media (min-width:901px){
  .site-header{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    min-height:92px;
    padding:14px 30px;
  }
  .site-logo{justify-self:start}
  .site-header nav{
    justify-self:center;
    min-width:0;
  }
  .site-header nav > ul{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(18px,2vw,34px);
  }
  .site-header nav > ul > li{
    display:flex;
    align-items:center;
    white-space:nowrap;
  }
  .site-header nav > ul > li > a{
    padding:12px 0;
    font-weight:650;
  }
  .site-header .sub-menu,
  .site-header nav .sub-menu{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(230px,1fr));
    column-gap:10px;
    row-gap:4px;
    width:min(620px,calc(100vw - 48px));
    left:50%;
    top:calc(100% + 10px);
    padding:18px;
    border-radius:22px;
    transform:translate(-50%,10px);
  }
  .site-header .sub-menu li,
  .site-header nav .sub-menu li{
    display:block;
    width:100%;
  }
  .site-header .sub-menu a,
  .site-header nav .sub-menu a{
    display:flex;
    align-items:center;
    min-height:54px;
    padding:12px 14px;
    border-radius:13px;
    font-size:.95rem;
    line-height:1.25;
    white-space:normal;
  }
  .site-header .rd-services-submenu__all{
    grid-column:1 / -1;
    margin-top:8px;
    padding-top:10px;
  }
  .site-header .rd-services-submenu__all a{
    justify-content:center;
    min-height:46px;
    background:#fff5ec;
  }
  .site-header nav > ul > li:hover > .sub-menu,
  .site-header nav > ul > li:focus-within > .sub-menu,
  .site-header nav > ul > li.rd-submenu-open > .sub-menu{
    transform:translate(-50%,0);
  }
}

@media (max-width:1100px) and (min-width:901px){
  .site-header{grid-template-columns:auto 1fr auto;padding-inline:22px}
  .site-header nav{justify-self:end}
  .site-header nav > ul{gap:18px}
  .site-header .sub-menu,
  .site-header nav .sub-menu{
    left:auto;
    right:0;
    transform:translateY(10px);
    width:min(580px,calc(100vw - 36px));
  }
  .site-header nav > ul > li:hover > .sub-menu,
  .site-header nav > ul > li:focus-within > .sub-menu,
  .site-header nav > ul > li.rd-submenu-open > .sub-menu{
    transform:translateY(0);
  }
}

@media (max-width:900px){
  .site-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:14px 18px;
  }
  .site-header nav{width:100%}
  .site-header nav > ul{justify-content:flex-end;gap:14px}
  .site-header nav > ul > li > .sub-menu{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   PORTFOLIO 1.4.0
   ============================================================ */
.rd-portfolio-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.rd-portfolio-hero{padding:clamp(72px,9vw,124px) 0 54px;background:radial-gradient(circle at 12% 15%,rgba(232,103,28,.13),transparent 34%),linear-gradient(135deg,#fffaf4,#f6f1e6)}
.rd-portfolio-hero h1{margin:.15em 0 .25em;font-size:clamp(2.8rem,6vw,5.5rem);line-height:.95;color:#172438}
.rd-portfolio-hero>div>p:not(.rd-service-overline){max-width:760px;font-size:1.12rem;line-height:1.75;color:#596474}
.rd-portfolio-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.rd-portfolio-filters a{display:inline-flex;align-items:center;min-height:42px;padding:9px 15px;border:1px solid #e3d9ca;border-radius:999px;background:#fff;color:#233146;text-decoration:none;font-weight:750;font-size:.9rem;transition:.2s ease}
.rd-portfolio-filters a:hover,.rd-portfolio-filters a.is-active{border-color:#e8681c;background:#e8681c;color:#fff;transform:translateY(-1px)}
.rd-portfolio-listing,.rd-service-portfolio{padding:clamp(64px,8vw,105px) 0;background:#fff}
.rd-service-portfolio{background:#fbf8f2}
.rd-service-portfolio__heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}
.rd-service-portfolio__heading h2{margin:.15em 0;font-size:clamp(2rem,4vw,3.5rem);line-height:1;color:#172438}
.rd-service-portfolio__heading p{margin:0;color:#687281}
.rd-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rd-portfolio-card{overflow:hidden;border:1px solid #ebe3d8;border-radius:24px;background:#fff;box-shadow:0 18px 45px rgba(31,42,55,.08);transition:transform .25s ease,box-shadow .25s ease}
.rd-portfolio-card:hover{transform:translateY(-6px);box-shadow:0 24px 58px rgba(31,42,55,.14)}
.rd-portfolio-card__image{display:block;aspect-ratio:4/3;overflow:hidden;background:#f5efe5}
.rd-portfolio-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.rd-portfolio-card:hover .rd-portfolio-card__image img{transform:scale(1.035)}
.rd-portfolio-card__placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:4rem;font-weight:900;color:#d9cbb7}
.rd-portfolio-card__body{padding:23px 24px 25px}
.rd-portfolio-card__service{margin:0 0 10px;color:#e8681c;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:850}
.rd-portfolio-card h3{margin:0 0 10px;font-size:1.35rem;line-height:1.15}
.rd-portfolio-card h3 a{color:#172438;text-decoration:none}
.rd-portfolio-card__body>p:not(.rd-portfolio-card__service){color:#687281;line-height:1.6}
.rd-portfolio-card__link{display:inline-flex;margin-top:9px;color:#d95c12;text-decoration:none;font-weight:850}
.rd-portfolio-empty{padding:38px;border:1px dashed #d9cbb8;border-radius:24px;background:#fffaf4;text-align:center;color:#5e6774}
.rd-portfolio-empty h2,.rd-portfolio-empty strong{color:#172438}
.rd-portfolio-page .navigation.pagination{margin-top:45px}
.rd-portfolio-page .nav-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.rd-portfolio-page .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid #e5ddd1;border-radius:12px;text-decoration:none;color:#263448;background:#fff}
.rd-portfolio-page .page-numbers.current{background:#e8681c;color:#fff;border-color:#e8681c}
.rd-portfolio-single{background:#fff}
.rd-portfolio-single__article{padding:clamp(55px,7vw,95px) 0}
.rd-portfolio-single__header{max-width:900px;margin-bottom:35px}
.rd-portfolio-single__header h1{margin:.15em 0;font-size:clamp(2.6rem,5vw,5rem);line-height:1;color:#172438}
.rd-portfolio-single__lead{font-size:1.2rem;line-height:1.7;color:#667181}
.rd-portfolio-single__cover{margin:0 0 45px;overflow:hidden;border-radius:28px;box-shadow:0 25px 70px rgba(31,42,55,.15)}
.rd-portfolio-single__cover img{display:block;width:100%;height:auto}
.rd-portfolio-single__content{max-width:900px;margin:auto;font-size:1.05rem;line-height:1.8;color:#465264}
.rd-portfolio-single__content img{border-radius:18px}
.rd-portfolio-single__footer{display:flex;justify-content:space-between;gap:16px;margin-top:55px;padding-top:30px;border-top:1px solid #ebe4da}
@media(max-width:900px){.rd-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rd-service-portfolio__heading{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.rd-portfolio-shell{width:min(100% - 28px,1180px)}.rd-portfolio-grid{grid-template-columns:1fr}.rd-portfolio-filters{gap:7px}.rd-portfolio-filters a{font-size:.8rem;padding:8px 11px}.rd-portfolio-single__footer{flex-direction:column}.rd-portfolio-single__footer a{width:100%;justify-content:center}}

/* RDuende 1.5.0 — sistema visual premium, fondo repetible y contacto */
:root{--rd-brand:#557f3d;--rd-brand-dark:#243d36;--rd-accent:#df6b1f;--rd-soft:#f8f7f2;--rd-border:rgba(36,61,54,.12)}
html{scroll-behavior:smooth}
body{background-color:#fbfaf6;background-image:url('assets/images/patterns/rduende-watermark.svg');background-repeat:repeat;background-size:640px 480px;background-attachment:scroll;color:#27323c}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(rgba(255,255,255,.72),rgba(255,255,255,.72))}
.site-header{background:rgba(255,255,255,.93)!important;backdrop-filter:blur(14px);border-bottom:1px solid var(--rd-border);box-shadow:0 8px 30px rgba(36,61,54,.06)}
.site-header nav a{font-weight:700;letter-spacing:.01em}
.button,.rd-service-button,.rd-map-button{border-radius:12px!important;box-shadow:0 10px 24px rgba(223,107,31,.16);transition:transform .2s ease,box-shadow .2s ease}
.button:hover,.rd-service-button:hover,.rd-map-button:hover{transform:translateY(-2px);box-shadow:0 15px 32px rgba(223,107,31,.22)}
.content-wrap,.rd-svc-section,.rd-home-seo,.rd-portfolio-main{background:rgba(255,255,255,.72)}
.rd-contact-page{position:relative;overflow:hidden}
.rd-contact-hero{padding:72px 24px 80px;background:rgba(255,255,255,.5)}
.rd-contact-shell{width:min(1180px,100%);margin-inline:auto}
.rd-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);gap:clamp(44px,7vw,90px);align-items:start}
.rd-contact-eyebrow{margin:0 0 12px;color:var(--rd-accent);font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.rd-contact-copy h1{margin:0;color:var(--rd-brand-dark);font-size:clamp(3rem,6vw,5.5rem);line-height:.94;letter-spacing:-.055em}
.rd-contact-copy h1 span{display:block;color:var(--rd-brand)}
.rd-contact-lead{max-width:640px;margin:24px 0 32px;color:#5f6a72;font-size:1.1rem;line-height:1.75}
.rd-contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:28px}
.rd-contact-cards>a,.rd-contact-cards>div{display:flex;min-height:110px;padding:20px;flex-direction:column;justify-content:center;border:1px solid var(--rd-border);border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 14px 36px rgba(36,61,54,.07);text-decoration:none}
.rd-contact-cards strong{margin-bottom:8px;color:var(--rd-brand-dark);font-size:.88rem}.rd-contact-cards span{color:#617078;font-size:.9rem;line-height:1.5}
.rd-contact-form-card{padding:28px;border:1px solid var(--rd-border);border-radius:26px;background:rgba(255,255,255,.92);box-shadow:0 20px 60px rgba(36,61,54,.08)}
.rd-contact-form-card h2{margin:0 0 22px;color:var(--rd-brand-dark);font-size:1.45rem}
.rd-contact-form-card .contact-form-wrap{margin:0}.rd-contact-form-card .contact-form{display:grid;gap:16px}.rd-contact-form-card input,.rd-contact-form-card textarea{width:100%;border:1px solid rgba(36,61,54,.16);border-radius:12px;background:#fff;padding:13px 14px;font:inherit}.rd-contact-form-card label{display:block;margin-bottom:7px;color:#33443e;font-weight:750}.rd-contact-form-card .button{background:var(--rd-brand);border:0;color:#fff;padding:14px 24px;font-weight:850}
.rd-contact-map-card{position:sticky;top:120px;padding:30px;border:1px solid var(--rd-border);border-radius:28px;background:rgba(255,255,255,.92);box-shadow:0 24px 70px rgba(36,61,54,.1)}
.rd-contact-map-card h2{margin:0 0 10px;color:var(--rd-brand-dark);font-size:2rem}.rd-contact-map-card>p:not(.rd-contact-eyebrow){color:#647079;line-height:1.65}.rd-contact-map-card img{display:block;width:100%;height:auto;margin:22px 0;border-radius:22px;border:1px solid rgba(36,61,54,.12);box-shadow:0 16px 40px rgba(36,61,54,.08)}
.rd-map-button{display:block;padding:14px 18px;background:var(--rd-brand);color:#fff;text-align:center;text-decoration:none;font-weight:850}
.rd-contact-trust{padding:24px;background:rgba(255,255,255,.86);border-block:1px solid var(--rd-border)}.rd-contact-trust .rd-contact-shell{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.rd-contact-trust div{display:flex;flex-direction:column;padding:14px 18px;text-align:center}.rd-contact-trust strong{color:var(--rd-brand-dark)}.rd-contact-trust span{margin-top:4px;color:#718078;font-size:.85rem}
.site-footer{background:linear-gradient(135deg,#203831,#152a26)!important;margin-top:0!important}.site-footer__inner--rich{grid-template-columns:1.4fr .8fr .8fr 1fr!important}.site-footer__column,.site-footer__legal{display:flex!important;flex-direction:column;align-items:flex-start;gap:10px!important}.site-footer__column strong,.site-footer__legal strong{margin-bottom:8px;color:#fff}.site-footer__column a,.site-footer__address{color:rgba(255,255,255,.72);text-decoration:none;font-size:.92rem;line-height:1.5}.site-footer__column a:hover{color:#fff}.site-footer__bottom span{color:rgba(255,255,255,.62);font-size:.86rem}
@media(max-width:980px){.rd-contact-grid{grid-template-columns:1fr}.rd-contact-map-card{position:relative;top:auto}.rd-contact-trust .rd-contact-shell{grid-template-columns:repeat(2,1fr)}.site-footer__inner--rich{grid-template-columns:1fr 1fr!important}}
@media(max-width:640px){body{background-size:480px 360px}.rd-contact-hero{padding:48px 16px 58px}.rd-contact-cards{grid-template-columns:1fr}.rd-contact-form-card,.rd-contact-map-card{padding:20px;border-radius:22px}.rd-contact-trust .rd-contact-shell{grid-template-columns:1fr 1fr}.site-footer__inner--rich{grid-template-columns:1fr!important}.rd-contact-copy h1{font-size:clamp(2.8rem,16vw,4.2rem)}}

/* ============================================================
   RDuende 1.5.1 — fondo visible + navegación desplegable estable
   ============================================================ */
body{
  position:relative;
  isolation:isolate;
  background:#fbfaf7 !important;
  background-image:none !important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:url('assets/images/patterns/rduende-watermark.svg');
  background-repeat:repeat;
  background-position:center top;
  background-size:640px 480px;
  opacity:.62;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.40),rgba(255,255,255,.56));
}
body > *{position:relative;z-index:1}
main,.site-main,.content-wrap,.rd-contact-page,.rd-portfolio-page,.rd-service-page{
  background:transparent !important;
}
.rd-home-seo,.rd-svc-seo,.rd-svc-seo--soft,.rd-svc-seo--trust,.rd-service-section,.rd-portfolio-main,.rd-contact-hero{
  background-color:rgba(255,255,255,.78) !important;
  backdrop-filter:blur(1.5px);
}
.rd-service-hero,.rd-portfolio-hero{
  background-color:rgba(250,248,242,.82) !important;
}

.rd-main-header{
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center;
  min-height:92px;
  padding:14px 30px;
  overflow:visible !important;
}
.rd-main-header .site-logo{justify-self:start}
.rd-main-nav{justify-self:center;overflow:visible !important}
.rd-main-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,2vw,32px);
  margin:0;
  padding:0;
  list-style:none;
}
.rd-main-menu > li{position:relative;display:flex;align-items:center;white-space:nowrap}
.rd-main-menu > li > a,.rd-menu-services__trigger > a{
  display:inline-flex;
  align-items:center;
  min-height:48px;
  color:var(--rduende-text,#27323c);
  text-decoration:none;
  font-weight:700;
}
.rd-main-menu > li > a:hover,.rd-menu-services__trigger > a:hover{color:var(--rduende-primary,#557f3d)}
.rd-menu-services__trigger{display:flex;align-items:center}
.rd-main-header .rd-submenu-toggle{display:inline-grid !important;place-items:center;width:30px;height:30px;margin-left:3px;color:#38463e}
.rd-main-header .rd-services-submenu{
  position:absolute !important;
  top:calc(100% + 8px) !important;
  left:50% !important;
  right:auto !important;
  z-index:9999 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(250px,1fr)) !important;
  width:min(660px,calc(100vw - 40px)) !important;
  padding:18px !important;
  margin:0 !important;
  border:1px solid rgba(36,61,54,.12) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 28px 70px rgba(31,48,42,.2) !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,12px) !important;
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
  list-style:none;
}
.rd-main-header .rd-services-submenu li{display:block;width:100%;margin:0;padding:0}
.rd-main-header .rd-services-submenu a{
  display:flex !important;
  min-height:68px;
  padding:13px 15px !important;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start !important;
  border-radius:14px;
  color:#24332d !important;
  text-decoration:none;
  white-space:normal !important;
}
.rd-main-header .rd-services-submenu a:hover{background:#f3f6ee !important;color:#4d7438 !important}
.rd-main-header .rd-services-submenu strong{display:block;font-size:.96rem;line-height:1.2}
.rd-main-header .rd-services-submenu small{display:block;margin-top:4px;color:#758079;font-size:.78rem;line-height:1.25}
.rd-main-header .rd-services-submenu__all{grid-column:1/-1;margin-top:6px;padding-top:10px;border-top:1px solid rgba(36,61,54,.10)}
.rd-main-header .rd-services-submenu__all a{min-height:48px;align-items:center !important;background:#fff5ec;color:#d96316 !important;font-weight:850}
.rd-menu-services:hover > .rd-services-submenu,
.rd-menu-services:focus-within > .rd-services-submenu,
.rd-menu-services.rd-submenu-open > .rd-services-submenu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0) !important;
}
.rd-menu-services.rd-submenu-open .rd-submenu-toggle{transform:rotate(180deg)}

@media(max-width:1100px) and (min-width:901px){
  .rd-main-header{grid-template-columns:auto 1fr !important;padding-inline:22px}
  .rd-main-nav{justify-self:end}
  .rd-main-menu{gap:16px}
  .rd-main-header .rd-services-submenu{left:auto !important;right:0 !important;transform:translateY(12px) !important;width:min(620px,calc(100vw - 34px)) !important}
  .rd-menu-services:hover > .rd-services-submenu,.rd-menu-services:focus-within > .rd-services-submenu,.rd-menu-services.rd-submenu-open > .rd-services-submenu{transform:translateY(0) !important}
}
@media(max-width:900px){
  .rd-main-header{display:flex !important;align-items:flex-start;justify-content:space-between;padding:12px 16px;gap:16px}
  .rd-main-nav{width:100%;overflow:visible}
  .rd-main-menu{justify-content:flex-end;flex-wrap:wrap;gap:8px 14px}
  .rd-main-menu > li{flex-wrap:wrap}
  .rd-main-header .rd-services-submenu{position:static !important;grid-template-columns:1fr !important;flex-basis:100%;width:100% !important;margin-top:8px !important;display:none !important;opacity:1;visibility:visible;pointer-events:auto;transform:none !important;box-shadow:0 14px 34px rgba(31,48,42,.12) !important}
  .rd-menu-services.rd-submenu-open > .rd-services-submenu{display:grid !important}
}
@media(max-width:640px){
  body::before{background-size:480px 360px;opacity:.52}
  .rd-main-header{align-items:center}
  .rd-main-header .site-logo img{width:48px;height:48px}
  .rd-main-menu{font-size:.88rem}
}

/* ============================================================
   RDuende 1.5.2 — corrección definitiva de fondo y desplegable
   ============================================================ */
html,body{min-height:100%}
body{
  background-color:#fbfaf7 !important;
  background-image:url('assets/images/patterns/rduende-watermark.svg') !important;
  background-repeat:repeat !important;
  background-position:0 0 !important;
  background-size:520px 390px !important;
}
body::before,
body::after{display:none !important}
body > *{position:relative}

/* El header debe quedar por encima de cualquier hero o sección. */
.site-header.rd-main-header{
  position:relative !important;
  z-index:100000 !important;
  overflow:visible !important;
}
.rd-main-nav,
.rd-main-menu,
.rd-menu-services{overflow:visible !important}
.rd-menu-services{position:relative !important}

/* Desplegable: visible por hover, foco o clic. */
.rd-main-header .rd-services-submenu{
  z-index:100001 !important;
  top:100% !important;
  margin-top:8px !important;
}
.rd-menu-services:hover > .rd-services-submenu,
.rd-menu-services:focus-within > .rd-services-submenu,
.rd-menu-services.rd-submenu-open > .rd-services-submenu{
  display:grid !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

/* Botón de flecha limpio. */
.rd-main-header .rd-submenu-toggle{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  appearance:none;
  -webkit-appearance:none;
}

/* Hacemos visible el patrón también en las áreas principales. */
main,.site-main,.rd-service-page,.rd-portfolio-page,.rd-contact-page,.content-wrap{
  background-color:rgba(255,255,255,.42) !important;
  background-image:url('assets/images/patterns/rduende-watermark.svg') !important;
  background-repeat:repeat !important;
  background-size:520px 390px !important;
}
.rd-service-hero,.rd-portfolio-hero,.rd-contact-hero,
.rd-home-seo,.rd-svc-seo,.rd-svc-seo--soft,.rd-svc-seo--trust,
.rd-service-section,.rd-portfolio-main{
  background-color:rgba(255,255,255,.62) !important;
  background-image:url('assets/images/patterns/rduende-watermark.svg') !important;
  background-repeat:repeat !important;
  background-size:520px 390px !important;
}

@media(max-width:900px){
  .site-header.rd-main-header{z-index:100000 !important}
  .rd-main-header .rd-services-submenu{
    position:relative !important;
    top:auto !important;
    margin-top:10px !important;
  }
}

/* ============================================================
   RDuende 1.5.3 — fondo de marca de agua realmente visible
   ============================================================ */
html{
  background:#fdfcf8 url('assets/images/patterns/rduende-watermark.png') repeat 0 0 / 760px 560px !important;
}
body{
  background:#fdfcf8 url('assets/images/patterns/rduende-watermark.png') repeat 0 0 / 760px 560px !important;
  background-attachment:scroll !important;
}

/* Las envolventes generales no deben tapar el patrón. */
main,
.site-main,
.content-wrap,
.rd-services-page,
.rd-service-page,
.rd-portfolio-page,
.rd-contact-page,
.rd-home-page{
  background:transparent !important;
  background-image:none !important;
}

/* Las zonas grandes conservan legibilidad dejando pasar la marca de agua. */
.rd-services-hero,
.rd-service-hero,
.rd-portfolio-hero,
.rd-contact-hero,
.rd-home-seo,
.rd-svc-seo,
.rd-svc-seo--soft,
.rd-svc-seo--trust,
.rd-service-section,
.rd-portfolio-main,
.rd-contact-main,
.rd-service-cta--premium{
  background-image:none !important;
  background-color:rgba(253,252,248,.74) !important;
  backdrop-filter:blur(.7px);
  -webkit-backdrop-filter:blur(.7px);
}

/* Variaciones suaves para distinguir bloques sin ocultar el fondo. */
.rd-svc-seo--soft,
.rd-service-section--process,
.rd-service-section--faq,
.rd-service-cta--premium{
  background-color:rgba(246,241,232,.80) !important;
}
.rd-service-section--gallery,
.rd-service-section--tech,
.rd-svc-seo--trust,
.rd-portfolio-main{
  background-color:rgba(255,255,255,.82) !important;
}

/* Evita que pseudo-elementos antiguos vuelvan a cubrir el patrón. */
.rd-services-page::before,
.rd-services-page::after,
.rd-service-page::before,
.rd-service-page::after,
.rd-contact-page::before,
.rd-contact-page::after,
.rd-portfolio-page::before,
.rd-portfolio-page::after{
  background:none !important;
}

@media(max-width:700px){
  html,body{background-size:570px 420px !important}
  .rd-services-hero,.rd-service-hero,.rd-portfolio-hero,.rd-contact-hero,
  .rd-home-seo,.rd-svc-seo,.rd-service-section,.rd-portfolio-main{
    background-color:rgba(253,252,248,.82) !important;
  }
}


/* ============================================================
   RDuende 1.5.4 — patrón visible aplicado sobre cada superficie
   ============================================================ */
:root{--rd-watermark:url('assets/images/patterns/rduende-watermark-visible.png')}
html,body{
  background-color:#fbfaf6 !important;
  background-image:var(--rd-watermark) !important;
  background-repeat:repeat !important;
  background-size:1000px 700px !important;
  background-position:0 0 !important;
}
/* El patrón se aplica en la propia sección; así ningún fondo heredado puede ocultarlo. */
.rd-services-premium,
.rd-services-premium--page,
.rd-service-hero,
.rd-portfolio-hero,
.rd-contact-hero,
.rd-home-seo-section,
.rd-home-seo-section--soft,
.rd-svc-seo,
.rd-svc-seo--soft,
.rd-svc-seo--trust,
.rd-service-section,
.rd-service-section--tech,
.rd-service-section--process,
.rd-service-section--gallery,
.rd-service-section--faq,
.rd-portfolio-main,
.rd-contact-main,
.content-wrap{
  background-image:var(--rd-watermark) !important;
  background-repeat:repeat !important;
  background-size:1000px 700px !important;
  background-position:0 0 !important;
  background-color:rgba(251,250,246,.88) !important;
}
.rd-services-premium{
  background-image:
    radial-gradient(circle at 8% 18%,rgba(230,126,34,.08),transparent 28%),
    radial-gradient(circle at 92% 76%,rgba(74,92,58,.08),transparent 30%),
    var(--rd-watermark) !important;
}
.rd-services-premium::before{
  opacity:.12 !important;
}
/* Bloques alternos: color suficiente para separar, sin tapar la marca de agua. */
.rd-home-seo-section--soft,
.rd-svc-seo--soft,
.rd-service-section--process,
.rd-service-section--faq{
  background-color:rgba(245,240,230,.86) !important;
}
/* Las tarjetas permanecen limpias y legibles. */
.rd-service-premium-card,
.rd-tech-card,
.rd-svc-seo__cards article,
.rd-home-process article,
.rd-home-sectors article,
.rd-portfolio-card,
.rd-contact-form-card,
.rd-contact-map-card{
  background-color:rgba(255,255,255,.96) !important;
  background-image:none !important;
}
@media(max-width:700px){
  html,body,
  .rd-services-premium,.rd-service-hero,.rd-portfolio-hero,.rd-contact-hero,
  .rd-home-seo-section,.rd-svc-seo,.rd-service-section,.rd-portfolio-main{
    background-size:720px 504px !important;
  }
}

/* ============================================================
   RDuende 1.5.5 — fondo ilustrado real, limpio y repetible
   ============================================================ */
:root{
  --rd-watermark:url('assets/images/patterns/rduende-principito-pattern.png');
}
html,body{
  background-color:#fcfbf7 !important;
  background-image:var(--rd-watermark) !important;
  background-repeat:repeat !important;
  background-size:980px 700px !important;
  background-position:center top !important;
}
.rd-services-premium,
.rd-services-premium--page,
.rd-service-hero,
.rd-portfolio-hero,
.rd-contact-hero,
.rd-home-seo-section,
.rd-home-seo-section--soft,
.rd-svc-seo,
.rd-svc-seo--soft,
.rd-svc-seo--trust,
.rd-service-section,
.rd-service-section--tech,
.rd-service-section--process,
.rd-service-section--gallery,
.rd-service-section--faq,
.rd-portfolio-main,
.rd-contact-main,
.content-wrap{
  background-image:var(--rd-watermark) !important;
  background-repeat:repeat !important;
  background-size:980px 700px !important;
  background-position:center top !important;
  background-color:rgba(252,251,247,.72) !important;
}
.rd-home-seo-section--soft,
.rd-svc-seo--soft,
.rd-service-section--process,
.rd-service-section--faq{
  background-color:rgba(247,243,235,.76) !important;
}
.rd-service-premium-card,
.rd-tech-card,
.rd-svc-seo__cards article,
.rd-home-process article,
.rd-home-sectors article,
.rd-portfolio-card,
.rd-contact-form-card,
.rd-contact-map-card{
  background-color:rgba(255,255,255,.96) !important;
  background-image:none !important;
}
@media(max-width:700px){
  html,body,
  .rd-services-premium,.rd-service-hero,.rd-portfolio-hero,.rd-contact-hero,
  .rd-home-seo-section,.rd-svc-seo,.rd-service-section,.rd-portfolio-main{
    background-size:760px 543px !important;
  }
}


/* ============================================================
   RDuende 1.5.7 — fondo definitivo y caché invalidada
   ============================================================ */
:root{
  --rd-watermark-v157:url('assets/images/patterns/rduende-principito-pattern-v157.png');
}
html,
body{
  background-color:#fcfbf7 !important;
  background-image:var(--rd-watermark-v157) !important;
  background-repeat:repeat !important;
  background-size:1024px auto !important;
  background-position:center top !important;
  background-attachment:scroll !important;
}

/* Un único fondo continuo: las secciones ya no reinician el dibujo. */
.rd-services-premium,
.rd-services-premium--page,
.rd-service-hero,
.rd-portfolio-hero,
.rd-contact-hero,
.rd-home-seo-section,
.rd-home-seo-section--soft,
.rd-svc-seo,
.rd-svc-seo--soft,
.rd-svc-seo--trust,
.rd-service-section,
.rd-service-section--tech,
.rd-service-section--process,
.rd-service-section--gallery,
.rd-service-section--faq,
.rd-portfolio-main,
.rd-contact-main,
.content-wrap{
  background-image:none !important;
  background-color:rgba(252,251,247,.76) !important;
}

.rd-home-seo-section--soft,
.rd-svc-seo--soft,
.rd-service-section--process,
.rd-service-section--faq{
  background-color:rgba(247,243,235,.80) !important;
}

/* Logo siempre transparente y sin caja ni sombra. */
.site-logo,
.site-logo img,
.custom-logo-link,
.custom-logo-link img,
.site-branding,
.site-branding img{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

@media(max-width:700px){
  html,body{
    background-size:760px auto !important;
    background-position:center top !important;
  }
}


/* ==========================================================
   RDuende 1.5.8 — nuevo hero panorámico
   ========================================================== */
body.home .rd-home-hero--principito{
	position:relative;
	min-height:clamp(760px,92vh,1040px);
	padding:clamp(120px,14vh,170px) 24px 38px;
	overflow:hidden;
	background-color:#071b32;
	background-image:
		linear-gradient(90deg,rgba(4,18,35,.90) 0%,rgba(4,18,35,.66) 35%,rgba(4,18,35,.16) 63%,rgba(4,18,35,.03) 100%),
		url("assets/images/hero-principito-v158.webp") !important;
	background-repeat:no-repeat !important;
	background-size:cover !important;
	background-position:center center !important;
	color:#fff;
}

body.home .rd-home-hero--principito::after{
	content:"";
	position:absolute;
	inset:auto 0 0;
	height:36%;
	pointer-events:none;
	background:linear-gradient(180deg,transparent,rgba(4,17,31,.40));
}

body.home .rd-home-hero--principito .rd-service-hero__inner{
	position:relative;
	z-index:2;
	width:min(1360px,100%);
	min-height:650px;
	margin:auto;
	display:grid;
	grid-template-columns:minmax(0,620px) 1fr;
	grid-template-rows:1fr auto;
	grid-template-areas:
		"copy empty"
		"benefits benefits";
	align-items:center;
	gap:48px 64px;
}

body.home .rd-home-hero--principito .rd-service-hero__copy{
	grid-area:copy;
	max-width:620px;
	padding-top:20px;
}

body.home .rd-home-hero--principito .rd-service-overline{
	color:#a9cc65;
	font-size:.96rem;
	letter-spacing:.1em;
	text-transform:uppercase;
	font-weight:800;
}

body.home .rd-home-hero--principito h1{
	margin:.18em 0 .25em;
	color:#fff;
	font-family:Georgia,"Times New Roman",serif;
	font-size:clamp(4rem,6.1vw,7rem);
	line-height:.86;
	letter-spacing:-.045em;
	text-shadow:0 4px 28px rgba(0,0,0,.25);
}

body.home .rd-home-hero--principito h1 em{
	color:#99bd52;
	font-style:normal;
}

body.home .rd-home-hero--principito .rd-service-lead{
	max-width:560px;
	margin:0;
	color:rgba(255,255,255,.94);
	font-size:clamp(1.08rem,1.45vw,1.32rem);
	line-height:1.58;
}

body.home .rd-home-hero--principito .rd-service-actions{
	margin-top:30px;
}

body.home .rd-home-hero--principito .rd-service-button--primary{
	background:#8faf4c;
	border-color:#8faf4c;
	color:#fff;
}

body.home .rd-home-hero--principito .rd-service-button--secondary{
	background:rgba(7,27,50,.25);
	border-color:rgba(166,201,91,.72);
	color:#b8d778;
	backdrop-filter:blur(8px);
}

body.home .rd-home-hero--principito .rd-home-benefits{
	grid-area:benefits;
	position:relative;
	z-index:3;
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:0;
	margin:0;
	padding:22px 14px;
	border:1px solid rgba(255,255,255,.45);
	border-radius:24px;
	background:rgba(255,253,247,.96);
	box-shadow:0 22px 65px rgba(0,0,0,.24);
	backdrop-filter:blur(12px);
}

body.home .rd-home-hero--principito .rd-home-benefits article{
	min-height:126px;
	padding:14px 18px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:10px;
	text-align:center;
	border-radius:0;
	background:transparent;
	box-shadow:none;
	border-right:1px solid rgba(74,92,58,.13);
}

body.home .rd-home-hero--principito .rd-home-benefits article:last-child{
	border-right:0;
}

body.home .rd-home-hero--principito .rd-home-benefits strong{
	display:block;
	color:#1c282c;
	font-size:.96rem;
	line-height:1.25;
}

body.home .rd-home-hero--principito .rd-home-benefits small{
	display:block;
	margin-top:5px;
	color:#66706b;
	font-size:.76rem;
	line-height:1.3;
}

body.home .rd-home-hero--principito .rd-home-benefit-icon{
	display:grid;
	place-items:center;
	width:46px;
	height:46px;
	border-radius:50%;
	background:#f2f4e6;
	color:#58743b;
	font-size:1.45rem;
}

body.home .rd-home-hero--principito .rd-service-stars{
	opacity:.65;
}

@media (max-width:1050px){
	body.home .rd-home-hero--principito{
		min-height:900px;
		padding-top:120px;
		background-position:62% center !important;
	}
	body.home .rd-home-hero--principito .rd-service-hero__inner{
		grid-template-columns:minmax(0,560px) 1fr;
	}
	body.home .rd-home-hero--principito .rd-home-benefits{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
	body.home .rd-home-hero--principito .rd-home-benefits article:nth-child(3){
		border-right:0;
	}
	body.home .rd-home-hero--principito .rd-home-benefits article:nth-child(-n+3){
		border-bottom:1px solid rgba(74,92,58,.13);
	}
}

@media (max-width:760px){
	body.home .rd-home-hero--principito{
		min-height:auto;
		padding:108px 16px 24px;
		background-image:
			linear-gradient(180deg,rgba(4,18,35,.76) 0%,rgba(4,18,35,.62) 48%,rgba(4,18,35,.82) 100%),
			url("assets/images/hero-principito-v158.webp") !important;
		background-position:68% center !important;
	}
	body.home .rd-home-hero--principito .rd-service-hero__inner{
		min-height:0;
		display:block;
	}
	body.home .rd-home-hero--principito .rd-service-hero__copy{
		max-width:100%;
		padding:18px 4px 300px;
	}
	body.home .rd-home-hero--principito h1{
		font-size:clamp(3.25rem,15vw,5.15rem);
	}
	body.home .rd-home-hero--principito .rd-service-actions{
		display:grid;
		grid-template-columns:1fr;
	}
	body.home .rd-home-hero--principito .rd-home-benefits{
		grid-template-columns:repeat(2,minmax(0,1fr));
		padding:8px;
		border-radius:20px;
	}
	body.home .rd-home-hero--principito .rd-home-benefits article{
		min-height:124px;
		padding:12px 8px;
		border-right:1px solid rgba(74,92,58,.13);
		border-bottom:1px solid rgba(74,92,58,.13);
	}
	body.home .rd-home-hero--principito .rd-home-benefits article:nth-child(even){
		border-right:0;
	}
	body.home .rd-home-hero--principito .rd-home-benefits article:nth-last-child(-n+2){
		border-bottom:0;
	}
}


/* ==========================================================
   RDuende Theme 2.0 — Universo de héroes de servicios
   ========================================================== */
.rd-service-hero--storybook{
    --story-accent:#d98b55;
    position:relative;
    min-height:760px;
    overflow:hidden;
    isolation:isolate;
    background:
      radial-gradient(circle at 78% 30%,color-mix(in srgb,var(--story-accent) 24%,transparent),transparent 28%),
      linear-gradient(110deg,#071c34 0%,#0c2c4a 48%,#234a63 72%,#f0c276 145%) !important;
}
.rd-service-hero--storybook::before{
    content:"";
    position:absolute;inset:0;z-index:-1;pointer-events:none;
    background-image:
      radial-gradient(circle at 12% 18%,rgba(255,229,158,.9) 0 2px,transparent 3px),
      radial-gradient(circle at 35% 9%,rgba(255,255,255,.8) 0 1px,transparent 2px),
      radial-gradient(circle at 64% 16%,rgba(255,222,144,.75) 0 2px,transparent 3px),
      radial-gradient(circle at 88% 12%,rgba(255,255,255,.7) 0 1px,transparent 2px);
    background-size:230px 190px,310px 260px,390px 310px,470px 370px;
    opacity:.72;
}
.rd-service-hero--storybook::after{
    content:"RDuende";
    position:absolute;right:-.03em;bottom:-.22em;z-index:-1;
    font:800 clamp(7rem,16vw,15rem)/1 Montserrat,Arial,sans-serif;
    color:rgba(255,255,255,.035);letter-spacing:-.08em;pointer-events:none;
}
.rd-service-hero--storybook .rd-service-hero__inner{
    width:min(1380px,calc(100% - 40px));min-height:720px;margin:auto;
    grid-template-columns:minmax(0,600px) minmax(420px,1fr);
    align-items:center;gap:32px 44px;
}
.rd-service-hero--storybook .rd-service-hero__copy{position:relative;z-index:3;padding-top:34px}
.rd-service-hero--storybook h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.8rem,5.7vw,6.8rem);line-height:.92;letter-spacing:-.045em;color:#fff;text-shadow:0 5px 30px rgba(0,0,0,.25)}
.rd-service-hero--storybook h1 span{color:color-mix(in srgb,var(--story-accent) 75%,#fff)}
.rd-service-hero--storybook .rd-service-kicker{color:color-mix(in srgb,var(--story-accent) 80%,#fff)}
.rd-service-hero--storybook .rd-service-hero__lead{color:#fff;font-size:clamp(1.2rem,1.8vw,1.55rem);max-width:600px}
.rd-service-hero--storybook .rd-service-hero__text{color:rgba(255,255,255,.82);max-width:590px}
.rd-service-hero--storybook .rd-service-button--primary{background:var(--story-accent);border-color:var(--story-accent);color:#fff;box-shadow:0 15px 40px color-mix(in srgb,var(--story-accent) 30%,transparent)}
.rd-service-hero--storybook .rd-service-button--secondary{background:rgba(6,24,44,.34);border-color:rgba(255,255,255,.5);color:#fff;backdrop-filter:blur(8px)}
.rd-service-story-visual{position:relative;display:grid;place-items:center;min-height:560px;align-self:center}
.rd-service-story-art{position:relative;z-index:2;display:block;width:min(740px,112%);height:auto;max-width:none;filter:drop-shadow(0 30px 38px rgba(0,0,0,.28));animation:rdStoryFloat 7s ease-in-out infinite}
.rd-service-story-visual .rd-service-visual-glow{position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--story-accent) 35%,transparent),transparent 68%);filter:blur(28px)}
.rd-service-hero--storybook .rd-service-experience{z-index:4;right:3%;bottom:12%;background:rgba(255,253,245,.93);border:1px solid rgba(255,255,255,.8);box-shadow:0 20px 50px rgba(0,0,0,.22);backdrop-filter:blur(10px)}
.rd-service-hero--storybook .rd-service-benefits{position:relative;z-index:5;background:rgba(255,253,246,.96);border:1px solid rgba(255,255,255,.75);box-shadow:0 22px 65px rgba(0,0,0,.2);backdrop-filter:blur(14px)}
.rd-service-hero--storybook .rd-service-benefits__icon{background:color-mix(in srgb,var(--story-accent) 18%,#fff);color:color-mix(in srgb,var(--story-accent) 72%,#26394a)}
@keyframes rdStoryFloat{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-14px) rotate(.35deg)}}
.rd-service-hero--rotulacion-de-vehiculos-y-empresas{--story-accent:#ef8d61}
.rd-service-hero--corte-y-grabado-laser{--story-accent:#63c7d8}
.rd-service-hero--estampacion-de-camisetas-deportivas{--story-accent:#e99b59}
.rd-service-hero--letras-corporeas{--story-accent:#e3bd52}
.rd-service-hero--articulos-publicitarios{--story-accent:#d994b6}
.rd-service-hero--diseno-grafico{--story-accent:#79aee7}
.rd-service-hero--impresion-digital{--story-accent:#82bd73}
.rd-service-hero--impresion-de-gran-formato{--story-accent:#e9854d}
@media(max-width:1050px){
 .rd-service-hero--storybook{min-height:900px}
 .rd-service-hero--storybook .rd-service-hero__inner{grid-template-columns:minmax(0,52%) minmax(0,48%);min-height:850px}
 .rd-service-story-art{width:700px;transform-origin:center}
}
@media(max-width:780px){
 .rd-service-hero--storybook{min-height:auto;padding-top:78px}
 .rd-service-hero--storybook .rd-service-hero__inner{display:flex;flex-direction:column;width:min(100% - 28px,680px);min-height:0;gap:5px}
 .rd-service-hero--storybook .rd-service-hero__copy{order:1;padding-top:35px;text-align:left}
 .rd-service-hero--storybook h1{font-size:clamp(3.2rem,15vw,5.4rem)}
 .rd-service-story-visual{order:2;width:100%;min-height:390px;margin-top:-20px}
 .rd-service-story-art{width:min(680px,138%)}
 .rd-service-hero--storybook .rd-service-experience{right:5%;bottom:7%}
 .rd-service-hero--storybook .rd-service-benefits{order:3;margin-top:-18px}
}
@media(prefers-reduced-motion:reduce){.rd-service-story-art{animation:none}}


/* RDuende 2.1.0 — hero finales de servicios */
.rd-service-hero--storybook .rd-service-story-art{
  width:100%;
  max-width:920px;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center;
  border-radius:30px;
  box-shadow:0 30px 78px rgba(0,0,0,.30);
}
@media(max-width:760px){
  .rd-service-hero--storybook .rd-service-story-art{aspect-ratio:4/3;border-radius:22px;}
}


/* ============================================================
   RDuende 2.1.2 — correcciones móviles de heroes y menú
   ============================================================ */
@media (max-width: 760px){
  /* La ilustración de portada conserva un tamaño propio. Con cover se
     ampliaba a la altura completa del hero y los personajes quedaban
     fuera del recorte en pantallas estrechas. */
  body.home .rd-home-hero--principito{
    background-size:100% 100%, auto 690px !important;
    background-position:center center, 63% 215px !important;
    background-repeat:no-repeat,no-repeat !important;
  }
  body.home .rd-home-hero--principito .rd-service-hero__copy{
    padding-bottom:340px !important;
  }

  /* Las imágenes de los heroes de servicios siempre se muestran en móvil. */
  .rd-service-hero--storybook .rd-service-story-visual{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    min-height:0 !important;
    margin:18px 0 8px !important;
    overflow:visible !important;
  }
  .rd-service-hero--storybook .rd-service-story-art{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:16/10 !important;
    object-fit:cover !important;
    object-position:center !important;
    transform:none !important;
    animation:none !important;
  }
}

@media (max-width: 900px){
  /* En dispositivos táctiles el desplegable depende exclusivamente del
     estado de clic. Se anulan hover/focus, que provocaban su cierre inmediato. */
  .rd-menu-services:hover > .rd-services-submenu,
  .rd-menu-services:focus-within > .rd-services-submenu{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  .rd-menu-services.rd-submenu-open > .rd-services-submenu,
  .rd-menu-services.rd-submenu-open:hover > .rd-services-submenu,
  .rd-menu-services.rd-submenu-open:focus-within > .rd-services-submenu{
    display:grid !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  .rd-menu-services.rd-submenu-open{
    flex-basis:100%;
  }
  .rd-menu-services.rd-submenu-open .rd-menu-services__trigger{
    margin-left:auto;
  }
  .rd-main-header .rd-services-submenu a{
    position:relative;
    z-index:2;
    touch-action:manipulation;
  }
}


/* ============================================================
   RDuende 2.1.4 — hero de portada estable en escritorio y móvil
   ============================================================ */
/* Este elemento solo se utiliza en móvil. En escritorio no participa
   en la cuadrícula y no puede alterar el ancho del texto. */
body.home .rd-home-hero--principito .rd-home-hero-mobile-art {
  display: none !important;
}

@media (max-width: 760px) {
  body.home .rd-home-hero--principito {
    min-height: auto !important;
    padding: 92px 16px 24px !important;
    background: linear-gradient(180deg, #44515e 0%, #53606c 28%, #071b32 64%, #071b32 100%) !important;
  }

  body.home .rd-home-hero--principito .rd-service-hero__inner {
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 18px !important;
  }

  body.home .rd-home-hero--principito .rd-service-hero__copy {
    width: 100% !important;
    max-width: none !important;
    padding: 16px 4px 0 !important;
  }

  body.home .rd-home-hero--principito .rd-home-hero-mobile-art {
    display: block !important;
    position: relative;
    z-index: 3;
    width: 100%;
    margin: 2px 0 0;
    overflow: hidden;
    border-radius: 22px;
    background: #071b32;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .28);
  }

  body.home .rd-home-hero--principito .rd-home-hero-mobile-art img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center center;
  }

  body.home .rd-home-hero--principito .rd-home-benefits {
    width: 100% !important;
    margin: 0 !important;
  }
}
\n\n/* ============================================================\n   RDuende 2.1.5 — recorte móvil específico del hero de portada\n   ============================================================ */\n@media (max-width: 760px) {\n  body.home .rd-home-hero--principito {\n    padding-top: 72px !important;\n  }\n\n  body.home .rd-home-hero--principito .rd-home-hero-mobile-art {\n    aspect-ratio: 4 / 3 !important;\n    border-radius: 20px !important;\n    background: #0b2744 !important;\n  }\n\n  body.home .rd-home-hero--principito .rd-home-hero-mobile-art img {\n    width: 100% !important;\n    height: 100% !important;\n    aspect-ratio: auto !important;\n    object-fit: cover !important;\n    object-position: center center !important;\n  }\n}\n

/* reCAPTCHA v2 visible */
.contact-form-captcha {
	margin-top: 4px;
	overflow-x: auto;
}
.contact-form-captcha .g-recaptcha {
	min-height: 78px;
}
@media (max-width: 380px) {
	.contact-form-captcha .g-recaptcha {
		transform: scale(.88);
		transform-origin: left top;
		margin-bottom: -9px;
	}
}

/* 2.1.7 - comprobación humana local, sin Google reCAPTCHA */
.contact-form-human-check {
  margin: 18px 0;
}
.contact-form-human-check label {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 16px;
  border: 1px solid #d8ddd4;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  font-weight: 700;
  color: #243b35;
}
.contact-form-human-check input[type="checkbox"] {
  width: 24px;
  height: 24px;
  margin: 0;
  flex: 0 0 auto;
  accent-color: #568b3f;
}
.contact-form-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}


/* 2.2.0 - páginas legales y consentimiento */
.contact-form-privacy-check { margin: 12px 0 20px; }
.contact-form-privacy-check label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .94rem;
  line-height: 1.5;
  color: #34443f;
}
.contact-form-privacy-check input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  flex: 0 0 auto;
  accent-color: #568b3f;
}
.contact-form-privacy-check a { font-weight: 700; }
body.page .entry-content h2 { margin-top: 2rem; }
body.page .entry-content h3 { margin-top: 1.4rem; }
body.page .entry-content ul { padding-left: 1.25rem; }
body.page .entry-content li { margin-bottom: .45rem; }


/* ============================================================
   RDuende 2.2.1 — cabecera y hero móvil definitivos
   ============================================================ */
.rd-mobile-menu-toggle{
  display:none;
}

@media (max-width:900px){
  body{padding-top:72px !important;}

  .site-header.rd-main-header{
    position:fixed !important;
    inset:0 0 auto 0;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:72px !important;
    height:72px;
    padding:8px 16px !important;
    gap:12px !important;
    background:rgba(255,255,255,.98) !important;
    border-bottom:1px solid rgba(36,61,54,.10) !important;
    box-shadow:0 8px 24px rgba(20,38,31,.10) !important;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  .rd-main-header .site-logo{
    position:relative;
    z-index:3;
  }
  .rd-main-header .site-logo img{
    width:auto !important;
    height:54px !important;
  }
  .rd-mobile-menu-toggle{
    position:relative;
    z-index:3;
    display:grid !important;
    place-content:center;
    gap:5px;
    width:46px;
    height:46px;
    padding:0;
    border:1px solid rgba(48,71,60,.14) !important;
    border-radius:14px !important;
    background:#f6f4ed !important;
    box-shadow:none !important;
    cursor:pointer;
  }
  .rd-mobile-menu-toggle span{
    display:block;
    width:22px;
    height:2px;
    border-radius:10px;
    background:#263b32;
    transition:transform .2s ease,opacity .2s ease;
  }
  .rd-mobile-menu-open .rd-mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .rd-mobile-menu-open .rd-mobile-menu-toggle span:nth-child(2){opacity:0}
  .rd-mobile-menu-open .rd-mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .rd-main-nav{
    position:absolute !important;
    z-index:2;
    top:72px;
    left:0;
    right:0;
    width:100% !important;
    max-height:calc(100vh - 72px);
    overflow-y:auto !important;
    padding:12px 14px 22px;
    background:rgba(255,255,255,.99);
    border-bottom:1px solid rgba(36,61,54,.10);
    box-shadow:0 18px 36px rgba(24,42,34,.16);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-12px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
  }
  .rd-mobile-menu-open .rd-main-nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .rd-main-menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    gap:4px !important;
    width:100%;
    font-size:1rem !important;
  }
  .rd-main-menu > li{
    display:block !important;
    width:100%;
    border-bottom:1px solid rgba(36,61,54,.08);
  }
  .rd-main-menu > li > a,
  .rd-menu-services__trigger > a{
    display:flex !important;
    align-items:center;
    min-height:52px !important;
    padding:0 10px !important;
    font-size:1rem;
    font-weight:800;
  }
  .rd-menu-services__trigger{
    display:grid !important;
    grid-template-columns:1fr 46px;
    align-items:center;
    width:100%;
  }
  .rd-main-header .rd-submenu-toggle{
    width:42px !important;
    height:42px !important;
    margin:0 !important;
    border-radius:12px !important;
    background:#f2f5ed !important;
  }
  .rd-main-header .rd-services-submenu{
    position:static !important;
    display:none !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    margin:0 0 10px !important;
    padding:8px !important;
    border-radius:16px !important;
    background:#f7f8f4 !important;
    box-shadow:none !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  .rd-menu-services.rd-submenu-open > .rd-services-submenu{display:grid !important;}
  .rd-main-header .rd-services-submenu a{
    min-height:54px !important;
    padding:10px 12px !important;
    border-radius:10px;
  }
  .rd-main-header .rd-services-submenu small{font-size:.76rem}
}

@media (max-width:760px){
  body.home .rd-home-hero--principito{
    min-height:0 !important;
    padding:14px 14px 22px !important;
    background:#eef0ec !important;
  }
  body.home .rd-home-hero--principito .rd-service-hero__inner{
    width:100% !important;
    max-width:620px !important;
    margin:0 auto !important;
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
  }
  body.home .rd-home-hero--principito .rd-home-hero-mobile-art{
    order:1 !important;
    display:block !important;
    width:100% !important;
    aspect-ratio:4 / 3 !important;
    margin:0 !important;
    border-radius:22px !important;
    overflow:hidden !important;
    background:#0b2744 !important;
    box-shadow:0 14px 34px rgba(13,33,49,.20) !important;
  }
  body.home .rd-home-hero--principito .rd-home-hero-mobile-art img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }
  body.home .rd-home-hero--principito .rd-service-hero__copy{
    order:2 !important;
    width:100% !important;
    padding:22px 20px 20px !important;
    border:1px solid rgba(36,61,54,.08);
    border-radius:22px;
    background:rgba(255,255,255,.97);
    box-shadow:0 12px 28px rgba(31,48,42,.09);
    text-align:left !important;
  }
  body.home .rd-home-hero--principito .rd-service-overline{
    margin:0 0 8px !important;
    color:#d76728 !important;
    font-size:.78rem !important;
    letter-spacing:.13em !important;
  }
  body.home .rd-home-hero--principito h1{
    margin:0 !important;
    color:#20342c !important;
    font-size:clamp(2.55rem,12vw,4rem) !important;
    line-height:.94 !important;
    text-shadow:none !important;
  }
  body.home .rd-home-hero--principito h1 em{color:#d76728 !important;}
  body.home .rd-home-hero--principito .rd-service-lead{
    margin:15px 0 0 !important;
    color:#5f6c65 !important;
    font-size:1rem !important;
    line-height:1.55 !important;
  }
  body.home .rd-home-hero--principito .rd-service-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:10px !important;
    margin-top:18px !important;
  }
  body.home .rd-home-hero--principito .rd-service-button{
    width:100%;
    min-height:48px;
    padding:12px 10px !important;
    justify-content:center;
    text-align:center;
  }
  body.home .rd-home-hero--principito .rd-home-benefits{
    order:3 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    gap:10px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  body.home .rd-home-hero--principito .rd-home-benefits article{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start !important;
    min-height:132px;
    padding:16px !important;
    border:1px solid rgba(36,61,54,.08) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.97) !important;
    text-align:left !important;
  }
  body.home .rd-home-hero--principito .rd-home-benefit-icon{
    width:38px !important;
    height:38px !important;
    margin:0 0 10px !important;
  }
  body.home .rd-home-hero--principito .rd-home-benefits strong{
    font-size:.91rem !important;
    line-height:1.25 !important;
  }
  body.home .rd-home-hero--principito .rd-home-benefits small{
    margin-top:5px !important;
    font-size:.75rem !important;
    line-height:1.35 !important;
  }
}

@media (max-width:390px){
  body.home .rd-home-hero--principito .rd-service-actions{grid-template-columns:1fr;}
  body.home .rd-home-hero--principito .rd-home-benefits{grid-template-columns:1fr !important;}
  body.home .rd-home-hero--principito .rd-home-benefits article{min-height:0;}
}


/* =========================================================
   RDUENDE 2.2.2 — Pulido definitivo de cabecera y hero móvil
   ========================================================= */
@media (max-width:900px){
  body{padding-top:68px !important;}

  .site-header.rd-main-header{
    min-height:68px !important;
    height:68px !important;
    padding:5px 14px !important;
    gap:10px !important;
  }
  .rd-main-header .site-logo{
    display:flex !important;
    align-items:center !important;
    height:58px !important;
  }
  .rd-main-header .site-logo img{
    display:block !important;
    width:auto !important;
    height:58px !important;
    max-width:105px !important;
    object-fit:contain !important;
  }
  .rd-mobile-menu-toggle{
    width:42px !important;
    height:42px !important;
    border-radius:12px !important;
    gap:4px !important;
  }
  .rd-mobile-menu-toggle span{
    width:20px !important;
    height:2px !important;
  }
  .rd-mobile-menu-open .rd-mobile-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .rd-mobile-menu-open .rd-mobile-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

  .rd-main-nav{
    top:68px !important;
    max-height:calc(100vh - 68px) !important;
    padding:10px 12px 18px !important;
  }
  .rd-main-menu > li > a,
  .rd-menu-services__trigger > a{
    min-height:48px !important;
  }
}

@media (max-width:760px){
  body.home .rd-home-hero--principito{
    padding:8px 10px 18px !important;
  }
  body.home .rd-home-hero--principito .rd-service-hero__inner{
    gap:8px !important;
  }
  body.home .rd-home-hero--principito .rd-home-hero-mobile-art{
    aspect-ratio:1.34 / 1 !important;
    border-radius:18px !important;
    box-shadow:0 10px 26px rgba(13,33,49,.16) !important;
  }
  body.home .rd-home-hero--principito .rd-home-hero-mobile-art img{
    object-position:center 48% !important;
  }
  body.home .rd-home-hero--principito .rd-service-hero__copy{
    padding:10px 4px 8px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body.home .rd-home-hero--principito .rd-service-overline{
    display:none !important;
  }
  body.home .rd-home-hero--principito h1{
    font-size:clamp(2.45rem,11.2vw,3.55rem) !important;
    line-height:.91 !important;
    letter-spacing:-.035em !important;
  }
  body.home .rd-home-hero--principito .rd-service-lead{
    margin:12px 0 0 !important;
    font-size:1.02rem !important;
    line-height:1.48 !important;
  }
  body.home .rd-home-hero--principito .rd-home-service-line{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px 8px !important;
    margin:12px 0 0 !important;
    color:#40534a !important;
    font-size:.76rem !important;
    font-weight:800 !important;
    line-height:1.25 !important;
  }
  body.home .rd-home-hero--principito .rd-home-service-line span{
    display:inline-flex !important;
    align-items:center !important;
    padding:6px 9px !important;
    border:1px solid rgba(74,92,58,.13) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.7) !important;
  }
  body.home .rd-home-hero--principito .rd-service-actions{
    margin-top:14px !important;
  }
  body.home .rd-home-hero--principito .rd-service-button{
    min-height:46px !important;
  }
  body.home .rd-home-hero--principito .rd-home-benefits{
    gap:8px !important;
  }
  body.home .rd-home-hero--principito .rd-home-benefits article{
    min-height:116px !important;
    padding:13px !important;
    border-radius:16px !important;
  }
  body.home .rd-home-hero--principito .rd-home-benefit-icon{
    width:42px !important;
    height:42px !important;
    margin-bottom:8px !important;
    font-size:1.12rem !important;
  }
  body.home .rd-home-hero--principito .rd-home-benefits strong{
    color:#263b32 !important;
    font-size:.94rem !important;
    font-weight:850 !important;
  }
  body.home .rd-home-hero--principito .rd-home-benefits small{
    color:#748079 !important;
  }
}

@media (max-width:390px){
  .rd-main-header .site-logo img{height:54px !important;}
  body.home .rd-home-hero--principito h1{font-size:2.45rem !important;}
  body.home .rd-home-hero--principito .rd-home-benefits{grid-template-columns:1fr 1fr !important;}
  body.home .rd-home-hero--principito .rd-home-benefits article{min-height:112px !important;}
}


/* =========================================================
   RDUENDE 2.2.3 — Home V3 orientada a conversión
   ========================================================= */
.rd-home-v3{
  position:relative;
  overflow:hidden;
  padding:clamp(42px,6vw,88px) 22px 26px;
  background:
    radial-gradient(circle at 82% 12%, rgba(215,103,40,.13), transparent 28%),
    radial-gradient(circle at 16% 82%, rgba(81,142,60,.12), transparent 30%),
    linear-gradient(135deg,#f7f5ec 0%,#eef2eb 55%,#f7efe7 100%);
}
.rd-home-v3::before{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  opacity:.34;
  background-image:radial-gradient(rgba(74,92,58,.18) 1px,transparent 1px);
  background-size:26px 26px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 75%);
}
.rd-home-v3__inner{
  position:relative;
  z-index:1;
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
  align-items:center;
  gap:clamp(38px,6vw,86px);
}
.rd-home-v3__copy{max-width:660px}
.rd-home-v3__eyebrow{
  margin:0 0 16px;
  color:#d76728;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.rd-home-v3 h1{
  margin:0;
  color:#243d36;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(3.3rem,5.8vw,6.6rem);
  line-height:.89;
  letter-spacing:-.055em;
}
.rd-home-v3 h1 em{display:inline-block;color:#d76728;font-style:normal}
.rd-home-v3__lead{
  max-width:610px;
  margin:24px 0 0;
  color:#5a6962;
  font-size:clamp(1.05rem,1.35vw,1.24rem);
  line-height:1.65;
}
.rd-home-v3__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.rd-home-v3__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:13px 22px;
  border:2px solid transparent;
  border-radius:14px;
  font-weight:900;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.rd-home-v3__button:hover{transform:translateY(-2px)}
.rd-home-v3__button--primary{color:#fff;background:#518e3c;box-shadow:0 12px 24px rgba(81,142,60,.22)}
.rd-home-v3__button--primary:hover{color:#fff;background:#467d34}
.rd-home-v3__button--whatsapp{color:#243d36;background:rgba(255,255,255,.85);border-color:rgba(36,61,54,.13)}
.rd-home-v3__button--whatsapp:hover{color:#243d36;background:#fff;box-shadow:0 12px 24px rgba(36,61,54,.10)}
.rd-home-v3__services{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:24px 0 0;
  padding:0;
  list-style:none;
}
.rd-home-v3__services li{
  padding:7px 11px;
  border:1px solid rgba(74,92,58,.13);
  border-radius:999px;
  color:#40534a;
  background:rgba(255,255,255,.62);
  font-size:.78rem;
  font-weight:850;
}
.rd-home-v3__visual{position:relative;min-width:0}
.rd-home-v3__visual img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  border:8px solid rgba(255,255,255,.76);
  border-radius:34px;
  box-shadow:0 28px 65px rgba(23,48,57,.22);
}
.rd-home-v3__badge{
  position:absolute;
  left:-30px;
  bottom:30px;
  display:flex;
  flex-direction:column;
  max-width:230px;
  padding:15px 18px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:16px;
  color:#fff;
  background:rgba(36,61,54,.92);
  box-shadow:0 14px 32px rgba(26,45,39,.22);
  backdrop-filter:blur(10px);
}
.rd-home-v3__badge strong{font-size:1.03rem}
.rd-home-v3__badge span{margin-top:3px;font-size:.76rem;line-height:1.35;opacity:.84}
.rd-home-v3__trust{
  position:relative;
  z-index:1;
  width:min(1180px,100%);
  margin:clamp(34px,5vw,62px) auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  overflow:hidden;
  border:1px solid rgba(36,61,54,.09);
  border-radius:20px;
  background:rgba(255,255,255,.82);
  box-shadow:0 16px 38px rgba(34,55,47,.08);
}
.rd-home-v3__trust div{padding:20px 24px}
.rd-home-v3__trust div+div{border-left:1px solid rgba(36,61,54,.09)}
.rd-home-v3__trust strong,.rd-home-v3__trust span{display:block}
.rd-home-v3__trust strong{color:#243d36;font-size:.95rem}
.rd-home-v3__trust span{margin-top:4px;color:#728078;font-size:.8rem;line-height:1.4}

@media (max-width:900px){
  .rd-home-v3{padding:22px 14px 18px}
  .rd-home-v3__inner{grid-template-columns:1fr;gap:22px}
  .rd-home-v3__copy{max-width:none}
  .rd-home-v3__visual{grid-row:2}
  .rd-home-v3__badge{left:14px;bottom:14px;max-width:205px}
  .rd-home-v3__trust{margin-top:22px}
}

@media (max-width:760px){
  .rd-home-v3{padding:22px 14px 14px}
  .rd-home-v3__inner{gap:20px}
  .rd-home-v3__eyebrow{margin-bottom:10px;font-size:.68rem;letter-spacing:.1em}
  .rd-home-v3 h1{font-size:clamp(2.62rem,12.3vw,4.25rem);line-height:.91;letter-spacing:-.045em}
  .rd-home-v3__lead{margin-top:16px;font-size:1rem;line-height:1.5}
  .rd-home-v3__actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:18px}
  .rd-home-v3__button{min-height:50px;width:100%;padding:12px 14px}
  .rd-home-v3__services{gap:6px;margin-top:16px}
  .rd-home-v3__services li{padding:6px 9px;font-size:.72rem}
  .rd-home-v3__visual img{aspect-ratio:1.42/1;border-width:5px;border-radius:22px;box-shadow:0 16px 36px rgba(23,48,57,.18)}
  .rd-home-v3__badge{left:10px;bottom:10px;max-width:185px;padding:10px 12px;border-radius:12px}
  .rd-home-v3__badge strong{font-size:.88rem}
  .rd-home-v3__badge span{font-size:.66rem}
  .rd-home-v3__trust{grid-template-columns:1fr;margin-top:16px;border-radius:16px}
  .rd-home-v3__trust div{padding:14px 16px}
  .rd-home-v3__trust div+div{border-left:0;border-top:1px solid rgba(36,61,54,.09)}
  .rd-home-v3__trust span{font-size:.75rem}
}

/* =========================================================
   RDUENDE 3.0.0 — Home mobile-first y sistema visual
   ========================================================= */
:root{--rd3-green:#4a5c3a;--rd3-green-2:#62784f;--rd3-orange:#d96d2f;--rd3-cream:#f7f3e8;--rd3-ink:#24332b;--rd3-muted:#667168;--rd3-white:#fffef9;--rd3-line:rgba(36,51,43,.12);--rd3-radius:24px;--rd3-shadow:0 22px 55px rgba(35,51,43,.12)}
body.home{background:var(--rd3-cream)}
.rd3-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.rd3-kicker{margin:0 0 12px;color:var(--rd3-orange);font-size:.78rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.rd3-heading{max-width:720px;margin-bottom:34px}.rd3-heading h2,.rd3-value h2,.rd3-cta h2{margin:0;color:var(--rd3-ink);font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.15rem,4vw,4rem);line-height:1;letter-spacing:-.04em}.rd3-heading>p:last-child{margin:16px 0 0;color:var(--rd3-muted);font-size:1.05rem}.rd3-heading--row{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:20px}.rd3-center{text-align:center}.rd3-text-link{color:var(--rd3-green);font-weight:900;text-decoration:none}
.rd3-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 22px;border:2px solid transparent;border-radius:14px;font-weight:900;text-decoration:none;transition:.2s ease}.rd3-btn:hover{transform:translateY(-2px)}.rd3-btn--primary{color:#fff;background:var(--rd3-green);box-shadow:0 14px 28px rgba(74,92,58,.22)}.rd3-btn--secondary{color:var(--rd3-ink);background:#fff;border-color:var(--rd3-line)}.rd3-btn--light{color:var(--rd3-green);background:#fff}.rd3-btn--outline-light{color:#fff;border-color:rgba(255,255,255,.55)}
.rd3-hero{position:relative;overflow:hidden;padding:clamp(48px,7vw,98px) 0 36px;background:radial-gradient(circle at 80% 15%,rgba(217,109,47,.16),transparent 28%),radial-gradient(circle at 15% 80%,rgba(74,92,58,.13),transparent 30%),linear-gradient(135deg,#fbf8ef,#eef2e9 60%,#f7eee5)}.rd3-hero:before{content:"";position:absolute;inset:0;opacity:.25;background-image:radial-gradient(rgba(74,92,58,.25) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(#000,transparent 82%)}.rd3-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);align-items:center;gap:clamp(38px,6vw,80px)}.rd3-hero__copy{max-width:650px}.rd3-hero h1{margin:0;color:var(--rd3-ink);font-family:Georgia,'Times New Roman',serif;font-size:clamp(4rem,7vw,7.2rem);line-height:.84;letter-spacing:-.065em}.rd3-hero h1 span{color:var(--rd3-orange)}.rd3-hero__lead{max-width:610px;margin:26px 0 0;color:#5f6c64;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.62}.rd3-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.rd3-hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none}.rd3-hero__chips li{padding:7px 11px;border:1px solid var(--rd3-line);border-radius:999px;background:rgba(255,255,255,.68);color:#4f5f56;font-size:.78rem;font-weight:850}.rd3-hero__media{position:relative}.rd3-hero__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:8px solid rgba(255,255,255,.8);border-radius:34px;box-shadow:0 30px 70px rgba(35,51,43,.2)}.rd3-hero__stamp{position:absolute;left:-24px;bottom:26px;display:flex;flex-direction:column;padding:15px 18px;border-radius:16px;color:#fff;background:rgba(36,51,43,.93);box-shadow:0 16px 34px rgba(30,45,38,.25)}.rd3-hero__stamp strong{font-size:1.15rem}.rd3-hero__stamp span{font-size:.75rem;opacity:.82}
.rd3-services,.rd3-projects,.rd3-showcase{padding:clamp(70px,8vw,112px) 0}.rd3-services{background:var(--rd3-white)}.rd3-services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.rd3-service-card{overflow:hidden;border:1px solid var(--rd3-line);border-radius:22px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 10px 28px rgba(35,51,43,.06);transition:.22s ease}.rd3-service-card:hover{transform:translateY(-5px);box-shadow:var(--rd3-shadow)}.rd3-service-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.rd3-service-card__body{display:block;padding:20px}.rd3-service-card strong{display:block;color:var(--rd3-ink);font-size:1.2rem}.rd3-service-card small{display:block;min-height:42px;margin-top:6px;color:var(--rd3-muted);font-size:.9rem;line-height:1.45}.rd3-service-card em{display:block;margin-top:14px;color:var(--rd3-orange);font-size:.82rem;font-style:normal;font-weight:900}
.rd3-value{padding:clamp(74px,9vw,125px) 0;background:var(--rd3-green);color:#fff}.rd3-value__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,90px);align-items:start}.rd3-value h2{color:#fff}.rd3-value__intro>p:last-child{margin-top:20px;color:rgba(255,255,255,.72);font-size:1.05rem}.rd3-value__items{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rd3-value__items article{padding:24px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(255,255,255,.07)}.rd3-value__items span{color:#f3a16e;font-weight:900}.rd3-value__items h3{margin:10px 0 8px;font-size:1.13rem}.rd3-value__items p{margin:0;color:rgba(255,255,255,.7);font-size:.9rem;line-height:1.55}
.rd3-projects{background:#f2eee3}.rd3-projects__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rd3-project-card{overflow:hidden;border-radius:22px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 12px 32px rgba(35,51,43,.08)}.rd3-project-card__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.rd3-project-card__body{padding:19px}.rd3-project-card h3{margin:0;color:var(--rd3-ink);font-size:1.12rem}.rd3-project-card span{display:block;margin-top:10px;color:var(--rd3-orange);font-size:.82rem;font-weight:900}
.rd3-showcase{background:var(--rd3-white)}.rd3-showcase__grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}.rd3-showcase-card{position:relative;overflow:hidden;min-height:360px;border-radius:24px;color:#fff;text-decoration:none}.rd3-showcase-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.rd3-showcase-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(20,29,24,.78))}.rd3-showcase-card:hover img{transform:scale(1.04)}.rd3-showcase-card span{position:absolute;z-index:2;left:24px;right:24px;bottom:22px}.rd3-showcase-card small,.rd3-showcase-card strong{display:block}.rd3-showcase-card small{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.rd3-showcase-card strong{margin-top:5px;font-size:1.45rem}
.rd3-cta{padding:70px 0;background:var(--rd3-orange);color:#fff}.rd3-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.rd3-cta h2{color:#fff}.rd3-cta p{max-width:650px;margin:14px 0 0;color:rgba(255,255,255,.8)}.rd3-cta__actions{display:flex;flex-wrap:wrap;gap:12px;flex-shrink:0}

/* Cabecera 3.0 */
.rd-main-header{position:sticky;top:0;z-index:9999;min-height:78px;padding:8px clamp(18px,4vw,52px);background:rgba(255,254,249,.94);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--rd3-line)}.rd-main-header .site-logo img{height:62px;width:auto}.rd-main-menu>li>a,.rd-menu-services__trigger>a{font-weight:800;color:var(--rd3-ink)}.rd-mobile-menu-toggle{width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid var(--rd3-line);box-shadow:none}.rd-mobile-menu-toggle span{width:20px;height:2px;background:var(--rd3-ink)}

@media(max-width:900px){
 .rd3-shell{width:min(100% - 28px,720px)}
 .rd3-hero{padding:32px 0 20px}.rd3-hero__grid{grid-template-columns:1fr;gap:24px}.rd3-hero__copy{max-width:none}.rd3-hero__media{grid-row:2}.rd3-hero__stamp{left:10px;bottom:10px}.rd3-services__grid,.rd3-projects__grid{grid-template-columns:1fr 1fr}.rd3-value__grid{grid-template-columns:1fr}.rd3-showcase__grid{grid-template-columns:1fr 1fr}.rd3-showcase-card--wide{grid-column:1/-1}.rd3-cta__inner{align-items:flex-start;flex-direction:column}.rd-main-header{min-height:70px;padding:6px 14px}.rd-main-header .site-logo img{height:56px}.rd-main-nav{top:70px!important}
}
@media(max-width:620px){
 .rd3-hero{padding-top:24px}.rd3-kicker{font-size:.68rem;letter-spacing:.1em}.rd3-hero h1{font-size:clamp(3rem,14vw,4.45rem);line-height:.86}.rd3-hero__lead{margin-top:18px;font-size:1rem;line-height:1.5}.rd3-hero__actions{display:grid;grid-template-columns:1fr;margin-top:20px}.rd3-btn{width:100%;min-height:50px}.rd3-hero__chips{margin-top:16px;gap:6px}.rd3-hero__chips li{padding:6px 9px;font-size:.7rem}.rd3-hero__media img{aspect-ratio:1.42/1;border-width:5px;border-radius:22px}.rd3-hero__stamp{padding:10px 12px;border-radius:12px}.rd3-hero__stamp strong{font-size:.92rem}.rd3-hero__stamp span{font-size:.66rem}.rd3-services,.rd3-projects,.rd3-showcase{padding:64px 0}.rd3-heading{margin-bottom:26px}.rd3-heading h2,.rd3-value h2,.rd3-cta h2{font-size:2.35rem}.rd3-heading--row{align-items:flex-start;flex-direction:column}.rd3-services__grid,.rd3-projects__grid{grid-template-columns:1fr}.rd3-service-card{display:grid;grid-template-columns:112px 1fr;align-items:stretch}.rd3-service-card img{height:100%;aspect-ratio:auto}.rd3-service-card__body{padding:16px}.rd3-service-card strong{font-size:1.05rem}.rd3-service-card small{min-height:0;font-size:.82rem}.rd3-service-card em{margin-top:9px}.rd3-value{padding:68px 0}.rd3-value__items{grid-template-columns:1fr}.rd3-value__items article{padding:20px}.rd3-showcase__grid{grid-template-columns:1fr}.rd3-showcase-card,.rd3-showcase-card--wide{grid-column:auto;min-height:290px}.rd3-cta{padding:58px 0}.rd3-cta__actions{width:100%;display:grid}.rd-main-header .site-logo img{height:54px}
}


/* ==========================================================
   RDuende 3.0.4 — hero original restaurado y optimizado para móvil
   Alcance intencionado: solo body.home .rd301-home-hero
   ========================================================== */
body.home .rd301-home-hero{
  --rd301-accent:#ef8d61;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:clamp(650px,calc(100vh - 170px),820px);
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 79% 35%,rgba(239,141,97,.22),transparent 28%),
    linear-gradient(110deg,#071c34 0%,#0c2c4a 49%,#234a63 76%,#bc895d 145%);
}
body.home .rd301-home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.72;
  background-image:
    radial-gradient(circle at 12% 18%,rgba(255,229,158,.9) 0 2px,transparent 3px),
    radial-gradient(circle at 35% 9%,rgba(255,255,255,.8) 0 1px,transparent 2px),
    radial-gradient(circle at 64% 16%,rgba(255,222,144,.75) 0 2px,transparent 3px),
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.7) 0 1px,transparent 2px);
  background-size:230px 190px,310px 260px,390px 310px,470px 370px;
}
body.home .rd301-home-hero::after{
  content:"RDuende";
  position:absolute;
  right:-.04em;
  bottom:-.25em;
  z-index:-1;
  font:800 clamp(7rem,16vw,15rem)/1 Montserrat,Arial,sans-serif;
  color:rgba(255,255,255,.035);
  letter-spacing:-.08em;
  pointer-events:none;
}
body.home .rd301-home-hero__inner{
  width:min(1380px,calc(100% - 48px));
  margin:0 auto;
  padding:56px 0 64px;
  display:grid;
  grid-template-columns:minmax(0,580px) minmax(500px,1fr);
  align-items:center;
  gap:48px;
}
body.home .rd301-home-hero__copy{
  position:relative;
  z-index:3;
}
body.home .rd301-home-hero__kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 22px;
  padding:10px 16px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#e97849;
  box-shadow:0 14px 35px rgba(0,0,0,.14);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.home .rd301-home-hero__kicker::before{content:"✦";font-size:.85rem}
body.home .rd301-home-hero h1{
  margin:0;
  max-width:670px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(4rem,6vw,7rem);
  line-height:.88;
  letter-spacing:-.055em;
  color:#fff;
  text-shadow:0 6px 30px rgba(0,0,0,.28);
}
body.home .rd301-home-hero h1 span{color:#ffa47e}
body.home .rd301-home-hero__lead{
  margin:27px 0 8px;
  max-width:600px;
  color:#fff;
  font-size:clamp(1.18rem,1.7vw,1.48rem);
  line-height:1.45;
  font-weight:700;
}
body.home .rd301-home-hero__text{
  margin:0;
  max-width:590px;
  color:rgba(255,255,255,.78);
  font-size:1.04rem;
  line-height:1.65;
}
body.home .rd301-home-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}
body.home .rd301-home-hero__button{
  min-height:52px;
  padding:0 27px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:13px;
  text-decoration:none;
  font-weight:800;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
body.home .rd301-home-hero__button:hover{transform:translateY(-2px)}
body.home .rd301-home-hero__button--primary{
  background:var(--rd301-accent);
  color:#fff;
  box-shadow:0 15px 40px rgba(239,141,97,.32);
}
body.home .rd301-home-hero__button--secondary{
  border-color:rgba(255,255,255,.52);
  background:rgba(6,24,44,.34);
  color:#fff;
  backdrop-filter:blur(8px);
}
body.home .rd301-home-hero__visual{
  position:relative;
  z-index:2;
  min-width:0;
}
body.home .rd301-home-hero__visual::before{
  content:"";
  position:absolute;
  width:78%;
  aspect-ratio:1;
  left:12%;
  top:7%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(239,141,97,.35),transparent 68%);
  filter:blur(30px);
  z-index:-1;
}
body.home .rd301-home-hero__visual img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center;
  border-radius:30px;
  box-shadow:0 30px 78px rgba(0,0,0,.34);
}
body.home .rd301-home-hero__badge{
  position:absolute;
  left:-20px;
  bottom:-16px;
  min-width:190px;
  padding:16px 20px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:18px;
  background:rgba(255,253,245,.94);
  box-shadow:0 20px 50px rgba(0,0,0,.22);
  backdrop-filter:blur(10px);
}
body.home .rd301-home-hero__badge strong,
body.home .rd301-home-hero__badge span{display:block}
body.home .rd301-home-hero__badge strong{color:#df7043;font-size:1.2rem}
body.home .rd301-home-hero__badge span{margin-top:3px;color:#41512d;font-size:.84rem;font-weight:700}
@media(max-width:1080px){
  body.home .rd301-home-hero{min-height:auto}
  body.home .rd301-home-hero__inner{grid-template-columns:minmax(0,46%) minmax(0,54%);gap:30px;padding:48px 0 62px}
  body.home .rd301-home-hero h1{font-size:clamp(3.5rem,7vw,5.6rem)}
}
@media(max-width:780px){
  body.home .rd301-home-hero__inner{
    width:min(100% - 28px,680px);
    padding:42px 0 55px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:30px;
  }
  body.home .rd301-home-hero__copy{text-align:left}
  body.home .rd301-home-hero__kicker{margin-bottom:18px;font-size:.68rem;padding:9px 12px}
  body.home .rd301-home-hero h1{font-size:clamp(3.25rem,15vw,5.25rem);line-height:.9}
  body.home .rd301-home-hero__lead{font-size:1.1rem;margin-top:22px}
  body.home .rd301-home-hero__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
  body.home .rd301-home-hero__button{padding:0 14px;min-height:50px;font-size:.88rem;text-align:center}
  body.home .rd301-home-hero__visual{width:100%}
  body.home .rd301-home-hero__visual img{aspect-ratio:4/3;border-radius:22px;object-position:62% center}
  body.home .rd301-home-hero__badge{left:14px;bottom:-20px;min-width:170px;padding:13px 16px;border-radius:15px}
}
@media(max-width:430px){
  body.home .rd301-home-hero__actions{grid-template-columns:1fr}
  body.home .rd301-home-hero__visual img{aspect-ratio:1/1;object-position:64% center}
}
@media(prefers-reduced-motion:reduce){body.home .rd301-home-hero__button{transition:none}}


/* 3.0.4: soporte responsive de la imagen original del hero, sin afectar al resto del tema */
body.home .rd301-home-hero__visual picture{display:block;width:100%;}
body.home .rd301-home-hero__visual picture img{display:block;width:100%;}
@media(max-width:780px){
  body.home .rd301-home-hero__visual picture img{object-position:center center;}
}


/* ==========================================================
   RDuende 3.0.5 — corrección final del hero de la homepage
   Solo afecta al hero de portada. Elimina la franja integrada
   en la imagen original y conserva el encuadre completo.
   ========================================================== */
body.home .rd301-home-hero__inner{
  grid-template-columns:minmax(0,560px) minmax(0,660px);
  justify-content:space-between;
  gap:clamp(44px,5vw,82px);
}
body.home .rd301-home-hero__visual{
  align-self:center;
}
body.home .rd301-home-hero__visual picture{
  display:block;
  width:100%;
  line-height:0;
}
body.home .rd301-home-hero__visual picture img{
  width:100%;
  height:auto;
  aspect-ratio:11/9;
  object-fit:cover;
  object-position:center;
  border-radius:30px;
}
@media(max-width:1080px){
  body.home .rd301-home-hero__inner{
    grid-template-columns:minmax(0,44%) minmax(0,56%);
    gap:34px;
  }
}
@media(max-width:780px){
  body.home .rd301-home-hero__inner{
    display:flex;
    gap:28px;
  }
  body.home .rd301-home-hero__visual picture img{
    width:100%;
    height:auto;
    aspect-ratio:122/99;
    object-fit:cover;
    object-position:center;
    border-radius:22px;
  }
}
@media(max-width:430px){
  body.home .rd301-home-hero__visual picture img{
    aspect-ratio:122/99;
    object-position:center;
  }
}
