@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@600;700;800&display=swap');
:root{--bg:#f7f9fc;--card:#fff;--ink:#111827;--muted:#64748b;--line:#dfe6ef;--accent:#f59e0b;--accent2:#fff3cf;--shadow:0 18px 45px rgba(15,23,42,.08);--radius:28px;--max:1280px;--topbar:rgba(255,255,255,.92);--topbar-shadow:0 6px 22px rgba(15,23,42,.05);--soft:#f8fafc;--footer:#0f172a;--footer-text:#e2e8f0;--footer-muted:#94a3b8}
html[data-theme=dark]{--bg:#050b1f;--card:rgba(8,16,38,.72);--ink:#f8fafc;--muted:#c6d3e8;--line:rgba(255,255,255,.10);--accent:#f59e0b;--accent2:rgba(245,158,11,.16);--shadow:0 24px 70px rgba(0,0,0,.30);--topbar:rgba(5,11,31,.70);--topbar-shadow:0 8px 30px rgba(0,0,0,.22);--soft:rgba(6,16,38,.62);--footer:rgba(3,7,18,.92);--footer-text:#e5e7eb;--footer-muted:#b8c4d8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.75;transition:background .55s ease,color .35s ease;zoom:var(--ortek-site-zoom,1)}
html[data-theme=dark] body{background:radial-gradient(circle at top left,#1d4ed8 0%,#1e40af 25%,#0d2d59 55%,#050b1f 100%);background-attachment:fixed}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}.topbar{position:sticky;top:0;z-index:20;background:var(--topbar);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:var(--topbar-shadow)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo img{height:60px;width:auto}.menu{display:flex;align-items:center;gap:28px;font-weight:800;font-size:14px}.menu a{transition:.2s}.menu a:hover{color:var(--accent)}.phone{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);padding:11px 16px;border-radius:999px;font-weight:800;font-size:13px}.hero{padding:74px 0 46px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}.eyebrow{display:inline-flex;color:#c45a00;font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:13px;margin-bottom:18px}.h1,.h2,.h3,h1,h2,h3{font-family:Manrope,Inter,sans-serif;letter-spacing:-.045em;line-height:1.06}.h1{font-size:68px;margin:0 0 26px}.h2{font-size:48px;margin:0 0 18px}.h3{font-size:25px;margin:0 0 12px}.lead{font-size:20px;color:var(--muted);max-width:660px}.orange{color:#d86b00;font-weight:800}.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;padding:15px 22px;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--line);background:var(--card)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#111827}.hero-card{border-radius:34px;overflow:hidden;background:var(--card);box-shadow:var(--shadow);border:1px solid var(--line);position:relative}.hero-card img{height:540px;width:100%;object-fit:cover}.hero-badge{position:absolute;left:26px;bottom:26px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px 22px;box-shadow:var(--shadow);font-weight:900}.section{padding:96px 0;border-top:none}.split{display:grid;grid-template-columns:.82fr 1.18fr;gap:56px;align-items:start}.text p{color:var(--muted);margin:0 0 18px}.notice{margin-top:28px;border:1px solid color-mix(in srgb, var(--accent) 42%, var(--line));background:color-mix(in srgb, var(--accent) 8%, var(--card));border-radius:18px;padding:18px 20px;font-weight:900;text-transform:uppercase;font-size:13px;line-height:1.35;display:flex;gap:14px;align-items:center}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 10px rgba(15,23,42,.04);overflow:hidden;transition:.25s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-img{height:210px;width:100%;object-fit:cover}.card-body{padding:30px}.ico{width:46px;height:46px;border-radius:13px;background:var(--accent2);display:flex;align-items:center;justify-content:center;color:#d97706;font-weight:900;margin-bottom:20px}.list{margin:24px 0 0;padding:20px 0 0;border-top:1px solid #edf1f7}.list div{font-weight:800;font-size:14px;margin:9px 0;color:#344054}.list div:before{content:'✓';color:var(--accent);font-weight:900;margin-right:10px}.project .meta{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-bottom:18px}.tag{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--ink)}.power{margin-top:22px;border:1px solid var(--line);border-radius:16px;background:var(--soft);padding:16px;font-weight:900;color:var(--accent);font-size:25px}.cta{background:#111827;color:#fff;border-radius:36px;padding:54px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;box-shadow:var(--shadow)}.cta p{color:#cbd5e1}.reviews{background:var(--card);border:1px solid var(--line);border-radius:32px;padding:40px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.form{background:var(--card);border:1px solid var(--line);border-radius:30px;padding:32px;box-shadow:var(--shadow)}input,textarea{width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:14px;margin:0 0 14px;font-family:Inter;background:var(--soft);color:var(--ink)}textarea{min-height:130px}.footer{background:var(--footer);color:var(--footer-text);padding:56px 0;margin-top:80px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}.footer img{height:62px;width:auto;margin-bottom:20px}.footer p,.footer a{color:var(--footer-muted)}.whatsapp{position:fixed;right:22px;bottom:22px;z-index:30;background:#25D366;color:white;width:60px;height:60px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 12px 30px rgba(37,211,102,.35)}.page-hero{padding:72px 0 42px}.page-hero .lead{max-width:760px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.gallery img{height:220px;width:100%;object-fit:cover;border-radius:20px;border:1px solid var(--line)}
@media(max-width:900px){.wrap{padding:0 22px}.nav{height:auto;padding:16px 0;align-items:flex-start}.menu{display:none}.hero-grid,.split,.grid-2,.grid-3,.cta,.reviews,.footer-grid{grid-template-columns:1fr}.h1{font-size:43px}.h2{font-size:34px}.hero-card img{height:330px}.section{padding:58px 0}.gallery{grid-template-columns:1fr}.logo img{height:52px}}

/* Theme toggle and dark-mode refinements */
.theme-toggle{width:48px;height:48px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;box-shadow:0 10px 22px rgba(15,23,42,.06);transition:transform .2s, background .2s, border-color .2s}
.theme-toggle:hover{transform:translateY(-2px);border-color:var(--accent)}
html[data-theme=dark] .topbar{background:rgba(5,11,31,.70);backdrop-filter:blur(16px);}
html[data-theme=dark] .card,html[data-theme=dark] .hero-card,html[data-theme=dark] .form,html[data-theme=dark] .reviews{background:rgba(8,16,38,.72);backdrop-filter:blur(14px);border-color:rgba(255,255,255,.10)}
html[data-theme=dark] .btn:not(.primary){background:rgba(5,11,31,.62);color:#e5e7eb;border-color:rgba(255,255,255,.14)}
html[data-theme=dark] .phone{background:rgba(16,24,39,.70);color:#e5e7eb;border-color:rgba(255,255,255,.12)}
html[data-theme=dark] .logo img{filter:drop-shadow(0 0 18px rgba(245,158,11,.35))}
html[data-theme=dark] .section{border-top-color:transparent}
html[data-theme=dark] .list{border-top-color:#223047}
html[data-theme=dark] .list div{color:#d1d5db}
html[data-theme=dark] .cta{background:linear-gradient(135deg,rgba(15,47,95,.76),rgba(5,11,31,.82));border:1px solid rgba(255,255,255,.12)}
html[data-theme=dark] .whatsapp{box-shadow:0 12px 30px rgba(37,211,102,.18)}
@media(max-width:900px){.theme-toggle{width:42px;height:42px}.phone{display:none}}

html[data-theme=dark] .section{background:transparent}
html[data-theme=dark] .hero-badge{background:rgba(8,16,38,.82);border-color:rgba(255,255,255,.12)}
html[data-theme=dark] .tag,html[data-theme=dark] .power,input,textarea{transition:background .35s ease,border-color .35s ease,color .35s ease}

html[data-theme=dark] .ico{color:#60a5fa;background:rgba(96,165,250,.14);}
html[data-theme=dark] .h2:after, html[data-theme=dark] .page-hero .h1:after{content:"";display:block;width:82px;height:4px;border-radius:99px;margin-top:18px;background:linear-gradient(90deg,#f59e0b,#60a5fa);}
html[data-theme=dark] .btn.primary{background:#f59e0b;color:#fff;border-color:#f59e0b;box-shadow:0 14px 32px rgba(245,158,11,.22);}
html[data-theme=dark] .btn.primary:hover{background:#fbbf24;border-color:#fbbf24;}

/* v6 adjustments: bigger orange section labels and larger logo */
.eyebrow,
.section-label{
  font-family:'Manrope',Inter,sans-serif;
  font-size:24px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:5px;
  text-transform:uppercase;
  color:#f59e0b;
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-bottom:26px;
}
.eyebrow::before,
.section-label::before{
  content:"";
  display:inline-block;
  width:60px;
  height:3px;
  border-radius:999px;
  background:#f59e0b;
  flex:0 0 60px;
}
.logo img{height:72px;width:auto;filter:drop-shadow(0 0 10px rgba(245,158,11,.15)) drop-shadow(0 0 20px rgba(245,158,11,.10));}
.nav{height:98px;}
html[data-theme=dark] .logo img{filter:drop-shadow(0 0 18px rgba(245,158,11,.35)) drop-shadow(0 0 30px rgba(245,158,11,.16));}
@media(max-width:1024px){.logo img{height:60px}.nav{height:88px}.eyebrow,.section-label{font-size:20px;letter-spacing:4px}.eyebrow::before,.section-label::before{width:48px;flex-basis:48px}}
@media(max-width:768px){.logo img{height:48px}.nav{height:auto}.eyebrow,.section-label{font-size:16px;letter-spacing:3px}.eyebrow::before,.section-label::before{width:34px;flex-basis:34px}}


/* v7: limpieza visual */
.section-label{padding-left:0!important;color:#f59e0b!important;}
.section-label::before,.eyebrow::before{display:none!important;content:none!important;}
.section,.topbar,.footer{border-top:none!important;border-bottom:none!important;}
html[data-theme=dark] body{
  background:
    radial-gradient(circle at 0% 0%, rgba(29,78,216,.95) 0%, rgba(30,64,175,.72) 28%, rgba(13,45,89,.54) 54%, rgba(5,11,31,.96) 100%),
    linear-gradient(90deg,#1d4ed8 0%,#0d2d59 48%,#050b1f 100%);
  background-attachment:fixed;
}

/* v8: títulos y subtítulos más pequeños */
.h1, h1{
  font-size:58px!important;
  line-height:1.08!important;
}
.h2, h2{
  font-size:38px!important;
  line-height:1.12!important;
}
.h3, h3{
  font-size:22px!important;
  line-height:1.18!important;
}
.lead{
  font-size:18px!important;
  line-height:1.75!important;
}
.eyebrow,
.section-label{
  font-size:18px!important;
  letter-spacing:4px!important;
  margin-bottom:22px!important;
}
.card-body{padding:28px!important;}
.power{font-size:22px!important;}
.page-hero{padding:62px 0 36px!important;}
.hero{padding:64px 0 42px!important;}

@media(max-width:1024px){
  .h1, h1{font-size:48px!important;}
  .h2, h2{font-size:32px!important;}
  .h3, h3{font-size:21px!important;}
  .lead{font-size:17px!important;}
  .eyebrow,.section-label{font-size:16px!important;letter-spacing:3.5px!important;}
}
@media(max-width:768px){
  .h1, h1{font-size:38px!important;}
  .h2, h2{font-size:29px!important;}
  .h3, h3{font-size:20px!important;}
  .lead{font-size:16px!important;}
  .eyebrow,.section-label{font-size:14px!important;letter-spacing:3px!important;}
}

/* Ajuste hero: texto normal de servicios Ortek Solar */
.hero-services{
  color:var(--muted)!important;
  font-weight:400!important;
}


/* Inicio: título y frase antes de la fotografía */
.hero-home{
  padding-top:64px!important;
}
.hero-stack{
  display:flex;
  flex-direction:column;
  gap:34px;
}
.hero-copy{
  max-width:980px;
}
.hero-copy .lead{
  max-width:860px;
}
.hero-photo img{
  height:500px;
  width:100%;
  object-fit:cover;
}
@media(max-width:900px){
  .hero-stack{gap:26px;}
  .hero-photo img{height:330px;}
}

/* v5: inicio centrado */
.hero-home .hero-copy{
  margin:0 auto;
  text-align:center;
}
.hero-home .hero-copy .lead{
  margin-left:auto;
  margin-right:auto;
}
.hero-home .btns{
  justify-content:center;
}
.hero-home .eyebrow{
  justify-content:center;
}

/* v6: inicio sin centrado; texto alineado al mismo margen derecho que la foto */
.hero-home .hero-copy{
  margin:0;
  text-align:left;
  max-width:100%;
}
.hero-home .hero-copy .lead{
  max-width:100%;
  margin-left:0;
  margin-right:0;
}
.hero-home .btns{
  justify-content:flex-start;
}
.hero-home .eyebrow{
  justify-content:flex-start;
}

/* v7: título de inicio ajustado para caber en una sola línea en escritorio */
.hero-home .h1{
  font-size:42px!important;
  line-height:1.08!important;
  white-space:nowrap;
}
@media(max-width:900px){
  .hero-home .h1{
    font-size:38px!important;
    white-space:normal;
  }
}
@media(max-width:480px){
  .hero-home .h1{
    font-size:32px!important;
  }
}


/* v9: texto normal sin color naranja y botones centrados en inicio */
.hero-home .hero-services{
  font-weight:400!important;
}
.hero-home .btns{
  justify-content:center!important;
}


/* v9: texto normal */
.hero-home .hero-services{
  color:var(--muted)!important;
  font-weight:400!important;
}

/* v11: aplicación de branding Ortek Solar según manual corporativo */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');
:root{
  --bg:#f7f8fa;
  --card:#ffffff;
  --ink:#383838;
  --muted:#5f6872;
  --line:rgba(43,58,74,.16);
  --accent:#f2c411;
  --accent-dark:#d8aa00;
  --accent2:rgba(242,196,17,.16);
  --brand-blue:#2b3a4a;
  --brand-gray:#383838;
  --shadow:0 18px 45px rgba(43,58,74,.10);
  --topbar:rgba(255,255,255,.94);
  --topbar-shadow:0 8px 26px rgba(43,58,74,.08);
  --soft:#f4f6f8;
  --footer:#2b3a4a;
  --footer-text:#ffffff;
  --footer-muted:rgba(255,255,255,.74);
}
html[data-theme=dark]{
  --bg:#1f2b38;
  --card:rgba(43,58,74,.76);
  --ink:#f8fafc;
  --muted:#d7dde5;
  --line:rgba(255,255,255,.14);
  --accent:#f2c411;
  --accent-dark:#f2c411;
  --accent2:rgba(242,196,17,.18);
  --brand-blue:#2b3a4a;
  --brand-gray:#f8fafc;
  --soft:rgba(255,255,255,.07);
  --footer:#182330;
  --footer-text:#ffffff;
  --footer-muted:rgba(255,255,255,.72);
}
body,
input,
textarea,
button{
  font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
}
.h1,.h2,.h3,h1,h2,h3,
.menu,
.btn,
.phone,
.eyebrow,
.section-label{
  font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
}
html[data-theme=dark] body{
  background:radial-gradient(circle at top left,rgba(242,196,17,.18) 0%,rgba(43,58,74,.96) 28%,#172230 68%,#101820 100%);
  background-attachment:fixed;
}
.logo img{
  filter:drop-shadow(0 6px 16px rgba(43,58,74,.12));
}
html[data-theme=dark] .logo img{
  filter:drop-shadow(0 0 18px rgba(242,196,17,.25));
}
.menu a:hover,
.orange,
.power,
.ico,
.theme-toggle{
  color:var(--accent-dark)!important;
}
.eyebrow,
.section-label{
  color:var(--accent-dark)!important;
}
.eyebrow::before,
.section-label::before{
  background:var(--accent)!important;
}
.btn.primary{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#2b3a4a!important;
  box-shadow:0 14px 34px rgba(242,196,17,.24);
}
.btn.primary:hover{
  background:#ffd52e!important;
  border-color:#ffd52e!important;
}
.btn:not(.primary):hover{
  border-color:rgba(242,196,17,.65);
  color:#2b3a4a;
}
.card,
.hero-card,
.form,
.reviews,
.phone,
.btn:not(.primary){
  border-color:rgba(43,58,74,.14);
}
.ico{
  background:var(--accent2)!important;
}
.list div:before{
  color:var(--accent-dark)!important;
}
.notice{
  border-color:rgba(242,196,17,.52)!important;
  background:rgba(242,196,17,.10)!important;
  color:#2b3a4a;
}
.cta{
  background:linear-gradient(135deg,#2b3a4a 0%,#1f2b38 100%)!important;
}
.cta .btn.primary{
  color:#2b3a4a!important;
}
.footer{
  background:var(--footer)!important;
}
html[data-theme=dark] .card,
html[data-theme=dark] .hero-card,
html[data-theme=dark] .form,
html[data-theme=dark] .reviews,
html[data-theme=dark] .phone,
html[data-theme=dark] .btn:not(.primary){
  background:rgba(43,58,74,.76)!important;
  border-color:rgba(255,255,255,.14)!important;
}
html[data-theme=dark] .btn:not(.primary):hover{
  color:#f2c411;
}
html[data-theme=dark] .notice{
  color:#f8fafc;
}
html[data-theme=dark] .h2:after,
html[data-theme=dark] .page-hero .h1:after{
  background:linear-gradient(90deg,#f2c411,#ffffff)!important;
}
.hero-card::after,
.card-img + .card-body::before{
  content:"";
  display:block;
  width:72px;
  height:4px;
  border-radius:999px;
  background:var(--accent);
}
.card-img + .card-body::before{
  margin-bottom:22px;
}

/* v12: cabecero con textos sin negrita y un poco más grandes */
.topbar .menu{
  font-weight:500!important;
  font-size:16px!important;
  letter-spacing:0!important;
}
.topbar .menu a{
  font-weight:500!important;
}
.topbar .phone{
  font-weight:500!important;
  font-size:14px!important;
}

/* v13: rediseño completo de inicio inspirado en branding Ortek Solar */
.site-header.topbar{
  background:linear-gradient(90deg,#111d2c 0%,#172535 100%)!important;
  border-bottom:none!important;
  box-shadow:0 12px 36px rgba(17,29,44,.16)!important;
}
.site-header .nav{height:86px!important;gap:22px;}
.logo-word{
  color:#f2c411!important;
  font-weight:800;
  letter-spacing:.23em;
  font-size:24px;
  line-height:1;
  white-space:nowrap;
}
.site-header .menu{gap:34px!important;font-size:16px!important;font-weight:400!important;}
.site-header .menu a{color:rgba(255,255,255,.86)!important;position:relative;padding:8px 0;}
.site-header .menu a:hover,.site-header .menu a.active{color:#fff!important;}
.site-header .menu a.active:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;background:#f2c411;border-radius:999px;}
.header-cta{display:inline-flex;align-items:center;justify-content:center;background:#f2c411;color:#172535!important;border-radius:10px;padding:14px 20px;font-weight:700;font-size:14px;box-shadow:0 10px 25px rgba(242,196,17,.22);white-space:nowrap;}
.site-header .theme-toggle{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.16)!important;color:#f2c411!important;box-shadow:none!important;}
.hero-modern{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);padding:78px 0 58px!important;}
.hero-modern:before{content:"";position:absolute;right:-160px;top:80px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(242,196,17,.11) 0%,rgba(242,196,17,.06) 38%,rgba(242,196,17,0) 70%);pointer-events:none;}
.hero-modern-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:72px;align-items:center;}
.hero-modern-copy{max-width:700px!important;margin:0!important;text-align:left!important;}
.eyebrow-line{display:flex;align-items:center;gap:24px;color:#f2b800;font-size:15px;font-weight:800;letter-spacing:.32em;text-transform:uppercase;margin-bottom:24px;}
.eyebrow-line:after{content:"";width:62px;height:2px;background:#f2c411;border-radius:999px;}
.hero-modern-title{font-size:64px!important;line-height:1.08!important;letter-spacing:-.045em!important;color:#162338!important;margin:0 0 24px!important;white-space:normal!important;max-width:680px;}
.title-accent{width:68px;height:3px;background:#f2c411;border-radius:999px;margin:0 0 26px;}
.hero-modern .lead{font-size:17px!important;line-height:1.72!important;color:#52606f!important;max-width:650px!important;margin:0!important;font-weight:400!important;}
.hero-actions{justify-content:flex-start!important;margin-top:30px!important;gap:16px!important;}
.hero-actions .btn{border-radius:10px!important;min-height:56px;padding:16px 24px!important;text-transform:none!important;letter-spacing:0!important;font-size:15px!important;font-weight:700!important;}
.hero-actions .btn.primary{box-shadow:0 16px 34px rgba(242,196,17,.28)!important;}
.btn-icon{font-size:18px;line-height:1;}
.service-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;}
.service-chips span{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(43,58,74,.13);background:#fff;border-radius:8px;padding:10px 13px;font-size:13px;font-weight:500;color:#536070;box-shadow:0 7px 20px rgba(43,58,74,.04);}
.hero-modern-visual{position:relative;min-height:455px;display:flex;flex-direction:column;justify-content:center;gap:34px;}
.hero-image-card{position:relative;z-index:2;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 24px 55px rgba(43,58,74,.16);border:1px solid rgba(43,58,74,.08);width:100%;max-width:560px;margin-left:auto;}
.hero-image-card img{height:330px!important;width:100%;object-fit:cover;}
.hero-image-card:after{display:none!important;}
.photo-badge{position:absolute;left:24px;bottom:20px;display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-radius:16px;padding:14px 18px;box-shadow:0 15px 35px rgba(43,58,74,.18);color:#172535;}
.photo-badge span{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#f2c411;color:#fff;font-size:20px;}
.photo-badge strong{font-size:14px;line-height:1.35;}
.solar-orbit{position:absolute;z-index:0;right:58px;top:4px;width:330px;height:330px;border-radius:50%;border:2px solid rgba(242,196,17,.35);}
.solar-orbit:after{content:"";position:absolute;inset:20px;border-radius:50%;background:rgba(242,196,17,.12);}
.solar-dots{position:absolute;z-index:0;right:-30px;top:46px;width:190px;height:250px;opacity:.34;background-image:radial-gradient(#2b3a4a 1.2px,transparent 1.2px);background-size:18px 18px;}
.trust-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:rgba(255,255,255,.88);border:1px solid rgba(43,58,74,.12);border-radius:16px;box-shadow:0 18px 45px rgba(43,58,74,.07);padding:20px 18px;max-width:560px;margin-left:auto;}
.trust-strip div{display:flex;align-items:center;gap:12px;padding:0 16px;border-right:1px solid rgba(43,58,74,.13);}
.trust-strip div:last-child{border-right:0;}
.trust-icon{font-size:26px;color:#f2c411;line-height:1;}
.trust-strip p{font-size:13px;line-height:1.35;margin:0;color:#2b3a4a;font-weight:500;}
.services-preview{background:#f5f7fa!important;padding:58px 0 70px!important;border-top:none!important;}
.services-preview-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:54px;align-items:start;}
.mini-label{display:flex;align-items:center;gap:14px;color:#e1ae00;font-size:13px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;margin-bottom:28px;}
.mini-label:before{content:"";width:48px;height:2px;background:#f2c411;border-radius:999px;}
.services-heading .h2{font-size:39px!important;line-height:1.18!important;color:#172535!important;letter-spacing:-.04em!important;}
.service-preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.service-preview-card{background:#fff;border:1px solid rgba(43,58,74,.10);border-radius:18px;padding:32px 28px;box-shadow:0 16px 38px rgba(43,58,74,.06);min-height:270px;}
.service-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:12px;background:rgba(242,196,17,.14);color:#f2b800;font-size:28px;margin-bottom:24px;}
.service-preview-card h3{font-size:18px!important;line-height:1.25!important;letter-spacing:-.02em!important;color:#172535;margin:0 0 14px;font-weight:700;}
.service-preview-card p{font-size:15px;line-height:1.65;color:#5d6875;margin:0 0 22px;}
.service-preview-card a{font-size:14px;font-weight:700;color:#172535;}
html[data-theme=dark] .hero-modern{background:linear-gradient(180deg,rgba(24,35,48,.96) 0%,rgba(16,24,32,.96) 100%);}
html[data-theme=dark] .hero-modern-title,html[data-theme=dark] .services-heading .h2,html[data-theme=dark] .service-preview-card h3{color:#fff!important;}
html[data-theme=dark] .hero-modern .lead,html[data-theme=dark] .service-preview-card p{color:#d7dde5!important;}
html[data-theme=dark] .service-chips span,html[data-theme=dark] .trust-strip,html[data-theme=dark] .service-preview-card{background:rgba(43,58,74,.78)!important;border-color:rgba(255,255,255,.13)!important;color:#f8fafc!important;}
html[data-theme=dark] .trust-strip p,html[data-theme=dark] .service-preview-card a{color:#fff!important;}
html[data-theme=dark] .services-preview{background:rgba(15,23,32,.58)!important;}
@media(max-width:1180px){.hero-modern-grid{grid-template-columns:1fr;gap:44px}.hero-modern-copy{max-width:900px!important}.hero-modern-title{font-size:52px!important;max-width:850px}.hero-image-card,.trust-strip{margin-left:0;max-width:680px}.site-header .menu{gap:18px!important}.header-cta{display:none}.hero-modern-visual{min-height:auto;}.solar-orbit{left:300px;right:auto;}}
@media(max-width:900px){.site-header .nav{height:auto!important;padding:16px 0}.logo-word{font-size:20px}.hero-modern{padding:52px 0 42px!important}.hero-modern-title{font-size:38px!important}.hero-image-card img{height:260px!important}.trust-strip{grid-template-columns:1fr;gap:14px}.trust-strip div{border-right:0;border-bottom:1px solid rgba(43,58,74,.13);padding:0 0 14px}.trust-strip div:last-child{border-bottom:0;padding-bottom:0}.services-preview-grid,.service-preview-cards{grid-template-columns:1fr}.services-heading .h2{font-size:32px!important}.service-chips span{font-size:12px}.solar-dots,.solar-orbit{display:none}}

/* v14: enfoque visual aplicado a todo el proyecto web */
body{
  background:#f8fafc!important;
  color:#2b3a4a!important;
}
.site-header.topbar{
  background:linear-gradient(90deg,#111d2c 0%,#172535 100%)!important;
  border-bottom:none!important;
  box-shadow:0 12px 36px rgba(17,29,44,.16)!important;
}
.site-header .nav{height:86px!important;gap:22px;}
.site-header .logo-word{
  color:#f2c411!important;
  font-weight:800!important;
  letter-spacing:.23em!important;
  font-size:24px!important;
  line-height:1!important;
  white-space:nowrap;
}
.site-header .menu{gap:34px!important;font-size:16px!important;font-weight:400!important;}
.site-header .menu a{color:rgba(255,255,255,.86)!important;position:relative;padding:8px 0;font-weight:400!important;}
.site-header .menu a:hover,.site-header .menu a.active{color:#fff!important;}
.site-header .menu a.active:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;background:#f2c411;border-radius:999px;}
.header-cta{display:inline-flex;align-items:center;justify-content:center;background:#f2c411;color:#172535!important;border-radius:10px;padding:14px 20px;font-weight:700;font-size:14px;box-shadow:0 10px 25px rgba(242,196,17,.22);white-space:nowrap;}
.site-header .theme-toggle{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.16)!important;color:#f2c411!important;box-shadow:none!important;}

.page-hero-modern{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%);
  padding:70px 0 58px!important;
}
.page-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:54px;
  align-items:center;
  position:relative;
  z-index:1;
}
.page-hero-copy{max-width:870px;}
.page-hero-modern .eyebrow-line{margin-bottom:22px!important;}
.page-title{
  color:#162338!important;
  font-size:54px!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
  max-width:920px;
  margin:0 0 22px!important;
  white-space:normal!important;
}
.page-hero-modern .lead{
  color:#52606f!important;
  font-size:18px!important;
  line-height:1.72!important;
  max-width:760px!important;
  font-weight:400!important;
  margin:0!important;
}
.page-accent{margin-top:28px!important;margin-bottom:0!important;}
.page-hero-decoration{position:relative;height:260px;}
.decor-circle{position:absolute;right:20px;top:0;width:260px;height:260px;border-radius:50%;border:2px solid rgba(242,196,17,.35);}
.decor-circle:after{content:"";position:absolute;inset:20px;border-radius:50%;background:rgba(242,196,17,.12);}
.decor-dots{position:absolute;right:0;top:44px;width:170px;height:210px;opacity:.30;background-image:radial-gradient(#2b3a4a 1.2px,transparent 1.2px);background-size:18px 18px;}

.section{padding:78px 0!important;background:#f8fafc;border:none!important;}
.section:nth-of-type(even){background:#f5f7fa!important;}
.grid-2,.grid-3{gap:28px!important;}
.card{
  border-radius:18px!important;
  border:1px solid rgba(43,58,74,.10)!important;
  background:#fff!important;
  box-shadow:0 16px 38px rgba(43,58,74,.06)!important;
  overflow:hidden;
}
.card-img{height:245px!important;object-fit:cover;width:100%;}
.card-body{padding:30px 28px!important;}
.card-body::before{display:none!important;}
.ico,.service-icon{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:58px!important;height:58px!important;border-radius:12px!important;
  background:rgba(242,196,17,.14)!important;color:#f2b800!important;
  font-size:28px!important;margin-bottom:22px!important;
}
.card h3,.h3,h3{color:#172535!important;font-weight:700!important;letter-spacing:-.02em!important;}
.card p,.text p,.footer p{font-weight:400;}
.list{border-top:1px solid rgba(43,58,74,.12)!important;margin-top:22px!important;padding-top:18px!important;}
.list div{color:#52606f!important;padding:9px 0 9px 28px!important;position:relative;}
.list div:before{content:"✓";position:absolute;left:0;color:#f2b800!important;font-weight:800;}
.tag,.power{background:rgba(242,196,17,.14)!important;color:#2b3a4a!important;border-radius:999px!important;border:0!important;}
.meta{color:#6a7582!important;font-size:13px!important;}
.power{display:inline-flex!important;margin-top:18px!important;padding:8px 14px!important;font-size:18px!important;font-weight:800!important;}

.split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,.78fr);gap:34px;align-items:start;}
.text,.form,.reviews{
  background:#fff!important;
  border:1px solid rgba(43,58,74,.10)!important;
  border-radius:18px!important;
  box-shadow:0 16px 38px rgba(43,58,74,.06)!important;
  padding:34px!important;
}
.form input,.form textarea,input,textarea{
  background:#f8fafc!important;
  border:1px solid rgba(43,58,74,.14)!important;
  border-radius:12px!important;
  color:#2b3a4a!important;
}
.cta{
  border-radius:22px!important;
  background:linear-gradient(135deg,#2b3a4a 0%,#172535 100%)!important;
  padding:46px!important;
  box-shadow:0 18px 48px rgba(43,58,74,.18)!important;
}
.cta .h2,.cta h2{color:#fff!important;}
.cta p{color:rgba(255,255,255,.72)!important;}
.btn{border-radius:10px!important;text-transform:none!important;letter-spacing:0!important;font-weight:700!important;}
.btn.primary{background:#f2c411!important;border-color:#f2c411!important;color:#172535!important;}
.btn:not(.primary){background:#fff!important;color:#172535!important;border:1px solid rgba(43,58,74,.15)!important;}
.footer{margin-top:0!important;background:#172535!important;}
.footer .logo-word,.footer h3{color:#f2c411!important;}
.footer img{filter:none!important;}
.whatsapp{border-radius:16px!important;box-shadow:0 14px 34px rgba(37,211,102,.26)!important;}

/* Unificación de páginas interiores de servicios/proyectos */
.project .card-img{height:250px!important;}
.gallery img{border-radius:16px!important;box-shadow:0 14px 34px rgba(43,58,74,.08);border:1px solid rgba(43,58,74,.10)!important;}

html[data-theme=dark] body{background:radial-gradient(circle at top left,rgba(242,196,17,.14) 0%,rgba(43,58,74,.96) 28%,#172230 68%,#101820 100%)!important;background-attachment:fixed!important;color:#f8fafc!important;}
html[data-theme=dark] .page-hero-modern,html[data-theme=dark] .section,html[data-theme=dark] .section:nth-of-type(even){background:transparent!important;}
html[data-theme=dark] .page-title,html[data-theme=dark] .card h3,html[data-theme=dark] .h3,html[data-theme=dark] h3{color:#fff!important;}
html[data-theme=dark] .page-hero-modern .lead,html[data-theme=dark] .card p,html[data-theme=dark] .list div,html[data-theme=dark] .text p{color:#d7dde5!important;}
html[data-theme=dark] .card,html[data-theme=dark] .text,html[data-theme=dark] .form,html[data-theme=dark] .reviews,html[data-theme=dark] .btn:not(.primary){background:rgba(43,58,74,.78)!important;border-color:rgba(255,255,255,.13)!important;color:#fff!important;}
html[data-theme=dark] input,html[data-theme=dark] textarea{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.14)!important;color:#fff!important;}
html[data-theme=dark] .tag,html[data-theme=dark] .power{color:#fff!important;background:rgba(242,196,17,.18)!important;}

@media(max-width:1180px){
  .site-header .menu{gap:18px!important;}
  .header-cta{display:none;}
  .page-hero-inner{grid-template-columns:1fr;gap:18px;}
  .page-hero-decoration{display:none;}
  .page-title{font-size:46px!important;}
}
@media(max-width:900px){
  .site-header .nav{height:auto!important;padding:16px 0;}
  .site-header .logo-word{font-size:20px!important;}
  .page-hero-modern{padding:52px 0 42px!important;}
  .page-title{font-size:36px!important;}
  .split,.grid-2,.grid-3,.footer-grid{grid-template-columns:1fr!important;}
  .section{padding:56px 0!important;}
  .card-img{height:220px!important;}
}

/* v15: sustituir círculos decorativos por símbolo corporativo Ortek */
.solar-orbit,
.decor-circle{
  border:0!important;
  border-radius:0!important;
  background:url('assets/logo-simbolo-rayo-azul.png') center/contain no-repeat!important;
  opacity:.18!important;
  filter:none!important;
}
.solar-orbit:after,
.decor-circle:after{
  display:none!important;
  content:none!important;
}
.solar-orbit{
  width:330px!important;
  height:330px!important;
  right:58px!important;
  top:4px!important;
}
.decor-circle{
  width:260px!important;
  height:260px!important;
  right:20px!important;
  top:0!important;
}
html[data-theme=dark] .solar-orbit,
html[data-theme=dark] .decor-circle{
  opacity:.24!important;
}
@media(max-width:900px){
  .solar-orbit,
  .decor-circle{display:none!important;}
}

/* v16: símbolo Ortek en primer plano y sin grid de puntos */
.solar-dots,
.decor-dots{
  display:none!important;
  background:none!important;
}
.solar-orbit,
.decor-circle{
  opacity:1!important;
  z-index:5!important;
  pointer-events:none!important;
  background:url('assets/logo-simbolo-rayo-azul.png') center/contain no-repeat!important;
}
.solar-orbit{
  width:210px!important;
  height:210px!important;
  right:-18px!important;
  top:-32px!important;
}
.decor-circle{
  width:230px!important;
  height:230px!important;
  right:30px!important;
  top:10px!important;
}
html[data-theme=dark] .solar-orbit,
html[data-theme=dark] .decor-circle{
  opacity:1!important;
}
@media(max-width:1180px){
  .solar-orbit{
    left:auto!important;
    right:18px!important;
    top:-26px!important;
  }
}
@media(max-width:900px){
  .solar-orbit,
  .decor-circle{
    display:none!important;
  }
}


/* v17: ajustes solicitados en inicio y cabecero */
/* En la home no mostrar el rótulo ORTEK SOLAR encima del título */
.hero-home .eyebrow-line{display:none!important;}

/* Wordmark del cabecero con aspecto más cercano al branding */
.site-header .logo-word{
  font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  font-weight:700!important;
  letter-spacing:.18em!important;
  font-size:23px!important;
  text-transform:uppercase!important;
  color:#f2c411!important;
}
@media(max-width:900px){
  .site-header .logo-word{font-size:19px!important;letter-spacing:.14em!important;}
}

/* Texto encuadrado dentro de la foto más pequeño y compacto */
.photo-badge{
  left:18px!important;
  bottom:16px!important;
  gap:10px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
}
.photo-badge span{
  width:30px!important;
  height:30px!important;
  font-size:14px!important;
}
.photo-badge strong{
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:600!important;
}


/* v18: sustituir wordmark del cabecero por logo completo */
.site-header .logo-word{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0!important;
  color:transparent!important;
  font-size:0!important;
  letter-spacing:0!important;
  line-height:0!important;
}
.site-header .logo-word img{
  display:block!important;
  height:56px!important;
  width:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  filter:none!important;
}
@media(max-width:900px){
  .site-header .logo-word img{
    height:42px!important;
  }
}


/* v19: usar el símbolo aislado en cabecero y elementos decorativos */
.site-header .logo-word img{
  height:64px!important;
  width:auto!important;
}
@media(max-width:900px){
  .site-header .logo-word img{height:46px!important;}
}


/* v21: nueva foto en inicio y sin logo decorativo sobre la imagen */
.hero-home .solar-orbit{
  display:none!important;
}


/* v22: iconos de botones de inicio */
.hero-actions .btn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px!important;
  line-height:1!important;
}
.hero-actions .btn:not(.primary) .btn-icon{
  color:#f2c411!important;
}


/* v23: quitar bloque de confianza y mantener chips de servicios en una línea */
.hero-home .trust-strip{
  display:none!important;
}

.hero-home .service-chips{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  width:100%!important;
  max-width:760px!important;
  overflow:visible!important;
}

.hero-home .service-chips span{
  white-space:nowrap!important;
  flex:0 0 auto!important;
  padding:10px 14px!important;
}

@media(max-width:900px){
  .hero-home .service-chips{
    flex-wrap:wrap!important;
    max-width:100%!important;
  }
}


/* v24: chips más pequeños, icono fotovoltaica tipo panel, y chips antes de CTA */
.hero-home .service-chips{
  margin-top:22px!important;
  margin-bottom:22px!important;
  max-width:700px!important;
  gap:8px!important;
}
.hero-home .service-chips span{
  font-size:12px!important;
  padding:8px 11px!important;
  border-radius:7px!important;
}
.hero-home .hero-actions{
  margin-top:0!important;
}
@media(max-width:900px){
  .hero-home .service-chips span{
    font-size:11px!important;
    padding:8px 10px!important;
  }
}


/* v25: eliminar bloque preview "Nuestros servicios" de la home */
.services-preview{
  display:none!important;
}


/* v26: en inicio, la sección Servicios usa el mismo contenido de la página Servicios */
.home-services-from-page{
  display:block!important;
}
.home-services-from-page .section:first-child{
  padding-top:78px!important;
}


/* v27: en la página Servicios, cambiar el logo decorativo por el logo completo */
.page-servicios .page-hero-decoration{
  height:220px!important;
}
.page-servicios .decor-circle{
  width:430px!important;
  height:170px!important;
  right:0!important;
  top:26px!important;
  opacity:1!important;
  z-index:5!important;
  background:url('assets/logo-servicios-full.png') center/contain no-repeat!important;
}
.page-servicios .decor-dots{
  display:none!important;
}
@media(max-width:1180px){
  .page-servicios .decor-circle{
    width:360px!important;
    height:145px!important;
  }
}
@media(max-width:900px){
  .page-servicios .decor-circle{
    display:none!important;
  }
}


/* v28: en Servicios usar el símbolo solo, que el usuario prefiere */
.page-servicios .decor-circle{
  width:220px!important;
  height:220px!important;
  right:30px!important;
  top:4px!important;
  opacity:1!important;
  z-index:5!important;
  background:url('assets/logo-servicios-simbolo.png') center/contain no-repeat!important;
}
@media(max-width:1180px){
  .page-servicios .decor-circle{
    width:190px!important;
    height:190px!important;
    right:10px!important;
    top:8px!important;
  }
}


/* v29: Servicios con tamaños de Inicio, sin logo superior derecho y 4 tarjetas en una línea */
.page-servicios .page-title{
  font-size:64px!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
  max-width:680px!important;
}

.page-servicios .page-hero-modern .lead{
  font-size:17px!important;
  line-height:1.72!important;
  max-width:650px!important;
  font-weight:400!important;
}

/* Quitar logo/símbolo de la derecha arriba en Servicios */
.page-servicios .page-hero-decoration{
  display:none!important;
}

/* La página Servicios ocupa ancho completo al no tener decoración */
.page-servicios .page-hero-inner{
  grid-template-columns:1fr!important;
}

/* Que los 4 recuadros de servicios quepan en una sola línea en escritorio */
.page-servicios .grid-2{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}

.page-servicios .card-img{
  height:165px!important;
}

.page-servicios .card-body{
  padding:22px 18px!important;
}

.page-servicios .ico{
  width:46px!important;
  height:46px!important;
  font-size:22px!important;
  margin-bottom:16px!important;
}

.page-servicios .card h3,
.page-servicios .h3{
  font-size:18px!important;
  line-height:1.22!important;
}

.page-servicios .card p{
  font-size:14px!important;
  line-height:1.55!important;
}

.page-servicios .list{
  margin-top:16px!important;
  padding-top:14px!important;
}

.page-servicios .list div{
  font-size:12px!important;
  line-height:1.35!important;
  padding:7px 0 7px 22px!important;
}

@media(max-width:1180px){
  .page-servicios .page-title{
    font-size:52px!important;
    max-width:850px!important;
  }
  .page-servicios .grid-2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:900px){
  .page-servicios .page-title{
    font-size:38px!important;
  }
  .page-servicios .grid-2{
    grid-template-columns:1fr!important;
  }
  .page-servicios .card-img{
    height:220px!important;
  }
}


/* v30: corrección real de Servicios según feedback */
.page-servicios .page-hero-modern{
  padding:64px 0 38px!important;
}
.page-servicios .page-hero-inner{
  grid-template-columns:1fr!important;
  gap:0!important;
}
.page-servicios .eyebrow-line{
  font-size:15px!important;
  margin-bottom:24px!important;
}
.page-servicios .page-title{
  font-size:64px!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
  color:#162338!important;
  margin:0 0 24px!important;
  max-width:680px!important;
  white-space:normal!important;
}
.page-servicios .page-hero-modern .lead{
  font-size:17px!important;
  line-height:1.72!important;
  color:#52606f!important;
  max-width:650px!important;
  margin:0!important;
  font-weight:400!important;
}
.page-servicios .title-accent{
  margin:26px 0 0!important;
}
.page-servicios .page-hero-decoration,
.page-servicios .decor-circle,
.page-servicios .decor-dots{
  display:none!important;
}

/* Ancho mayor para que entren 4 tarjetas en una línea */
.page-servicios .section > .wrap{
  max-width:1440px!important;
}

/* 4 recuadros en una sola línea y aprox. mitad de tamaño visual */
.page-servicios .grid-2{
  display:grid!important;
  grid-template-columns:repeat(4, minmax(0, 1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
.page-servicios .card{
  border-radius:16px!important;
}
.page-servicios .card-img{
  height:110px!important;
  object-fit:cover!important;
}
.page-servicios .card-body{
  padding:14px 12px!important;
}
.page-servicios .ico{
  width:34px!important;
  height:34px!important;
  font-size:17px!important;
  border-radius:10px!important;
  margin-bottom:10px!important;
}
.page-servicios .card h3,
.page-servicios .h3{
  font-size:15px!important;
  line-height:1.22!important;
  margin:0 0 8px!important;
}
.page-servicios .card p{
  font-size:12px!important;
  line-height:1.45!important;
  margin:0 0 10px!important;
}
.page-servicios .list{
  margin-top:10px!important;
  padding-top:10px!important;
}
.page-servicios .list div{
  font-size:10.5px!important;
  line-height:1.3!important;
  margin:4px 0!important;
  padding:5px 0 5px 18px!important;
}

/* Responsive */
@media(max-width:1280px){
  .page-servicios .grid-2{
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
  }
  .page-servicios .card-img{
    height:150px!important;
  }
}
@media(max-width:900px){
  .page-servicios .page-title{
    font-size:38px!important;
    max-width:100%!important;
  }
  .page-servicios .page-hero-modern .lead{
    font-size:16px!important;
    max-width:100%!important;
  }
  .page-servicios .grid-2{
    grid-template-columns:1fr!important;
  }
  .page-servicios .card-img{
    height:210px!important;
  }
}


/* v31: Servicios - 4 recuadros siempre en una línea en escritorio y título más pequeño */
.page-servicios .page-title{
  font-size:46px!important;
  line-height:1.08!important;
  max-width:760px!important;
}

.page-servicios .page-hero-modern .lead{
  font-size:16px!important;
  line-height:1.68!important;
  max-width:720px!important;
}

/* Mantener 4 columnas hasta tablet/móvil, anulando el 2+2 anterior */
.page-servicios .section > .wrap{
  max-width:1280px!important;
  padding-left:28px!important;
  padding-right:28px!important;
}

.page-servicios .grid-2{
  grid-template-columns:repeat(4, minmax(0, 1fr))!important;
  gap:10px!important;
}

/* Recuadros más estrechos y compactos */
.page-servicios .card{
  border-radius:14px!important;
}

.page-servicios .card-img{
  height:86px!important;
}

.page-servicios .card-body{
  padding:11px 10px!important;
}

.page-servicios .ico{
  width:30px!important;
  height:30px!important;
  font-size:15px!important;
  border-radius:8px!important;
  margin-bottom:8px!important;
}

.page-servicios .card h3,
.page-servicios .h3{
  font-size:13.5px!important;
  line-height:1.18!important;
  margin-bottom:6px!important;
}

.page-servicios .card p{
  font-size:11px!important;
  line-height:1.38!important;
  margin-bottom:8px!important;
}

.page-servicios .list{
  margin-top:8px!important;
  padding-top:8px!important;
}

.page-servicios .list div{
  font-size:9.5px!important;
  line-height:1.25!important;
  padding:4px 0 4px 15px!important;
  margin:2px 0!important;
}

/* Anular específicamente el salto 2+2 de la versión anterior */
@media(max-width:1280px){
  .page-servicios .grid-2{
    grid-template-columns:repeat(4, minmax(0, 1fr))!important;
  }
  .page-servicios .card-img{
    height:80px!important;
  }
}

/* Solo en móvil estrecho apilar */
@media(max-width:760px){
  .page-servicios .page-title{
    font-size:34px!important;
  }
  .page-servicios .grid-2{
    grid-template-columns:1fr!important;
  }
  .page-servicios .card-img{
    height:190px!important;
  }
  .page-servicios .card h3,
  .page-servicios .h3{
    font-size:17px!important;
  }
  .page-servicios .card p{
    font-size:14px!important;
  }
  .page-servicios .list div{
    font-size:12px!important;
  }
}


/* v32: menú desplegable de Servicios en cabecero */
.site-header .menu{
  align-items:center!important;
}

.nav-dropdown{
  position:relative;
  display:inline-flex;
  align-items:center;
}

.nav-main-link{
  color:rgba(255,255,255,.86)!important;
  position:relative;
  padding:8px 0;
  font-weight:400!important;
}

.nav-main-link::after{
  content:"▾";
  display:inline-block;
  margin-left:7px;
  font-size:10px;
  color:#f2c411;
  transform:translateY(-1px);
}

.nav-main-link.active{
  color:#fff!important;
}

.nav-main-link.active:before{
  content:"";
  position:absolute;
  left:0;
  right:16px;
  bottom:-6px;
  height:3px;
  background:#f2c411;
  border-radius:999px;
}

.dropdown-menu{
  position:absolute;
  top:calc(100% + 16px);
  left:50%;
  transform:translateX(-50%) translateY(8px);
  min-width:285px;
  padding:10px;
  background:#ffffff;
  border:1px solid rgba(43,58,74,.12);
  border-radius:14px;
  box-shadow:0 20px 48px rgba(17,29,44,.22);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:100;
}

.dropdown-menu::before{
  content:"";
  position:absolute;
  top:-18px;
  left:0;
  right:0;
  height:18px;
}

.dropdown-menu a{
  display:block!important;
  color:#2b3a4a!important;
  padding:10px 12px!important;
  border-radius:10px;
  font-size:13px!important;
  line-height:1.25;
  font-weight:600!important;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.dropdown-menu a:hover{
  background:rgba(242,196,17,.16)!important;
  color:#172535!important;
}

.dropdown-menu a::after{
  display:none!important;
}

.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

html[data-theme=dark] .dropdown-menu{
  background:#172535;
  border-color:rgba(255,255,255,.14);
}

html[data-theme=dark] .dropdown-menu a{
  color:#ffffff!important;
}

html[data-theme=dark] .dropdown-menu a:hover{
  background:rgba(242,196,17,.18)!important;
  color:#ffffff!important;
}

@media(max-width:900px){
  .nav-dropdown{
    display:none!important;
  }
}


/* v33: corrección desplegable Servicios visible */
.site-header{
  overflow:visible!important;
}
.site-header .wrap,
.site-header .nav,
.site-header .menu,
.nav-dropdown{
  overflow:visible!important;
}

.site-header .menu{
  display:flex!important;
  align-items:center!important;
  gap:34px!important;
}

.nav-dropdown{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  height:100%;
}

.nav-main-link{
  display:inline-flex!important;
  align-items:center!important;
  color:rgba(255,255,255,.86)!important;
  position:relative!important;
  padding:8px 0!important;
  font-weight:400!important;
  cursor:pointer!important;
}

.nav-main-link::after{
  content:"▾"!important;
  display:inline-block!important;
  margin-left:7px!important;
  font-size:11px!important;
  color:#f2c411!important;
  line-height:1!important;
}

.nav-main-link.active{
  color:#fff!important;
}

.nav-main-link.active::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:16px!important;
  bottom:-6px!important;
  height:3px!important;
  background:#f2c411!important;
  border-radius:999px!important;
}

.dropdown-menu{
  position:absolute!important;
  top:100%!important;
  left:0!important;
  transform:translateY(10px)!important;
  min-width:310px!important;
  padding:10px!important;
  background:#ffffff!important;
  border:1px solid rgba(43,58,74,.14)!important;
  border-radius:14px!important;
  box-shadow:0 22px 55px rgba(17,29,44,.28)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease!important;
  z-index:9999!important;
}

.dropdown-menu::before{
  content:""!important;
  position:absolute!important;
  top:-18px!important;
  left:0!important;
  right:0!important;
  height:18px!important;
}

.dropdown-menu a{
  display:block!important;
  color:#2b3a4a!important;
  padding:11px 12px!important;
  border-radius:10px!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:650!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
  white-space:nowrap!important;
}

.dropdown-menu a:hover{
  background:rgba(242,196,17,.18)!important;
  color:#172535!important;
}

.dropdown-menu a::after{
  display:none!important;
}

.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}

html[data-theme=dark] .dropdown-menu{
  background:#172535!important;
  border-color:rgba(255,255,255,.14)!important;
}

html[data-theme=dark] .dropdown-menu a{
  color:#ffffff!important;
}

html[data-theme=dark] .dropdown-menu a:hover{
  background:rgba(242,196,17,.18)!important;
  color:#ffffff!important;
}

@media(max-width:900px){
  .site-header .menu{
    display:none!important;
  }
}


/* v34: corrección de contraste del desplegable Servicios */
.site-header .dropdown-menu{
  background:#ffffff!important;
  color:#2b3a4a!important;
}

.site-header .dropdown-menu a,
.site-header .menu .dropdown-menu a,
.site-header .nav-dropdown .dropdown-menu a{
  color:#2b3a4a!important;
  background:transparent!important;
}

.site-header .dropdown-menu a:hover,
.site-header .menu .dropdown-menu a:hover,
.site-header .nav-dropdown .dropdown-menu a:hover{
  background:rgba(242,196,17,.20)!important;
  color:#172535!important;
}

/* En modo noche también debe verse bien */
html[data-theme=dark] .site-header .dropdown-menu{
  background:#ffffff!important;
  color:#2b3a4a!important;
  border-color:rgba(43,58,74,.14)!important;
}

html[data-theme=dark] .site-header .dropdown-menu a,
html[data-theme=dark] .site-header .menu .dropdown-menu a,
html[data-theme=dark] .site-header .nav-dropdown .dropdown-menu a{
  color:#2b3a4a!important;
  background:transparent!important;
}

html[data-theme=dark] .site-header .dropdown-menu a:hover,
html[data-theme=dark] .site-header .menu .dropdown-menu a:hover,
html[data-theme=dark] .site-header .nav-dropdown .dropdown-menu a:hover{
  background:rgba(242,196,17,.22)!important;
  color:#172535!important;
}


/* v35: desplegable Servicios acorde al cabecero y al modo día/noche */

/* MODO DÍA: mismo estilo oscuro del cabecero */
.site-header .dropdown-menu,
html:not([data-theme="dark"]) .site-header .dropdown-menu{
  background:linear-gradient(135deg,#111d2c 0%,#172535 100%)!important;
  color:#ffffff!important;
  border:1px solid rgba(242,196,17,.28)!important;
  box-shadow:0 22px 55px rgba(17,29,44,.34)!important;
}

.site-header .dropdown-menu a,
.site-header .menu .dropdown-menu a,
.site-header .nav-dropdown .dropdown-menu a,
html:not([data-theme="dark"]) .site-header .dropdown-menu a,
html:not([data-theme="dark"]) .site-header .menu .dropdown-menu a,
html:not([data-theme="dark"]) .site-header .nav-dropdown .dropdown-menu a{
  color:rgba(255,255,255,.88)!important;
  background:transparent!important;
}

.site-header .dropdown-menu a:hover,
.site-header .menu .dropdown-menu a:hover,
.site-header .nav-dropdown .dropdown-menu a:hover,
html:not([data-theme="dark"]) .site-header .dropdown-menu a:hover,
html:not([data-theme="dark"]) .site-header .menu .dropdown-menu a:hover,
html:not([data-theme="dark"]) .site-header .nav-dropdown .dropdown-menu a:hover{
  background:rgba(242,196,17,.16)!important;
  color:#f2c411!important;
}

/* MODO NOCHE: más integrado, menos contraste, pero legible */
html[data-theme="dark"] .site-header .dropdown-menu{
  background:linear-gradient(135deg,#0d1624 0%,#172535 100%)!important;
  color:#ffffff!important;
  border:1px solid rgba(242,196,17,.34)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.45)!important;
}

html[data-theme="dark"] .site-header .dropdown-menu a,
html[data-theme="dark"] .site-header .menu .dropdown-menu a,
html[data-theme="dark"] .site-header .nav-dropdown .dropdown-menu a{
  color:rgba(255,255,255,.90)!important;
  background:transparent!important;
}

html[data-theme="dark"] .site-header .dropdown-menu a:hover,
html[data-theme="dark"] .site-header .menu .dropdown-menu a:hover,
html[data-theme="dark"] .site-header .nav-dropdown .dropdown-menu a:hover{
  background:rgba(242,196,17,.20)!important;
  color:#f2c411!important;
}

/* Detalle superior amarillo para unificar con marca */
.site-header .dropdown-menu::after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:12px!important;
  right:12px!important;
  height:3px!important;
  background:#f2c411!important;
  border-radius:0 0 999px 999px!important;
  opacity:.95!important;
}


/* v36: recuadros de Servicios mucho más pequeños */
.page-servicios .section > .wrap{
  max-width:1180px!important;
}

.page-servicios .grid-2{
  grid-template-columns:repeat(4, minmax(0, 1fr))!important;
  gap:8px!important;
}

.page-servicios .card{
  border-radius:12px!important;
}

.page-servicios .card-img{
  height:64px!important;
}

.page-servicios .card-body{
  padding:8px 8px!important;
}

.page-servicios .ico{
  width:24px!important;
  height:24px!important;
  font-size:12px!important;
  border-radius:6px!important;
  margin-bottom:6px!important;
}

.page-servicios .card h3,
.page-servicios .h3{
  font-size:11.5px!important;
  line-height:1.15!important;
  margin:0 0 4px!important;
  letter-spacing:-.01em!important;
}

.page-servicios .card p{
  font-size:9.5px!important;
  line-height:1.28!important;
  margin:0 0 6px!important;
}

.page-servicios .list{
  margin-top:6px!important;
  padding-top:6px!important;
}

.page-servicios .list div{
  font-size:8.5px!important;
  line-height:1.18!important;
  padding:3px 0 3px 12px!important;
  margin:1px 0!important;
}

@media(max-width:1280px){
  .page-servicios .grid-2{
    grid-template-columns:repeat(4, minmax(0, 1fr))!important;
    gap:8px!important;
  }
  .page-servicios .card-img{
    height:60px!important;
  }
}

@media(max-width:760px){
  .page-servicios .grid-2{
    grid-template-columns:1fr!important;
  }
  .page-servicios .card-img{
    height:180px!important;
  }
  .page-servicios .card-body{
    padding:16px 14px!important;
  }
  .page-servicios .ico{
    width:36px!important;
    height:36px!important;
    font-size:18px!important;
  }
  .page-servicios .card h3,
  .page-servicios .h3{
    font-size:17px!important;
  }
  .page-servicios .card p{
    font-size:14px!important;
  }
  .page-servicios .list div{
    font-size:12px!important;
  }
}


/* v39: Home one-page completa con navegación por secciones */
html{
  scroll-padding-top:105px;
}
.onepage-section{
  scroll-margin-top:105px;
}
#inicio{
  scroll-margin-top:105px;
}
.section-anchor-hero{
  padding:64px 0 34px!important;
}
.onepage-section .page-hero-decoration,
.onepage-section .decor-circle,
.onepage-section .decor-dots{
  display:none!important;
}
.onepage-section .page-hero-inner{
  grid-template-columns:1fr!important;
}
.onepage-section .page-title{
  font-size:46px!important;
  line-height:1.08!important;
  max-width:820px!important;
}
.onepage-section .page-hero-modern .lead{
  font-size:16px!important;
  line-height:1.68!important;
  max-width:780px!important;
}

/* Servicios dentro de Inicio: 4 tarjetas compactas pero legibles */
.onepage-servicios .section > .wrap,
.page-servicios .section > .wrap{
  max-width:1280px!important;
  padding-left:40px!important;
  padding-right:40px!important;
}
.onepage-servicios .grid-2,
.page-servicios .grid-2{
  display:grid!important;
  grid-template-columns:repeat(4, minmax(0, 1fr))!important;
  gap:14px!important;
}
.onepage-servicios .card,
.page-servicios .card{
  border-radius:14px!important;
}
.onepage-servicios .card-img,
.page-servicios .card-img{
  height:95px!important;
  object-fit:cover!important;
}
.onepage-servicios .card-body,
.page-servicios .card-body{
  padding:12px 12px!important;
}
.onepage-servicios .ico,
.page-servicios .ico{
  width:30px!important;
  height:30px!important;
  font-size:15px!important;
  border-radius:8px!important;
  margin-bottom:8px!important;
}
.onepage-servicios .card h3,
.onepage-servicios .h3,
.page-servicios .card h3,
.page-servicios .h3{
  font-size:13.5px!important;
  line-height:1.18!important;
  margin:0 0 6px!important;
}
.onepage-servicios .card p,
.page-servicios .card p{
  font-size:11px!important;
  line-height:1.38!important;
  margin:0 0 8px!important;
}
.onepage-servicios .list,
.page-servicios .list{
  margin-top:8px!important;
  padding-top:8px!important;
}
.onepage-servicios .list div,
.page-servicios .list div{
  font-size:9.5px!important;
  line-height:1.25!important;
  padding:4px 0 4px 15px!important;
  margin:2px 0!important;
}
.legalizacion-anchor{
  margin-top:14px;
  padding:16px 18px;
  border:1px solid rgba(43,58,74,.10);
  border-radius:14px;
  background:#fff;
  box-shadow:0 12px 28px rgba(43,58,74,.05);
}
.legalizacion-anchor h3{
  font-size:16px!important;
  margin:0 0 6px!important;
  color:#172535!important;
}
.legalizacion-anchor p{
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:#52606f;
}

/* Cabecero one-page */
.site-header .menu a.active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:3px;
  background:#f2c411;
  border-radius:999px;
}

/* Dropdown manteniendo estilo cabecero */
.site-header .dropdown-menu,
html:not([data-theme="dark"]) .site-header .dropdown-menu{
  background:linear-gradient(135deg,#111d2c 0%,#172535 100%)!important;
  color:#ffffff!important;
  border:1px solid rgba(242,196,17,.28)!important;
  box-shadow:0 22px 55px rgba(17,29,44,.34)!important;
}
.site-header .dropdown-menu a,
.site-header .menu .dropdown-menu a,
.site-header .nav-dropdown .dropdown-menu a{
  color:rgba(255,255,255,.88)!important;
  background:transparent!important;
}
.site-header .dropdown-menu a:hover,
.site-header .menu .dropdown-menu a:hover,
.site-header .nav-dropdown .dropdown-menu a:hover{
  background:rgba(242,196,17,.16)!important;
  color:#f2c411!important;
}
html[data-theme="dark"] .site-header .dropdown-menu{
  background:linear-gradient(135deg,#0d1624 0%,#172535 100%)!important;
  border-color:rgba(242,196,17,.34)!important;
}
.site-header .dropdown-menu::after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:12px!important;
  right:12px!important;
  height:3px!important;
  background:#f2c411!important;
  border-radius:0 0 999px 999px!important;
}

/* Contacto embebido al final */
.onepage-contacto .section[id="formulario"]{
  scroll-margin-top:105px;
}

@media(max-width:1100px){
  .onepage-servicios .grid-2,
  .page-servicios .grid-2{
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
  }
  .onepage-servicios .card-img,
  .page-servicios .card-img{
    height:130px!important;
  }
}
@media(max-width:760px){
  .onepage-section .page-title{
    font-size:34px!important;
  }
  .onepage-servicios .grid-2,
  .page-servicios .grid-2{
    grid-template-columns:1fr!important;
  }
  .onepage-servicios .card-img,
  .page-servicios .card-img{
    height:190px!important;
  }
}


/* v40: Servicios sin texto descriptivo, solo título y recuadros */
.onepage-servicios .page-hero-modern,
.page-servicios .page-hero-modern{
  padding-bottom:20px!important;
}

.onepage-servicios .page-hero-modern .lead,
.page-servicios .page-hero-modern .lead{
  display:none!important;
}

.onepage-servicios .page-title,
.page-servicios .page-title{
  margin-bottom:12px!important;
}

.onepage-servicios .page-accent,
.page-servicios .page-accent,
.onepage-servicios .title-accent,
.page-servicios .title-accent{
  margin-top:18px!important;
}


/* v41: web one-page limpia y versión día por defecto */
html[data-theme="light"] body{
  background:#f8fafc!important;
  color:#2b3a4a!important;
}

#inicio,
#servicios,
#proyectos,
#sobre-nosotros,
#ayudas,
#contacto,
#formulario,
#fotovoltaica,
#recarga-ve,
#electricidad,
#mantenimiento,
#legalizacion{
  scroll-margin-top:105px;
}

.onepage-section .page-hero-decoration,
.onepage-section .decor-circle,
.onepage-section .decor-dots{
  display:none!important;
}


/* v43: título de inicio con estilo inspirado en el wordmark del logo */
.logo-inspired-title{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  font-family:Montserrat, Arial, Helvetica, sans-serif!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  line-height:1!important;
  font-size:56px!important;
  color:#2c4058!important;
  margin:0 0 18px!important;
}

.logo-inspired-title span{
  display:inline-block!important;
  position:relative!important;
}

.logo-inspired-title span:first-child{
  padding-right:4px!important;
}

.logo-inspired-title span:last-child{
  padding-left:4px!important;
}

html[data-theme="dark"] .logo-inspired-title{
  color:#eef2f7!important;
}

@media(max-width:1100px){
  .logo-inspired-title{
    font-size:48px!important;
    gap:12px!important;
  }
}

@media(max-width:760px){
  .logo-inspired-title{
    font-size:36px!important;
    gap:8px!important;
    letter-spacing:.04em!important;
  }
}


/* v44: ajustes hero inicio según feedback */
.hero-home .service-chips{
  max-width:760px!important;
  gap:10px!important;
}
.hero-home .service-chips span{
  font-size:13px!important;
  padding:9px 14px!important;
}

/* Botones: Contactar sin amarillo, Ver proyectos en amarillo */
.hero-home .hero-actions .btn{
  min-height:54px!important;
}
.hero-home .hero-actions .btn-contactar{
  background:#ffffff!important;
  color:#2b3a4a!important;
  border:1px solid rgba(43,58,74,.18)!important;
  box-shadow:0 10px 24px rgba(43,58,74,.06)!important;
}
.hero-home .hero-actions .btn-contactar .btn-icon{
  color:#2b3a4a!important;
}
.hero-home .hero-actions .btn-proyectos{
  background:#f2c411!important;
  border-color:#f2c411!important;
  color:#1c2737!important;
  box-shadow:0 16px 34px rgba(242,196,17,.26)!important;
}
.hero-home .hero-actions .btn-proyectos .btn-icon{
  color:#1c2737!important;
}

html[data-theme="dark"] .hero-home .hero-actions .btn-contactar{
  background:rgba(43,58,74,.78)!important;
  color:#f8fafc!important;
  border-color:rgba(255,255,255,.14)!important;
}
html[data-theme="dark"] .hero-home .hero-actions .btn-contactar .btn-icon{
  color:#f8fafc!important;
}

/* Foto derecha: que ocupe la altura del bloque de texto + botones */
.hero-home.hero-modern{
  padding-bottom:54px!important;
}
.hero-home .hero-modern-grid{
  align-items:stretch!important;
}
.hero-home .hero-modern-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.hero-home .hero-modern-visual{
  display:flex!important;
  align-items:stretch!important;
  min-height:100%!important;
}
.hero-home .hero-image-card{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  display:flex!important;
}
.hero-home .hero-image-card img{
  height:100%!important;
  min-height:100%!important;
  width:100%!important;
  object-fit:cover!important;
}

@media(max-width:1180px){
  .hero-home .hero-modern-visual{
    min-height:auto!important;
  }
  .hero-home .hero-image-card{
    max-width:780px!important;
  }
  .hero-home .hero-image-card img{
    min-height:360px!important;
  }
}
@media(max-width:760px){
  .hero-home .service-chips{
    gap:8px!important;
  }
  .hero-home .service-chips span{
    font-size:11px!important;
    padding:8px 10px!important;
  }
}


/* v45: Contactar también en amarillo + foto alineada desde el texto */
.hero-home .hero-actions .btn-contactar{
  background:#f2c411!important;
  border-color:#f2c411!important;
  color:#1c2737!important;
  box-shadow:0 16px 34px rgba(242,196,17,.26)!important;
}
.hero-home .hero-actions .btn-contactar .btn-icon{
  color:#1c2737!important;
}
html[data-theme="dark"] .hero-home .hero-actions .btn-contactar{
  background:#f2c411!important;
  border-color:#f2c411!important;
  color:#1c2737!important;
}
html[data-theme="dark"] .hero-home .hero-actions .btn-contactar .btn-icon{
  color:#1c2737!important;
}

/* La foto debe arrancar visualmente a la altura del texto, no del título */
.hero-home .hero-modern-grid{
  align-items:start!important;
}
.hero-home .hero-modern-visual{
  display:flex!important;
  align-items:flex-start!important;
  min-height:auto!important;
  padding-top:116px!important;
}
.hero-home .hero-image-card{
  height:auto!important;
  min-height:auto!important;
  width:100%!important;
  max-width:none!important;
}
.hero-home .hero-image-card img{
  height:420px!important;
  min-height:420px!important;
  width:100%!important;
  object-fit:cover!important;
}

@media(max-width:1180px){
  .hero-home .hero-modern-visual{
    padding-top:0!important;
  }
  .hero-home .hero-image-card img{
    height:360px!important;
    min-height:360px!important;
  }
}

@media(max-width:760px){
  .hero-home .hero-image-card img{
    height:260px!important;
    min-height:260px!important;
  }
}


/* v46: botón Contacta + foto un poco más pequeña y arrancando desde el título */
.hero-home .hero-modern-grid{
  align-items:start!important;
}
.hero-home .hero-modern-visual{
  display:flex!important;
  align-items:flex-start!important;
  min-height:auto!important;
  padding-top:18px!important;
}
.hero-home .hero-image-card{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:auto!important;
}
.hero-home .hero-image-card img{
  height:375px!important;
  min-height:375px!important;
  width:100%!important;
  object-fit:cover!important;
}
@media(max-width:1180px){
  .hero-home .hero-modern-visual{
    padding-top:0!important;
  }
  .hero-home .hero-image-card img{
    height:330px!important;
    min-height:330px!important;
  }
}
@media(max-width:760px){
  .hero-home .hero-image-card img{
    height:250px!important;
    min-height:250px!important;
  }
}


/* v47: foto centrada respecto al bloque de título-texto-botones y badge más pequeño */
.hero-home .hero-modern-grid{
  align-items:start!important;
}

/* Centrado visual de la foto entre el inicio del título y el final de los botones */
.hero-home .hero-modern-visual{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:510px!important;
  padding-top:0!important;
}

.hero-home .hero-image-card{
  width:100%!important;
  max-width:520px!important;
  height:auto!important;
  min-height:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.hero-home .hero-image-card img{
  height:350px!important;
  min-height:350px!important;
  width:100%!important;
  object-fit:cover!important;
}

/* Cuadro "Energía limpia, eficiente y local" más pequeño */
.hero-home .photo-badge{
  left:auto!important;
  right:12px!important;
  bottom:12px!important;
  gap:8px!important;
  padding:8px 10px!important;
  border-radius:10px!important;
}

.hero-home .photo-badge span{
  width:24px!important;
  height:24px!important;
  font-size:12px!important;
}

.hero-home .photo-badge strong{
  font-size:10.5px!important;
  line-height:1.18!important;
  font-weight:600!important;
}

@media(max-width:1180px){
  .hero-home .hero-modern-visual{
    min-height:auto!important;
  }
  .hero-home .hero-image-card{
    max-width:680px!important;
  }
  .hero-home .hero-image-card img{
    height:330px!important;
    min-height:330px!important;
  }
}

@media(max-width:760px){
  .hero-home .hero-image-card img{
    height:250px!important;
    min-height:250px!important;
  }
}


/* v48: chips de servicios más pequeños y sin superar el ancho del texto */
.hero-home .hero-modern-copy{
  max-width:700px!important;
}

.hero-home .hero-services{
  max-width:650px!important;
}

.hero-home .service-chips{
  max-width:650px!important;
  width:100%!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:18px!important;
  margin-bottom:20px!important;
}

.hero-home .service-chips span{
  font-size:10.5px!important;
  line-height:1.15!important;
  padding:6px 9px!important;
  border-radius:6px!important;
  gap:5px!important;
  white-space:nowrap!important;
  box-shadow:0 4px 12px rgba(43,58,74,.035)!important;
}

@media(max-width:760px){
  .hero-home .service-chips{
    max-width:100%!important;
    gap:6px!important;
  }
  .hero-home .service-chips span{
    font-size:10px!important;
    padding:6px 8px!important;
  }
}


/* v50: botones Contacta / Proyectos más pequeños y centrados respecto a los chips */
.hero-home .hero-actions{
  max-width:650px!important;
  width:100%!important;
  justify-content:center!important;
  gap:12px!important;
  margin-top:4px!important;
}

.hero-home .hero-actions .btn{
  min-height:46px!important;
  padding:12px 18px!important;
  font-size:13px!important;
  border-radius:9px!important;
}

.hero-home .hero-actions .btn-icon{
  font-size:15px!important;
}

@media(max-width:760px){
  .hero-home .hero-actions{
    justify-content:flex-start!important;
  }
  .hero-home .hero-actions .btn{
    min-height:44px!important;
    padding:11px 16px!important;
    font-size:12.5px!important;
  }
}


/* v51: chips 5% más grandes y botones centrados respecto al ancho real de los chips */
.hero-home .hero-chips-actions{
  display:flex!important;
  flex-direction:column!important;
  width:fit-content!important;
  max-width:650px!important;
  align-items:stretch!important;
}

.hero-home .service-chips{
  max-width:none!important;
  width:100%!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7.5px!important;
  margin-top:18px!important;
  margin-bottom:18px!important;
}

.hero-home .service-chips span{
  font-size:11px!important;
  line-height:1.15!important;
  padding:6.3px 9.5px!important;
  border-radius:6.3px!important;
  gap:5.3px!important;
}

.hero-home .hero-actions{
  max-width:none!important;
  width:100%!important;
  justify-content:center!important;
  gap:12px!important;
  margin-top:2px!important;
}

@media(max-width:760px){
  .hero-home .hero-chips-actions{
    width:100%!important;
    max-width:100%!important;
  }
}


/* v54: fondo modo día más blanco */
html[data-theme="light"] body,
body{
  background:#ffffff!important;
}

html[data-theme="light"] .hero-modern,
html[data-theme="light"] .page-hero-modern{
  background:linear-gradient(180deg,#ffffff 0%,#ffffff 100%)!important;
}

html[data-theme="light"] .section{
  background:#ffffff!important;
}

html[data-theme="light"] .section:nth-of-type(even){
  background:#ffffff!important;
}

html[data-theme="light"] .services-preview,
html[data-theme="light"] .onepage-servicios,
html[data-theme="light"] .onepage-section{
  background:#ffffff!important;
}

/* Mantener tarjetas con una mínima separación sin gris excesivo */
html[data-theme="light"] .card,
html[data-theme="light"] .text,
html[data-theme="light"] .form,
html[data-theme="light"] .reviews,
html[data-theme="light"] .legalizacion-anchor{
  background:#ffffff!important;
}

/* Si hace falta un leve contraste, solo en bordes y sombras */
html[data-theme="light"] .hero-modern:before{
  opacity:.45!important;
}


/* v56: cabecero con fondo solo en el ancho de la web, no a pantalla completa */
.site-header{
  background:transparent!important;
  border-bottom:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  padding-top:14px!important;
  padding-bottom:8px!important;
}

.site-header .nav{
  max-width:var(--max)!important;
  margin:0 auto!important;
  width:calc(100% - 32px)!important;
  background:var(--topbar)!important;
  border:1px solid var(--line)!important;
  box-shadow:var(--topbar-shadow)!important;
  border-radius:18px!important;
  padding-left:24px!important;
  padding-right:24px!important;
}

html[data-theme="light"] .site-header .nav{
  background:rgba(255,255,255,.96)!important;
}

html[data-theme="dark"] .site-header .nav{
  background:rgba(17,29,44,.92)!important;
}

@media(max-width:900px){
  .site-header{
    padding-top:10px!important;
    padding-bottom:6px!important;
  }
  .site-header .nav{
    width:calc(100% - 20px)!important;
    border-radius:14px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
}


/* v57: modo día con cielo azul claro, sensación de día soleado y pequeñas nubes */
html[data-theme="light"] body{
  background:
    linear-gradient(180deg, #cfeeff 0%, #e8f7ff 28%, #f8fcff 68%, #ffffff 100%) !important;
  position: relative;
  overflow-x: hidden;
}

/* Nubes suaves decorativas */
html[data-theme="light"] body::before,
html[data-theme="light"] body::after{
  content: "";
  position: fixed;
  left: 0;
  right: 0;
  pointer-events: none;
  z-index: -1;
  opacity: .75;
}

html[data-theme="light"] body::before{
  top: 70px;
  height: 240px;
  background:
    radial-gradient(ellipse at 12% 45%, rgba(255,255,255,.92) 0 10%, transparent 11%),
    radial-gradient(ellipse at 18% 43%, rgba(255,255,255,.96) 0 8%, transparent 9%),
    radial-gradient(ellipse at 24% 46%, rgba(255,255,255,.90) 0 9%, transparent 10%),
    radial-gradient(ellipse at 58% 30%, rgba(255,255,255,.88) 0 9%, transparent 10%),
    radial-gradient(ellipse at 64% 28%, rgba(255,255,255,.94) 0 7%, transparent 8%),
    radial-gradient(ellipse at 69% 31%, rgba(255,255,255,.9) 0 8%, transparent 9%),
    radial-gradient(ellipse at 84% 48%, rgba(255,255,255,.88) 0 8%, transparent 9%),
    radial-gradient(ellipse at 90% 46%, rgba(255,255,255,.95) 0 7%, transparent 8%),
    radial-gradient(ellipse at 95% 49%, rgba(255,255,255,.9) 0 8%, transparent 9%);
  filter: blur(1.5px);
}

html[data-theme="light"] body::after{
  top: 240px;
  height: 180px;
  opacity: .5;
  background:
    radial-gradient(ellipse at 30% 50%, rgba(255,255,255,.84) 0 7%, transparent 8%),
    radial-gradient(ellipse at 35% 48%, rgba(255,255,255,.92) 0 6%, transparent 7%),
    radial-gradient(ellipse at 40% 51%, rgba(255,255,255,.85) 0 7%, transparent 8%),
    radial-gradient(ellipse at 72% 42%, rgba(255,255,255,.84) 0 6%, transparent 7%),
    radial-gradient(ellipse at 77% 40%, rgba(255,255,255,.92) 0 5%, transparent 6%),
    radial-gradient(ellipse at 81% 43%, rgba(255,255,255,.86) 0 6%, transparent 7%);
  filter: blur(1px);
}

/* Secciones claras para integrarse con el cielo */
html[data-theme="light"] .hero-modern,
html[data-theme="light"] .page-hero-modern{
  background: transparent !important;
}

html[data-theme="light"] .section,
html[data-theme="light"] .onepage-section{
  background: transparent !important;
}

/* Tarjetas y cabecero siguen viéndose limpios sobre el cielo */
html[data-theme="light"] .card,
html[data-theme="light"] .reviews,
html[data-theme="light"] .form,
html[data-theme="light"] .legalizacion-anchor{
  background: rgba(255,255,255,.94) !important;
  backdrop-filter: blur(4px);
}

html[data-theme="light"] .site-header .nav{
  background: rgba(255,255,255,.88) !important;
  backdrop-filter: blur(10px);
}


/* v58: el cielo azul y las nubes pasan solo al cabecero en modo día */
html[data-theme="light"] body{
  background:#ffffff!important;
}

html[data-theme="light"] .hero-modern,
html[data-theme="light"] .page-hero-modern,
html[data-theme="light"] .section,
html[data-theme="light"] .onepage-section{
  background:transparent!important;
}

/* Cabecero modo día con cielo azul claro y pequeñas nubes */
html[data-theme="light"] .site-header .nav{
  position:relative!important;
  overflow:hidden!important;
  background:
    linear-gradient(180deg,#aeddff 0%, #cfeeff 52%, #eaf8ff 100%)!important;
  border-color:rgba(151,196,230,.55)!important;
  box-shadow:0 16px 34px rgba(97,154,199,.18)!important;
}

/* Nubes suaves dentro del cabecero */
html[data-theme="light"] .site-header .nav::before,
html[data-theme="light"] .site-header .nav::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
}

html[data-theme="light"] .site-header .nav::before{
  background:
    radial-gradient(ellipse at 14% 48%, rgba(255,255,255,.90) 0 7%, transparent 8%),
    radial-gradient(ellipse at 19% 45%, rgba(255,255,255,.96) 0 6%, transparent 7%),
    radial-gradient(ellipse at 24% 49%, rgba(255,255,255,.90) 0 7%, transparent 8%),
    radial-gradient(ellipse at 58% 36%, rgba(255,255,255,.88) 0 6%, transparent 7%),
    radial-gradient(ellipse at 63% 33%, rgba(255,255,255,.95) 0 5%, transparent 6%),
    radial-gradient(ellipse at 68% 37%, rgba(255,255,255,.88) 0 6%, transparent 7%),
    radial-gradient(ellipse at 84% 50%, rgba(255,255,255,.88) 0 6%, transparent 7%),
    radial-gradient(ellipse at 89% 47%, rgba(255,255,255,.95) 0 5%, transparent 6%),
    radial-gradient(ellipse at 94% 51%, rgba(255,255,255,.88) 0 6%, transparent 7%);
  opacity:.65;
}

html[data-theme="light"] .site-header .nav::after{
  background:linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 55%);
  opacity:.8;
}

/* Mantener contenido del cabecero por encima */
html[data-theme="light"] .site-header .logo,
html[data-theme="light"] .site-header .menu,
html[data-theme="light"] .site-header .header-cta,
html[data-theme="light"] .site-header .theme-toggle{
  position:relative!important;
  z-index:1!important;
}

/* Textos del cabecero legibles sobre el cielo */
html[data-theme="light"] .site-header .menu a,
html[data-theme="light"] .site-header .nav-main-link{
  color:#203246!important;
}
html[data-theme="light"] .site-header .menu a.active,
html[data-theme="light"] .site-header .nav-main-link.active{
  color:#172535!important;
}
html[data-theme="light"] .site-header .header-cta{
  background:#f2c411!important;
  color:#1c2737!important;
  border-color:#f2c411!important;
}


/* v59: cabecero modo día azul más claro que noche, manteniendo textos blancos */
html[data-theme="light"] body{
  background:#ffffff!important;
}

/* Quitar nubes del cabecero y dejar azul corporativo claro con contraste */
html[data-theme="light"] .site-header .nav{
  position:relative!important;
  overflow:visible!important;
  background:linear-gradient(90deg,#203247 0%, #2f4863 52%, #3f5f7f 100%)!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:0 16px 34px rgba(32,50,71,.18)!important;
}

html[data-theme="light"] .site-header .nav::before,
html[data-theme="light"] .site-header .nav::after{
  display:none!important;
  content:none!important;
}

/* Mantener textos del cabecero en blanco */
html[data-theme="light"] .site-header .menu a,
html[data-theme="light"] .site-header .nav-main-link{
  color:rgba(255,255,255,.88)!important;
}

html[data-theme="light"] .site-header .menu a:hover,
html[data-theme="light"] .site-header .menu a.active,
html[data-theme="light"] .site-header .nav-main-link:hover,
html[data-theme="light"] .site-header .nav-main-link.active{
  color:#ffffff!important;
}

html[data-theme="light"] .site-header .menu a.active::after,
html[data-theme="light"] .site-header .nav-main-link.active::before{
  background:#f2c411!important;
}

html[data-theme="light"] .nav-main-link::after{
  color:#f2c411!important;
}

/* Botón y selector visibles sobre el azul */
html[data-theme="light"] .site-header .header-cta{
  background:#f2c411!important;
  color:#172535!important;
  border-color:#f2c411!important;
}

html[data-theme="light"] .site-header .theme-toggle{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.22)!important;
  color:#f2c411!important;
}

/* Desplegable acorde al nuevo azul del modo día */
html[data-theme="light"] .site-header .dropdown-menu{
  background:linear-gradient(135deg,#203247 0%,#2f4863 100%)!important;
  color:#ffffff!important;
  border-color:rgba(242,196,17,.28)!important;
}

html[data-theme="light"] .site-header .dropdown-menu a{
  color:rgba(255,255,255,.90)!important;
}

html[data-theme="light"] .site-header .dropdown-menu a:hover{
  color:#f2c411!important;
  background:rgba(242,196,17,.16)!important;
}


/* v60: cabecero modo día sin degradado, azul oscuro uniforme */
html[data-theme="light"] .site-header .nav{
  background:#203247!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:0 16px 34px rgba(32,50,71,.18)!important;
}

html[data-theme="light"] .site-header .dropdown-menu{
  background:#203247!important;
  border-color:rgba(242,196,17,.28)!important;
}

html[data-theme="light"] .site-header .menu a,
html[data-theme="light"] .site-header .nav-main-link{
  color:rgba(255,255,255,.88)!important;
}

html[data-theme="light"] .site-header .menu a:hover,
html[data-theme="light"] .site-header .menu a.active,
html[data-theme="light"] .site-header .nav-main-link:hover,
html[data-theme="light"] .site-header .nav-main-link.active{
  color:#ffffff!important;
}


/* v61: cabecero sin desplegable de Servicios y textos algo más pequeños */
.site-header .menu{
  gap:26px!important;
  font-size:14px!important;
}

.site-header .menu a,
.site-header .nav-main-link{
  font-size:14px!important;
  font-weight:400!important;
}

.site-header .header-cta{
  font-size:13px!important;
  padding:12px 17px!important;
}

/* Ocultar cualquier desplegable residual por seguridad */
.site-header .dropdown-menu{
  display:none!important;
}

@media(max-width:1180px){
  .site-header .menu{
    gap:18px!important;
    font-size:13px!important;
  }
  .site-header .menu a,
  .site-header .nav-main-link{
    font-size:13px!important;
  }
}


/* v62: hover del cabecero en amarillo corporativo */
.site-header .menu a:hover,
.site-header .nav-main-link:hover{
  color:#f2c411!important;
}

html[data-theme="light"] .site-header .menu a:hover,
html[data-theme="light"] .site-header .nav-main-link:hover,
html[data-theme="dark"] .site-header .menu a:hover,
html[data-theme="dark"] .site-header .nav-main-link:hover{
  color:#f2c411!important;
}

/* v62: título de sección Servicios más pequeño */
.onepage-servicios .page-hero-modern h1,
.onepage-servicios .section-anchor-hero h1,
#servicios .page-hero-modern h1,
#servicios .section-anchor-hero h1{
  font-size:clamp(2.05rem, 4vw, 3.55rem)!important;
  line-height:.95!important;
  letter-spacing:-.045em!important;
  margin-bottom:18px!important;
}

/* v62: líneas amarillas inspiradas en el sol/rayo del logo, con enfoque diagonal */
.onepage-servicios .page-hero-modern h1,
.onepage-servicios .section-anchor-hero h1,
#servicios .page-hero-modern h1,
#servicios .section-anchor-hero h1{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
}

.onepage-servicios .page-hero-modern h1::before,
.onepage-servicios .page-hero-modern h1::after,
.onepage-servicios .section-anchor-hero h1::before,
.onepage-servicios .section-anchor-hero h1::after,
#servicios .page-hero-modern h1::before,
#servicios .page-hero-modern h1::after,
#servicios .section-anchor-hero h1::before,
#servicios .section-anchor-hero h1::after{
  content:""!important;
  display:block!important;
  width:74px!important;
  height:4px!important;
  background:#f2c411!important;
  border-radius:999px!important;
  box-shadow:0 6px 14px rgba(242,196,17,.22)!important;
  transform:skewX(-24deg) rotate(-6deg)!important;
}

.onepage-servicios .page-hero-modern h1::before,
.onepage-servicios .section-anchor-hero h1::before,
#servicios .page-hero-modern h1::before,
#servicios .section-anchor-hero h1::before{
  transform:skewX(-24deg) rotate(6deg)!important;
}

/* Pequeño remate tipo rayo solar en las líneas */
.onepage-servicios .page-hero-modern h1 span,
.onepage-servicios .section-anchor-hero h1 span,
#servicios .page-hero-modern h1 span,
#servicios .section-anchor-hero h1 span{
  position:relative!important;
}

/* Si el título no tiene span, se mantiene la línea principal sin romper nada */
#servicios .page-hero-modern .title-accent,
#servicios .section-anchor-hero .title-accent{
  width:88px!important;
  height:5px!important;
  background:#f2c411!important;
  border-radius:999px!important;
  transform:skewX(-24deg) rotate(-5deg)!important;
  box-shadow:0 8px 18px rgba(242,196,17,.24)!important;
}

@media(max-width:700px){
  .onepage-servicios .page-hero-modern h1,
  .onepage-servicios .section-anchor-hero h1,
  #servicios .page-hero-modern h1,
  #servicios .section-anchor-hero h1{
    gap:10px!important;
  }

  .onepage-servicios .page-hero-modern h1::before,
  .onepage-servicios .page-hero-modern h1::after,
  .onepage-servicios .section-anchor-hero h1::before,
  .onepage-servicios .section-anchor-hero h1::after,
  #servicios .page-hero-modern h1::before,
  #servicios .page-hero-modern h1::after,
  #servicios .section-anchor-hero h1::before,
  #servicios .section-anchor-hero h1::after{
    width:34px!important;
    height:3px!important;
  }
}


/* v63: quitar el "Servicios" superior y cambiar la línea inferior a subrayado manual */
.onepage-servicios .eyebrow-line,
#servicios .eyebrow-line{
  display:none!important;
}

/* Quitar líneas laterales añadidas en v62 y dejar solo el título limpio */
.onepage-servicios .page-hero-modern h1::before,
.onepage-servicios .page-hero-modern h1::after,
.onepage-servicios .section-anchor-hero h1::before,
.onepage-servicios .section-anchor-hero h1::after,
#servicios .page-hero-modern h1::before,
#servicios .page-hero-modern h1::after,
#servicios .section-anchor-hero h1::before,
#servicios .section-anchor-hero h1::after{
  display:none!important;
  content:none!important;
}

/* Subrayado amarillo manual, tipo check / trazo a mano */
.onepage-servicios .page-accent,
.onepage-servicios .title-accent,
#servicios .page-accent,
#servicios .title-accent{
  position:relative!important;
  width:118px!important;
  height:18px!important;
  margin-top:12px!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:visible!important;
}

.onepage-servicios .page-accent::before,
.onepage-servicios .title-accent::before,
#servicios .page-accent::before,
#servicios .title-accent::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:2px!important;
  width:42px!important;
  height:5px!important;
  background:#f2c411!important;
  border-radius:999px!important;
  transform:rotate(22deg)!important;
  box-shadow:0 4px 10px rgba(242,196,17,.22)!important;
}

.onepage-servicios .page-accent::after,
.onepage-servicios .title-accent::after,
#servicios .page-accent::after,
#servicios .title-accent::after{
  content:""!important;
  position:absolute!important;
  left:30px!important;
  bottom:3px!important;
  width:88px!important;
  height:5px!important;
  background:#f2c411!important;
  border-radius:999px!important;
  transform:rotate(-8deg)!important;
  box-shadow:0 4px 10px rgba(242,196,17,.22)!important;
}

/* Asegurar separación limpia bajo el título */
.onepage-servicios .page-title,
#servicios .page-title{
  margin-bottom:8px!important;
}

@media(max-width:700px){
  .onepage-servicios .page-accent,
  .onepage-servicios .title-accent,
  #servicios .page-accent,
  #servicios .title-accent{
    width:92px!important;
    height:14px!important;
  }
  .onepage-servicios .page-accent::before,
  .onepage-servicios .title-accent::before,
  #servicios .page-accent::before,
  #servicios .title-accent::before{
    width:30px!important;
    height:4px!important;
    left:0!important;
  }
  .onepage-servicios .page-accent::after,
  .onepage-servicios .title-accent::after,
  #servicios .page-accent::after,
  #servicios .title-accent::after{
    left:22px!important;
    width:66px!important;
    height:4px!important;
  }
}


/* v64: enlaces rápidos de contacto en el cabecero */
.header-contact-links{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin-left:8px!important;
}

.header-icon-link{
  width:38px!important;
  height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  text-decoration:none!important;
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.20)!important;
  background:rgba(255,255,255,.10)!important;
  color:#ffffff!important;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease!important;
}

.header-icon-link:hover{
  transform:translateY(-2px)!important;
  border-color:#f2c411!important;
  color:#f2c411!important;
  background:rgba(242,196,17,.14)!important;
}

.contact-gif{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  line-height:1!important;
  font-size:19px!important;
  font-weight:800!important;
  color:inherit!important;
}

.contact-label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Icono WhatsApp tipo burbuja con teléfono, en su verde oficial */
.header-whatsapp{
  background:#25D366!important;
  border-color:#25D366!important;
  color:#ffffff!important;
}

.header-whatsapp:hover{
  background:#f2c411!important;
  border-color:#f2c411!important;
  color:#172535!important;
}

.contact-whatsapp-icon{
  font-size:0!important;
  position:relative!important;
}

.contact-whatsapp-icon::before{
  content:""!important;
  width:22px!important;
  height:22px!important;
  border:2.2px solid currentColor!important;
  border-radius:50%!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
}

.contact-whatsapp-icon::after{
  content:"☎"!important;
  font-size:13px!important;
  font-weight:900!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%) rotate(-18deg)!important;
  color:currentColor!important;
}

/* Cola de bocadillo WhatsApp */
.header-whatsapp::after{
  content:""!important;
  position:absolute!important;
  left:9px!important;
  bottom:7px!important;
  width:8px!important;
  height:8px!important;
  background:currentColor!important;
  clip-path:polygon(0 100%,100% 0,100% 100%)!important;
  opacity:.95!important;
}

/* Microanimación estilo gif */
.header-phone .contact-gif,
.header-whatsapp .contact-whatsapp-icon,
.header-email .contact-gif{
  animation:contactPulse 2.6s ease-in-out infinite!important;
}

.header-whatsapp .contact-whatsapp-icon{
  animation-delay:.25s!important;
}

.header-email .contact-gif{
  animation-delay:.5s!important;
}

@keyframes contactPulse{
  0%, 100%{ transform:scale(1) rotate(0deg); }
  8%{ transform:scale(1.08) rotate(-5deg); }
  16%{ transform:scale(1.02) rotate(4deg); }
  24%{ transform:scale(1) rotate(0deg); }
}

/* Ajuste al quitar el botón Contactar */
.site-header .theme-toggle{
  margin-left:2px!important;
}

@media(max-width:1180px){
  .header-contact-links{
    gap:7px!important;
  }
  .header-icon-link{
    width:34px!important;
    height:34px!important;
  }
  .contact-gif{
    font-size:17px!important;
  }
  .contact-whatsapp-icon::before{
    width:19px!important;
    height:19px!important;
  }
  .contact-whatsapp-icon::after{
    font-size:11px!important;
  }
}

@media(max-width:900px){
  .header-contact-links{
    margin-left:auto!important;
    gap:6px!important;
  }
  .header-icon-link{
    width:33px!important;
    height:33px!important;
  }
}


/* v65: iconos un poco más pequeños y teléfono/email con texto visible */
.header-contact-links{
  gap:8px!important;
}

.header-icon-link{
  width:34px!important;
  height:34px!important;
}

.contact-gif{
  font-size:16px!important;
}

.contact-whatsapp-icon::before{
  width:19px!important;
  height:19px!important;
}

.contact-whatsapp-icon::after{
  font-size:11px!important;
}

.header-text-link{
  width:auto!important;
  min-width:auto!important;
  padding:0 12px 0 10px!important;
  gap:8px!important;
  border-radius:999px!important;
}

.contact-inline-text{
  display:inline-flex!important;
  align-items:center!important;
  white-space:nowrap!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  color:inherit!important;
}

.header-phone .contact-gif,
.header-email .contact-gif{
  width:18px!important;
  min-width:18px!important;
}

.header-phone{
  padding-left:11px!important;
}

.header-email{
  padding-left:11px!important;
}

.header-phone:hover,
.header-email:hover{
  color:#f2c411!important;
}

@media(max-width:1180px){
  .header-icon-link{
    height:32px!important;
  }
  .header-text-link{
    padding:0 10px 0 9px!important;
  }
  .contact-inline-text{
    font-size:10px!important;
  }
  .contact-gif{
    font-size:15px!important;
  }
}

@media(max-width:900px){
  .contact-inline-text{
    display:none!important;
  }
  .header-text-link{
    width:33px!important;
    padding:0!important;
    justify-content:center!important;
  }
}


/* v66: teléfono más artístico, email sin icono en minúsculas, WhatsApp a la derecha */
.header-contact-links{
  gap:10px!important;
}

.header-phone-art{
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(242,196,17,.32)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.08)!important;
  padding:0 14px 0 8px!important;
  position:relative!important;
}

.header-phone-art::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:999px!important;
  background:linear-gradient(90deg, rgba(242,196,17,.16) 0%, rgba(242,196,17,.05) 55%, rgba(255,255,255,0) 100%)!important;
  pointer-events:none!important;
}

.phone-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  border-radius:999px!important;
  background:#f2c411!important;
  color:#172535!important;
  box-shadow:0 5px 12px rgba(242,196,17,.35)!important;
  position:relative!important;
  z-index:1!important;
}

.header-phone-art .contact-phone-icon{
  font-size:13px!important;
  font-weight:900!important;
  color:#172535!important;
  animation:phoneWiggle 2.8s ease-in-out infinite!important;
}

@keyframes phoneWiggle{
  0%,100%{ transform:rotate(0deg) scale(1); }
  6%{ transform:rotate(-14deg) scale(1.08); }
  12%{ transform:rotate(10deg) scale(1.04); }
  18%{ transform:rotate(-8deg); }
  24%{ transform:rotate(0deg) scale(1); }
}

.header-phone-art .contact-inline-text{
  position:relative!important;
  z-index:1!important;
  font-size:11.5px!important;
  font-weight:800!important;
  letter-spacing:.03em!important;
}

.header-email-textonly{
  padding:0 14px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.16)!important;
}

.header-email-textonly .contact-inline-text{
  font-size:10.5px!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}

.header-email .contact-gif,
.header-email .contact-email-icon{
  display:none!important;
}

.header-whatsapp{
  order:3!important;
}

.header-phone{
  order:1!important;
}

.header-email{
  order:2!important;
}

.header-whatsapp{
  background:#25D366!important;
  border-color:#25D366!important;
  color:#ffffff!important;
}

.header-whatsapp:hover{
  background:#1fb85a!important;
  border-color:#1fb85a!important;
  color:#ffffff!important;
}

@media(max-width:1180px){
  .header-phone-art{
    padding:0 12px 0 7px!important;
  }
  .phone-badge{
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
  }
  .header-phone-art .contact-inline-text{
    font-size:10.5px!important;
  }
  .header-email-textonly .contact-inline-text{
    font-size:9.5px!important;
  }
}

@media(max-width:900px){
  .header-contact-links{
    gap:6px!important;
  }
  .header-email-textonly{
    display:none!important;
  }
  .header-phone-art{
    width:auto!important;
    min-width:33px!important;
    padding:0 8px!important;
  }
  .header-phone-art .contact-inline-text{
    display:none!important;
  }
  .header-whatsapp{
    order:2!important;
  }
}


/* v67: email copiable, WhatsApp con SVG tipo oficial y teléfono sin negrita */
.header-email-textonly{
  user-select:text!important;
  -webkit-user-select:text!important;
}

.header-email-textonly .contact-inline-text{
  user-select:text!important;
  -webkit-user-select:text!important;
  cursor:text!important;
  text-transform:none!important;
  font-weight:500!important;
}

.header-phone-art .contact-inline-text{
  font-weight:500!important;
  letter-spacing:.025em!important;
}

/* Sustituir el icono CSS anterior de WhatsApp por SVG */
.header-whatsapp{
  width:34px!important;
  height:34px!important;
  padding:0!important;
  background:#25D366!important;
  border-color:#25D366!important;
  color:#ffffff!important;
}

.header-whatsapp::after{
  display:none!important;
  content:none!important;
}

.header-whatsapp .contact-whatsapp-icon{
  display:none!important;
}

.whatsapp-svg{
  width:22px!important;
  height:22px!important;
  display:block!important;
  overflow:visible!important;
}

.whatsapp-svg .wa-bubble{
  fill:#ffffff!important;
}

.whatsapp-svg .wa-phone{
  fill:#25D366!important;
}

.header-whatsapp:hover{
  background:#f2c411!important;
  border-color:#f2c411!important;
}

.header-whatsapp:hover .wa-phone{
  fill:#f2c411!important;
}

.header-whatsapp:hover .wa-bubble{
  fill:#172535!important;
}

/* Animación suave solo del botón, no deformar el logo */
.header-whatsapp .whatsapp-svg{
  animation:waSoftPulse 2.8s ease-in-out infinite!important;
}

@keyframes waSoftPulse{
  0%,100%{ transform:scale(1); }
  12%{ transform:scale(1.08); }
  24%{ transform:scale(1); }
}

@media(max-width:1180px){
  .header-phone-art .contact-inline-text{
    font-weight:500!important;
  }
  .whatsapp-svg{
    width:20px!important;
    height:20px!important;
  }
}


/* v68: botón día/noche más pequeño + selector ES/CA */
.site-header .theme-toggle{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  padding:0!important;
  border-radius:999px!important;
  font-size:13px!important;
}

.site-header .theme-toggle .theme-icon,
.theme-toggle .theme-icon{
  font-size:13px!important;
  line-height:1!important;
}

.lang-switch{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  height:30px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.08)!important;
  color:rgba(255,255,255,.72)!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1!important;
  margin-left:2px!important;
}

.lang-link{
  color:rgba(255,255,255,.72)!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:.02em!important;
  padding:2px 1px!important;
  transition:color .18s ease!important;
}

.lang-link:hover,
.lang-link.active{
  color:#f2c411!important;
}

.lang-sep{
  color:rgba(255,255,255,.35)!important;
  font-size:10px!important;
}

html[data-theme="light"] .lang-switch{
  border-color:rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.08)!important;
}

@media(max-width:1180px){
  .lang-switch{
    height:28px!important;
    padding:0 7px!important;
  }
  .lang-link{
    font-size:10px!important;
  }
  .site-header .theme-toggle{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
  }
}

@media(max-width:900px){
  .lang-switch{
    height:28px!important;
    padding:0 6px!important;
    margin-left:0!important;
  }
}


/* v69: usar el icono de WhatsApp aportado por el usuario */
.header-whatsapp{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

.header-whatsapp:hover{
  background:rgba(242,196,17,.12)!important;
  border-color:#f2c411!important;
}

.header-whatsapp .whatsapp-svg,
.header-whatsapp .contact-whatsapp-icon{
  display:none!important;
}

.whatsapp-img{
  width:24px!important;
  height:24px!important;
  display:block!important;
  object-fit:contain!important;
  animation:waSoftPulse 2.8s ease-in-out infinite!important;
}

.header-whatsapp:hover .whatsapp-img{
  filter:drop-shadow(0 0 6px rgba(242,196,17,.38))!important;
}

@media(max-width:1180px){
  .whatsapp-img{
    width:22px!important;
    height:22px!important;
  }
}


/* v70: selector CAT y cabecero sin opción Contacto */
.lang-switch{
  padding-left:9px!important;
  padding-right:9px!important;
}

.lang-link{
  min-width:18px!important;
  text-align:center!important;
}


/* v71: línea amarilla activa dinámica en el cabecero */
.site-header .menu a{
  position:relative!important;
  transition:color .18s ease!important;
}

.site-header .menu a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:3px;
  background:#f2c411;
  border-radius:999px;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease, opacity .18s ease;
  opacity:0;
}

.site-header .menu a.active::after{
  transform:scaleX(1);
  opacity:1;
}

.site-header .menu a.active{
  color:#ffffff!important;
}

html[data-theme="light"] .site-header .menu a.active,
html[data-theme="dark"] .site-header .menu a.active{
  color:#ffffff!important;
}


/* v72: Servicios con línea diagonal a 45º arrancando desde la parte baja del título */
.onepage-servicios .page-accent,
.onepage-servicios .title-accent,
#servicios .page-accent,
#servicios .title-accent{
  position:relative!important;
  width:120px!important;
  height:26px!important;
  margin-top:10px!important;
  margin-left:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:visible!important;
}

/* Quitamos el subrayado manual anterior */
.onepage-servicios .page-accent::before,
.onepage-servicios .title-accent::before,
#servicios .page-accent::before,
#servicios .title-accent::before,
.onepage-servicios .page-accent::after,
.onepage-servicios .title-accent::after,
#servicios .page-accent::after,
#servicios .title-accent::after{
  content:none!important;
  display:none!important;
}

/* Línea única diagonal 45º, con el arranque en la parte baja bajo "Servicios" */
.onepage-servicios .page-accent{
  position:relative!important;
}
.onepage-servicios .page-accent > span,
.onepage-servicios .title-accent > span,
#servicios .page-accent > span,
#servicios .title-accent > span{
  display:none!important;
}

.onepage-servicios .page-accent{
  --line-color:#f2c411;
}
.onepage-servicios .page-accent::marker{
  content:"";
}

.onepage-servicios .page-accent,
.onepage-servicios .title-accent,
#servicios .page-accent,
#servicios .title-accent{
  display:block!important;
}

.onepage-servicios .page-accent:empty::before,
.onepage-servicios .title-accent:empty::before,
#servicios .page-accent:empty::before,
#servicios .title-accent:empty::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:2px!important;
  width:90px!important;
  height:5px!important;
  background:#f2c411!important;
  border-radius:999px!important;
  transform-origin:left bottom!important;
  transform:rotate(45deg)!important;
  box-shadow:0 5px 12px rgba(242,196,17,.24)!important;
}

/* Si el elemento no está vacío, forzamos igualmente la línea */
.onepage-servicios .page-accent::before,
.onepage-servicios .title-accent::before,
#servicios .page-accent::before,
#servicios .title-accent::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:2px!important;
  width:90px!important;
  height:5px!important;
  background:#f2c411!important;
  border-radius:999px!important;
  transform-origin:left bottom!important;
  transform:rotate(45deg)!important;
  box-shadow:0 5px 12px rgba(242,196,17,.24)!important;
  display:block!important;
}

/* Más compacto en móvil */
@media(max-width:700px){
  .onepage-servicios .page-accent,
  .onepage-servicios .title-accent,
  #servicios .page-accent,
  #servicios .title-accent{
    width:90px!important;
    height:22px!important;
  }
  .onepage-servicios .page-accent::before,
  .onepage-servicios .title-accent::before,
  #servicios .page-accent::before,
  #servicios .title-accent::before{
    width:66px!important;
    height:4px!important;
  }
}


/* v73: Servicios con UNA sola línea, en -135º, partiendo desde la base del título */
.onepage-servicios .page-accent,
.onepage-servicios .title-accent,
#servicios .page-accent,
#servicios .title-accent{
  position:relative!important;
  width:96px!important;
  height:26px!important;
  margin-top:8px!important;
  margin-left:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:visible!important;
  display:block!important;
}

/* anular cualquier doble línea previa */
.onepage-servicios .page-accent::after,
.onepage-servicios .title-accent::after,
#servicios .page-accent::after,
#servicios .title-accent::after{
  content:none!important;
  display:none!important;
}

/* única línea diagonal */
.onepage-servicios .page-accent::before,
.onepage-servicios .title-accent::before,
#servicios .page-accent::before,
#servicios .title-accent::before{
  content:""!important;
  position:absolute!important;
  left:6px!important;
  bottom:2px!important;
  width:74px!important;
  height:5px!important;
  background:#f2c411!important;
  border-radius:999px!important;
  transform-origin:left bottom!important;
  transform:rotate(-135deg)!important;
  box-shadow:0 5px 12px rgba(242,196,17,.24)!important;
  display:block!important;
}

/* móvil */
@media(max-width:700px){
  .onepage-servicios .page-accent,
  .onepage-servicios .title-accent,
  #servicios .page-accent,
  #servicios .title-accent{
    width:78px!important;
    height:22px!important;
  }
  .onepage-servicios .page-accent::before,
  .onepage-servicios .title-accent::before,
  #servicios .page-accent::before,
  #servicios .title-accent::before{
    width:56px!important;
    height:4px!important;
    left:4px!important;
  }
}


/* v74: email del cabecero con botón + texto separado y copiable */
.header-email-group{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  order:2!important;
}

.header-email-button{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  color:#ffffff!important;
}

.header-email-button:hover{
  transform:translateY(-2px)!important;
  border-color:#f2c411!important;
  color:#f2c411!important;
  background:rgba(242,196,17,.14)!important;
}

.header-email-button .contact-email-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  font-size:16px!important;
  line-height:1!important;
  animation:contactPulse 2.6s ease-in-out infinite!important;
}

.header-email-copy{
  display:inline-flex!important;
  align-items:center!important;
  white-space:nowrap!important;
  font-size:10.5px!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
  color:#ffffff!important;
  user-select:text!important;
  -webkit-user-select:text!important;
  cursor:text!important;
  padding:0!important;
}

.header-email-copy::selection{
  background:rgba(242,196,17,.35)!important;
  color:#ffffff!important;
}

.header-email-copy::-moz-selection{
  background:rgba(242,196,17,.35)!important;
  color:#ffffff!important;
}

/* anular estilos antiguos del email */
.header-email,
.header-email-textonly{
  display:none!important;
}

@media(max-width:1180px){
  .header-email-group{
    gap:8px!important;
  }
  .header-email-copy{
    font-size:9.5px!important;
  }
  .header-email-button{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
  }
  .header-email-button .contact-email-icon{
    font-size:15px!important;
  }
}

@media(max-width:900px){
  .header-email-group{
    gap:6px!important;
  }
  .header-email-copy{
    font-size:9px!important;
  }
}


/* v76: email funcional, icono clicable y texto copiable */
.header-email-button{
  pointer-events:auto!important;
  cursor:pointer!important;
  position:relative!important;
  z-index:3!important;
}

.header-email-copy{
  pointer-events:auto!important;
  cursor:copy!important;
  position:relative!important;
  z-index:2!important;
}

.header-email-copy.copied{
  color:#f2c411!important;
}

/* Evitar que una regla antigua oculte el botón nuevo */
.header-email-button,
.header-email-button .contact-email-icon{
  display:inline-flex!important;
}


/* v77: email sin mailto; el icono copia el correo */
.header-email-button{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:none;
  font-family:inherit!important;
  cursor:copy!important;
}

.header-email-button.copied,
.header-email-copy.copied{
  color:#f2c411!important;
  border-color:#f2c411!important;
}

.header-email-button:hover{
  color:#f2c411!important;
  border-color:#f2c411!important;
}


/* v78: sección Servicios con recuadros el doble de largos */
#servicios .cards,
.onepage-servicios .cards,
#servicios .grid,
.onepage-servicios .grid,
#servicios .services-grid,
.onepage-servicios .services-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:24px!important;
}

#servicios .card,
.onepage-servicios .card,
#servicios .service-card,
.onepage-servicios .service-card{
  min-height:260px!important;
  padding:34px 34px!important;
}

/* En pantallas grandes, cada recuadro gana presencia horizontal */
@media(min-width:1100px){
  #servicios .cards,
  .onepage-servicios .cards,
  #servicios .grid,
  .onepage-servicios .grid,
  #servicios .services-grid,
  .onepage-servicios .services-grid{
    grid-template-columns:repeat(2, minmax(420px, 1fr))!important;
  }
}

/* En móvil se mantiene una columna para que no se rompa */
@media(max-width:800px){
  #servicios .cards,
  .onepage-servicios .cards,
  #servicios .grid,
  .onepage-servicios .grid,
  #servicios .services-grid,
  .onepage-servicios .services-grid{
    grid-template-columns:1fr!important;
  }

  #servicios .card,
  .onepage-servicios .card,
  #servicios .service-card,
  .onepage-servicios .service-card{
    min-height:220px!important;
    padding:28px 24px!important;
  }
}


/* v80: mantener el diseño anterior de Servicios, solo un poco más alargado hacia abajo */
#servicios .card,
.onepage-servicios .card,
#servicios .service-card,
.onepage-servicios .service-card{
  min-height:340px!important;
  padding-bottom:42px!important;
}

/* Dar algo más de alto a las fotos sin cambiar el formato de tarjeta */
#servicios .card img,
.onepage-servicios .card img,
#servicios .service-card img,
.onepage-servicios .service-card img,
#servicios .card .media,
.onepage-servicios .card .media,
#servicios .service-card .media,
.onepage-servicios .service-card .media,
#servicios .card .thumb,
.onepage-servicios .card .thumb,
#servicios .service-card .thumb,
.onepage-servicios .service-card .thumb{
  min-height:190px!important;
}

/* En móvil, solo un poco más alto, sin romper el diseño */
@media(max-width:800px){
  #servicios .card,
  .onepage-servicios .card,
  #servicios .service-card,
  .onepage-servicios .service-card{
    min-height:290px!important;
    padding-bottom:34px!important;
  }
}


/* v82: en Servicios, icono en la misma línea que el título */
#servicios .service-title-inline,
.onepage-servicios .service-title-inline{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin-bottom:14px!important;
}

#servicios .service-title-inline .ico,
.onepage-servicios .service-title-inline .ico{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:11px!important;
  margin-bottom:0!important;
  font-size:18px!important;
}

#servicios .service-title-inline .h3,
.onepage-servicios .service-title-inline .h3{
  margin:0!important;
}

#servicios .service-anchor-card .card-body > p,
.onepage-servicios .service-anchor-card .card-body > p{
  margin-top:0!important;
}

@media(max-width:800px){
  #servicios .service-title-inline,
  .onepage-servicios .service-title-inline{
    gap:10px!important;
  }
  #servicios .service-title-inline .ico,
  .onepage-servicios .service-title-inline .ico{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    font-size:16px!important;
  }
}


/* v83: reducir el espacio entre secciones de la home */
.onepage-section,
.section{
  padding-top:56px!important;
  padding-bottom:56px!important;
}

/* Ajuste específico para bloques de sección dentro de la página de inicio */
#servicios.onepage-section,
#proyectos.onepage-section,
#sobre-nosotros.onepage-section,
#ayudas.onepage-section,
#contacto.onepage-section{
  padding-top:44px!important;
  padding-bottom:44px!important;
}

/* Reducir también los márgenes internos de algunos wraps/encabezados */
.onepage-section .wrap{
  margin-top:0!important;
  margin-bottom:0!important;
}

.onepage-section .page-hero-modern,
.onepage-section .section-anchor-hero{
  padding-top:36px!important;
  padding-bottom:18px!important;
}

.onepage-section .page-title{
  margin-bottom:12px!important;
}

.onepage-section .page-accent,
.onepage-section .title-accent{
  margin-top:8px!important;
}

/* En móvil, todavía más compacto */
@media(max-width:800px){
  .onepage-section,
  .section{
    padding-top:38px!important;
    padding-bottom:38px!important;
  }

  #servicios.onepage-section,
  #proyectos.onepage-section,
  #sobre-nosotros.onepage-section,
  #ayudas.onepage-section,
  #contacto.onepage-section{
    padding-top:32px!important;
    padding-bottom:32px!important;
  }
}


/* v84: reducción más fuerte del espacio entre secciones */
main > section,
.onepage-section,
.section{
  padding-top:28px!important;
  padding-bottom:28px!important;
}

/* Secciones internas de la home más pegadas */
#servicios.onepage-section,
#proyectos.onepage-section,
#sobre-nosotros.onepage-section,
#ayudas.onepage-section,
#contacto.onepage-section{
  padding-top:22px!important;
  padding-bottom:22px!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Cabeceras internas más compactas */
.onepage-section .page-hero,
.onepage-section .page-hero-modern,
.onepage-section .section-anchor-hero{
  padding-top:18px!important;
  padding-bottom:8px!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Bloque de contenido justo después de cada cabecera */
.onepage-section > .section{
  padding-top:18px!important;
  padding-bottom:30px!important;
}

/* Reducir separaciones internas de títulos */
.onepage-section .page-title,
.onepage-section h2,
.onepage-section .h1{
  margin-top:0!important;
  margin-bottom:8px!important;
}

.onepage-section .lead{
  margin-top:0!important;
  margin-bottom:12px!important;
}

.onepage-section .page-accent,
.onepage-section .title-accent{
  margin-top:4px!important;
  margin-bottom:4px!important;
}

/* Servicios: menos aire entre título y tarjetas */
#servicios .section{
  padding-top:10px!important;
}

#servicios .grid-2,
#servicios .grid-3,
#servicios .cards,
#servicios .services-grid{
  margin-top:0!important;
}

/* Inicio: mantener respiración, pero reducir el salto hacia Servicios */
.hero-home,
#inicio{
  padding-bottom:24px!important;
}

#inicio + #servicios{
  padding-top:8px!important;
}

/* Móvil todavía más compacto */
@media(max-width:800px){
  main > section,
  .onepage-section,
  .section{
    padding-top:22px!important;
    padding-bottom:22px!important;
  }

  .onepage-section .page-hero,
  .onepage-section .page-hero-modern,
  .onepage-section .section-anchor-hero{
    padding-top:14px!important;
    padding-bottom:6px!important;
  }

  .onepage-section > .section{
    padding-top:12px!important;
    padding-bottom:24px!important;
  }
}


/* v85: recuperar un poco de aire respecto a v84, pero manteniendo secciones compactas */
main > section,
.onepage-section,
.section{
  padding-top:34px!important;
  padding-bottom:34px!important;
}

#servicios.onepage-section,
#proyectos.onepage-section,
#sobre-nosotros.onepage-section,
#ayudas.onepage-section,
#contacto.onepage-section{
  padding-top:28px!important;
  padding-bottom:28px!important;
}

.onepage-section .page-hero,
.onepage-section .page-hero-modern,
.onepage-section .section-anchor-hero{
  padding-top:24px!important;
  padding-bottom:12px!important;
}

.onepage-section > .section{
  padding-top:24px!important;
  padding-bottom:36px!important;
}

.onepage-section .page-title,
.onepage-section h2,
.onepage-section .h1{
  margin-bottom:12px!important;
}

.onepage-section .lead{
  margin-bottom:16px!important;
}

#servicios .section{
  padding-top:16px!important;
}

.hero-home,
#inicio{
  padding-bottom:32px!important;
}

#inicio + #servicios{
  padding-top:14px!important;
}

@media(max-width:800px){
  main > section,
  .onepage-section,
  .section{
    padding-top:28px!important;
    padding-bottom:28px!important;
  }

  .onepage-section .page-hero,
  .onepage-section .page-hero-modern,
  .onepage-section .section-anchor-hero{
    padding-top:18px!important;
    padding-bottom:8px!important;
  }

  .onepage-section > .section{
    padding-top:18px!important;
    padding-bottom:30px!important;
  }
}


/* v86: un poco más de espaciado respecto a v85 */
main > section,
.onepage-section,
.section{
  padding-top:40px!important;
  padding-bottom:40px!important;
}

#servicios.onepage-section,
#proyectos.onepage-section,
#sobre-nosotros.onepage-section,
#ayudas.onepage-section,
#contacto.onepage-section{
  padding-top:34px!important;
  padding-bottom:34px!important;
}

.onepage-section .page-hero,
.onepage-section .page-hero-modern,
.onepage-section .section-anchor-hero{
  padding-top:30px!important;
  padding-bottom:16px!important;
}

.onepage-section > .section{
  padding-top:30px!important;
  padding-bottom:42px!important;
}

.onepage-section .page-title,
.onepage-section h2,
.onepage-section .h1{
  margin-bottom:16px!important;
}

.onepage-section .lead{
  margin-bottom:20px!important;
}

#servicios .section{
  padding-top:22px!important;
}

.hero-home,
#inicio{
  padding-bottom:40px!important;
}

#inicio + #servicios{
  padding-top:20px!important;
}

@media(max-width:800px){
  main > section,
  .onepage-section,
  .section{
    padding-top:32px!important;
    padding-bottom:32px!important;
  }

  .onepage-section .page-hero,
  .onepage-section .page-hero-modern,
  .onepage-section .section-anchor-hero{
    padding-top:22px!important;
    padding-bottom:10px!important;
  }

  .onepage-section > .section{
    padding-top:22px!important;
    padding-bottom:34px!important;
  }
}


/* v89: corregir RITSIC y aumentar espacio entre línea separadora y checks en tarjetas de Servicios */
#servicios .list,
.onepage-servicios .list{
  padding-top:30px!important;
  margin-top:28px!important;
}

#servicios .list div:first-child,
.onepage-servicios .list div:first-child{
  margin-top:2px!important;
}


/* v90: mantener más espacio solo debajo de la línea separadora, no por encima */
#servicios .list,
.onepage-servicios .list{
  margin-top:0!important;
  padding-top:30px!important;
}


/* v91: ajustes en Servicios */
#servicios .page-title,
.onepage-servicios .page-title,
#servicios .page-hero-modern h1,
.onepage-servicios .page-hero-modern h1,
#servicios .section-anchor-hero h1,
.onepage-servicios .section-anchor-hero h1{
  font-size:clamp(1.75rem, 3vw, 3rem)!important;
  line-height:0.96!important;
}

/* Recuadro para los puntos con check en cada tarjeta */
#servicios .list,
.onepage-servicios .list{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(32,50,71,.10)!important;
  border-radius:16px!important;
  padding:26px 22px 20px!important;
  margin-top:0!important;           /* sin espacio extra por encima respecto a la descripción */
  box-shadow:0 10px 26px rgba(32,50,71,.05)!important;
}

/* Mantener espacio visual antes de los checks gracias al padding superior del recuadro */
#servicios .list div,
.onepage-servicios .list div{
  padding-left:28px!important;
}

html[data-theme="dark"] #servicios .list,
html[data-theme="dark"] .onepage-servicios .list{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:none!important;
}

@media(max-width:800px){
  #servicios .page-title,
  .onepage-servicios .page-title,
  #servicios .page-hero-modern h1,
  .onepage-servicios .page-hero-modern h1,
  #servicios .section-anchor-hero h1,
  .onepage-servicios .section-anchor-hero h1{
    font-size:clamp(1.55rem, 6vw, 2.2rem)!important;
  }

  #servicios .list,
  .onepage-servicios .list{
    padding:22px 18px 18px!important;
    border-radius:14px!important;
  }
}


/* v92: zona de puntos de Servicios más trabajada y visual */
#servicios .service-anchor-card,
.onepage-servicios .service-anchor-card{
  position:relative!important;
}

/* Recuadro interior con más diseño */
#servicios .list,
.onepage-servicios .list{
  position:relative!important;
  overflow:hidden!important;
  background:
    linear-gradient(135deg, rgba(242,196,17,.13) 0%, rgba(255,255,255,.92) 38%, rgba(255,255,255,.98) 100%)!important;
  border:1px solid rgba(242,196,17,.34)!important;
  border-left:5px solid #f2c411!important;
  border-radius:20px!important;
  padding:28px 24px 22px!important;
  margin-top:2px!important;
  box-shadow:
    0 16px 34px rgba(32,50,71,.08),
    inset 0 1px 0 rgba(255,255,255,.75)!important;
}

/* detalle decorativo suave tipo energía/sol */
#servicios .list::after,
.onepage-servicios .list::after{
  content:""!important;
  position:absolute!important;
  right:-34px!important;
  top:-42px!important;
  width:110px!important;
  height:110px!important;
  border-radius:999px!important;
  background:radial-gradient(circle, rgba(242,196,17,.22) 0%, rgba(242,196,17,.10) 38%, rgba(242,196,17,0) 70%)!important;
  pointer-events:none!important;
}

/* Cada punto como mini fila premium */
#servicios .list div,
.onepage-servicios .list div{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  min-height:34px!important;
  margin:7px 0!important;
  padding:8px 10px 8px 38px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.58)!important;
  color:#263648!important;
  font-weight:750!important;
  letter-spacing:-.01em!important;
}

/* Check dentro de círculo amarillo */
#servicios .list div::before,
.onepage-servicios .list div::before{
  content:"✓"!important;
  position:absolute!important;
  left:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:19px!important;
  height:19px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#f2c411!important;
  color:#172535!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 5px 12px rgba(242,196,17,.28)!important;
  margin-right:0!important;
}

/* Hover muy sutil */
#servicios .list div:hover,
.onepage-servicios .list div:hover{
  background:rgba(255,255,255,.86)!important;
  transform:translateX(2px)!important;
}

/* Afinar títulos de tarjetas para que acompañen mejor */
#servicios .service-title-inline,
.onepage-servicios .service-title-inline{
  margin-bottom:16px!important;
}

#servicios .service-title-inline .ico,
.onepage-servicios .service-title-inline .ico{
  background:linear-gradient(135deg, rgba(242,196,17,.26), rgba(242,196,17,.10))!important;
  border:1px solid rgba(242,196,17,.35)!important;
  box-shadow:0 8px 18px rgba(242,196,17,.12)!important;
}

#servicios .service-anchor-card p,
.onepage-servicios .service-anchor-card p{
  min-height:74px!important;
}

/* Modo noche */
html[data-theme="dark"] #servicios .list,
html[data-theme="dark"] .onepage-servicios .list{
  background:
    linear-gradient(135deg, rgba(242,196,17,.14) 0%, rgba(17,29,44,.82) 42%, rgba(17,29,44,.92) 100%)!important;
  border-color:rgba(242,196,17,.34)!important;
  border-left-color:#f2c411!important;
  box-shadow:0 16px 34px rgba(0,0,0,.22)!important;
}

html[data-theme="dark"] #servicios .list div,
html[data-theme="dark"] .onepage-servicios .list div{
  background:rgba(255,255,255,.06)!important;
  color:#e7edf5!important;
}

html[data-theme="dark"] #servicios .list div:hover,
html[data-theme="dark"] .onepage-servicios .list div:hover{
  background:rgba(255,255,255,.10)!important;
}

@media(max-width:800px){
  #servicios .list,
  .onepage-servicios .list{
    padding:24px 18px 18px!important;
    border-radius:17px!important;
  }

  #servicios .list div,
  .onepage-servicios .list div{
    padding:8px 8px 8px 36px!important;
    font-size:13.5px!important;
  }

  #servicios .service-anchor-card p,
  .onepage-servicios .service-anchor-card p{
    min-height:auto!important;
  }
}


/* v93: recuadro de checks en Servicios más ancho */
#servicios .list,
.onepage-servicios .list{
  width:calc(100% + 20px)!important;
  max-width:none!important;
  margin-left:-10px!important;
  margin-right:-10px!important;
}

@media(max-width:800px){
  #servicios .list,
  .onepage-servicios .list{
    width:calc(100% + 12px)!important;
    margin-left:-6px!important;
    margin-right:-6px!important;
  }
}


/* v94: recuadro de checks un poco más ancho y círculo del check en verde */
#servicios .list,
.onepage-servicios .list{
  width:calc(100% + 30px)!important;
  max-width:none!important;
  margin-left:-15px!important;
  margin-right:-15px!important;
}

#servicios .list div::before,
.onepage-servicios .list div::before{
  background:#28b463!important;
  color:#ffffff!important;
  box-shadow:0 5px 12px rgba(40,180,99,.28)!important;
}

@media(max-width:800px){
  #servicios .list,
  .onepage-servicios .list{
    width:calc(100% + 16px)!important;
    margin-left:-8px!important;
    margin-right:-8px!important;
  }
}


/* v95: texto del recuadro sin negrita y más apurado a los márgenes */
#servicios .list,
.onepage-servicios .list{
  width:calc(100% + 36px)!important;
  margin-left:-18px!important;
  margin-right:-18px!important;
  padding:24px 16px 18px!important;
}

#servicios .list div,
.onepage-servicios .list div{
  font-weight:400!important;
  letter-spacing:0!important;
  padding:7px 6px 7px 34px!important;
}

@media(max-width:800px){
  #servicios .list,
  .onepage-servicios .list{
    width:calc(100% + 20px)!important;
    margin-left:-10px!important;
    margin-right:-10px!important;
    padding:20px 12px 16px!important;
  }

  #servicios .list div,
  .onepage-servicios .list div{
    padding:7px 4px 7px 32px!important;
  }
}


/* v96: checks verdes con circulito blanco */
#servicios .list div::before,
.onepage-servicios .list div::before{
  background:#ffffff!important;
  color:#28b463!important;
  box-shadow:0 5px 12px rgba(40,180,99,.18)!important;
  border:1px solid rgba(40,180,99,.22)!important;
}


/* v97: checks en cuadrado blanco con check verde */
#servicios .list div::before,
.onepage-servicios .list div::before{
  background:#ffffff!important;
  color:#28b463!important;
  box-shadow:0 5px 12px rgba(40,180,99,.18)!important;
  border:1px solid rgba(40,180,99,.22)!important;
  border-radius:6px!important;
}

/* v97: dos tarjetas horizontales debajo de las verticales */
#servicios .services-horizontal-row,
.onepage-servicios .services-horizontal-row{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:28px!important;
  margin-top:30px!important;
}

#servicios .service-anchor-card-horizontal,
.onepage-servicios .service-anchor-card-horizontal{
  display:grid!important;
  grid-template-columns:44% 56%!important;
  align-items:stretch!important;
  overflow:hidden!important;
  min-height:320px!important;
  border-radius:28px!important;
}

#servicios .service-anchor-card-horizontal .card-img,
.onepage-servicios .service-anchor-card-horizontal .card-img{
  width:100%!important;
  height:100%!important;
  min-height:320px!important;
  object-fit:cover!important;
}

#servicios .service-anchor-card-horizontal .card-body,
.onepage-servicios .service-anchor-card-horizontal .card-body{
  padding:26px 28px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}

#servicios .service-anchor-card-horizontal .service-title-inline,
.onepage-servicios .service-anchor-card-horizontal .service-title-inline{
  margin-bottom:12px!important;
}

#servicios .service-anchor-card-horizontal p,
.onepage-servicios .service-anchor-card-horizontal p{
  margin-bottom:14px!important;
}

#servicios .service-anchor-card-horizontal .list,
.onepage-servicios .service-anchor-card-horizontal .list{
  margin-top:auto!important;
}

/* Móvil: las horizontales pasan a una por línea */
@media(max-width:980px){
  #servicios .services-horizontal-row,
  .onepage-servicios .services-horizontal-row{
    grid-template-columns:1fr!important;
  }
  #servicios .service-anchor-card-horizontal,
  .onepage-servicios .service-anchor-card-horizontal{
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }
  #servicios .service-anchor-card-horizontal .card-img,
  .onepage-servicios .service-anchor-card-horizontal .card-img{
    min-height:230px!important;
    height:230px!important;
  }
}


/* v98: tarjetas horizontales arriba y verticales debajo */
#servicios .services-horizontal-row,
.onepage-servicios .services-horizontal-row{
  margin-top:0!important;
  margin-bottom:30px!important;
}

/* Las horizontales antes de las 4 tarjetas: algo más compactas para abrir la sección */
#servicios .service-anchor-card-horizontal,
.onepage-servicios .service-anchor-card-horizontal{
  min-height:300px!important;
}

#servicios .service-anchor-card-horizontal .card-img,
.onepage-servicios .service-anchor-card-horizontal .card-img{
  min-height:300px!important;
}

/* Asegurar que las 4 tarjetas verticales siguen en 2 columnas */
#servicios .grid-2,
.onepage-servicios .grid-2{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:28px!important;
}

@media(max-width:900px){
  #servicios .grid-2,
  .onepage-servicios .grid-2{
    grid-template-columns:1fr!important;
  }
}


/* v99: Servicios: 2 tarjetas horizontales en una línea + 4 tarjetas pequeñas en otra línea */
#servicios .services-horizontal-row,
.onepage-servicios .services-horizontal-row{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:28px!important;
  margin-bottom:30px!important;
}

#servicios .grid-2,
.onepage-servicios .grid-2{
  display:grid!important;
  grid-template-columns:repeat(4, minmax(0, 1fr))!important;
  gap:22px!important;
}

#servicios .grid-2 > .service-anchor-card,
.onepage-servicios .grid-2 > .service-anchor-card{
  min-height:auto!important;
  padding:0!important;
  border-radius:24px!important;
}

#servicios .grid-2 > .service-anchor-card .card-img,
.onepage-servicios .grid-2 > .service-anchor-card .card-img{
  height:170px!important;
  min-height:170px!important;
  object-fit:cover!important;
}

#servicios .grid-2 > .service-anchor-card .card-body,
.onepage-servicios .grid-2 > .service-anchor-card .card-body{
  padding:22px 20px 24px!important;
}

#servicios .grid-2 > .service-anchor-card .service-title-inline,
.onepage-servicios .grid-2 > .service-anchor-card .service-title-inline{
  gap:10px!important;
  margin-bottom:12px!important;
}

#servicios .grid-2 > .service-anchor-card .service-title-inline .ico,
.onepage-servicios .grid-2 > .service-anchor-card .service-title-inline .ico{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  font-size:15px!important;
  border-radius:9px!important;
}

#servicios .grid-2 > .service-anchor-card h3,
.onepage-servicios .grid-2 > .service-anchor-card h3{
  font-size:1.16rem!important;
  line-height:1.08!important;
}

#servicios .grid-2 > .service-anchor-card p,
.onepage-servicios .grid-2 > .service-anchor-card p{
  font-size:.88rem!important;
  line-height:1.5!important;
  min-height:86px!important;
}

#servicios .grid-2 > .service-anchor-card .list,
.onepage-servicios .grid-2 > .service-anchor-card .list{
  width:calc(100% + 16px)!important;
  margin-left:-8px!important;
  margin-right:-8px!important;
  padding:18px 10px 14px!important;
  border-radius:15px!important;
}

#servicios .grid-2 > .service-anchor-card .list div,
.onepage-servicios .grid-2 > .service-anchor-card .list div{
  font-size:.78rem!important;
  line-height:1.25!important;
  padding:6px 3px 6px 30px!important;
  margin:5px 0!important;
}

#servicios .grid-2 > .service-anchor-card .list div::before,
.onepage-servicios .grid-2 > .service-anchor-card .list div::before{
  width:17px!important;
  height:17px!important;
  left:8px!important;
  border-radius:5px!important;
  font-size:11px!important;
}

@media(max-width:1150px){
  #servicios .grid-2,
  .onepage-servicios .grid-2{
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  }
}

@media(max-width:900px){
  #servicios .services-horizontal-row,
  .onepage-servicios .services-horizontal-row,
  #servicios .grid-2,
  .onepage-servicios .grid-2{
    grid-template-columns:1fr!important;
  }

  #servicios .grid-2 > .service-anchor-card .card-img,
  .onepage-servicios .grid-2 > .service-anchor-card .card-img{
    height:210px!important;
    min-height:210px!important;
  }

  #servicios .grid-2 > .service-anchor-card p,
  .onepage-servicios .grid-2 > .service-anchor-card p{
    min-height:auto!important;
  }
}


/* v100: en las 4 tarjetas pequeñas de Servicios, la foto pasa al final de la tarjeta */
#servicios .grid-2 > .service-anchor-card,
.onepage-servicios .grid-2 > .service-anchor-card{
  display:flex!important;
  flex-direction:column-reverse!important;
  overflow:hidden!important;
}

/* Ajustar la imagen para que quede abajo */
#servicios .grid-2 > .service-anchor-card .card-img,
.onepage-servicios .grid-2 > .service-anchor-card .card-img{
  display:block!important;
  width:100%!important;
  height:170px!important;
  min-height:170px!important;
  object-fit:cover!important;
  border-radius:0 0 24px 24px!important;
}

/* Ajustar el cuerpo para que quede arriba con esquinas superiores */
#servicios .grid-2 > .service-anchor-card .card-body,
.onepage-servicios .grid-2 > .service-anchor-card .card-body{
  border-radius:24px 24px 0 0!important;
}

@media(max-width:900px){
  #servicios .grid-2 > .service-anchor-card .card-img,
  .onepage-servicios .grid-2 > .service-anchor-card .card-img{
    height:210px!important;
    min-height:210px!important;
    border-radius:0 0 24px 24px!important;
  }
}


/* v101: en las 4 tarjetas pequeñas, el marco superior de la foto deja de ser recto */
#servicios .grid-2 > .service-anchor-card .card-img,
.onepage-servicios .grid-2 > .service-anchor-card .card-img{
  border-radius:0 0 24px 24px!important;
  clip-path:polygon(
    0 12%,
    8% 7%,
    18% 11%,
    30% 4%,
    43% 10%,
    56% 3%,
    69% 9%,
    82% 5%,
    92% 11%,
    100% 8%,
    100% 100%,
    0 100%
  )!important;
}

#servicios .grid-2 > .service-anchor-card,
.onepage-servicios .grid-2 > .service-anchor-card{
  overflow:hidden!important;
}

@media(max-width:900px){
  #servicios .grid-2 > .service-anchor-card .card-img,
  .onepage-servicios .grid-2 > .service-anchor-card .card-img{
    clip-path:polygon(
      0 10%,
      10% 6%,
      22% 10%,
      35% 4%,
      50% 9%,
      64% 3%,
      78% 10%,
      90% 5%,
      100% 9%,
      100% 100%,
      0 100%
    )!important;
  }
}


/* v102: checks en color amarillo-naranja corporativo */
#servicios .list div::before,
.onepage-servicios .list div::before{
  background:#ffffff!important;
  color:#f2c411!important;
  border:1px solid rgba(242,196,17,.28)!important;
  box-shadow:0 5px 12px rgba(242,196,17,.22)!important;
}


/* v103: texto de los puntos/checks en negrita */
#servicios .list div,
.onepage-servicios .list div{
  font-weight:700!important;
}


/* v104: en las 4 tarjetas pequeñas de Servicios, textos un poco más pequeños */
#servicios .grid-2 > .service-anchor-card h3,
.onepage-servicios .grid-2 > .service-anchor-card h3{
  font-size:1.02rem!important;
  line-height:1.08!important;
}

#servicios .grid-2 > .service-anchor-card p,
.onepage-servicios .grid-2 > .service-anchor-card p{
  font-size:.82rem!important;
  line-height:1.45!important;
}

#servicios .grid-2 > .service-anchor-card .list div,
.onepage-servicios .grid-2 > .service-anchor-card .list div{
  font-size:.73rem!important;
  line-height:1.2!important;
}

#servicios .grid-2 > .service-anchor-card .service-title-inline .ico,
.onepage-servicios .grid-2 > .service-anchor-card .service-title-inline .ico{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  font-size:14px!important;
}

#servicios .grid-2 > .service-anchor-card .card-body,
.onepage-servicios .grid-2 > .service-anchor-card .card-body{
  padding:20px 18px 22px!important;
}

@media(max-width:900px){
  #servicios .grid-2 > .service-anchor-card h3,
  .onepage-servicios .grid-2 > .service-anchor-card h3{
    font-size:1.05rem!important;
  }

  #servicios .grid-2 > .service-anchor-card p,
  .onepage-servicios .grid-2 > .service-anchor-card p{
    font-size:.86rem!important;
  }

  #servicios .grid-2 > .service-anchor-card .list div,
  .onepage-servicios .grid-2 > .service-anchor-card .list div{
    font-size:.77rem!important;
  }
}


/* v106: eliminar bloque residual Legalización y trámites */
.legalizacion-anchor{
  display:none!important;
}

/* v106: proyectos con desplazamiento lateral */
.projects-slider-wrap{
  position:relative!important;
  margin-top:32px!important;
}

.projects-slider{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:calc((100% - 56px) / 3)!important;
  grid-template-columns:none!important;
  gap:28px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  padding:8px 6px 18px!important;
  scrollbar-width:none!important;
}

.projects-slider::-webkit-scrollbar{
  display:none!important;
}

.projects-slider .project{
  scroll-snap-align:start!important;
  min-width:0!important;
  height:100%!important;
}

.projects-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:4!important;
  width:44px!important;
  height:44px!important;
  border-radius:999px!important;
  border:1px solid rgba(32,50,71,.14)!important;
  background:rgba(255,255,255,.92)!important;
  color:#203247!important;
  box-shadow:0 14px 30px rgba(32,50,71,.16)!important;
  cursor:pointer!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:32px!important;
  line-height:1!important;
  font-weight:500!important;
  transition:transform .18s ease, background .18s ease, color .18s ease!important;
}

.projects-arrow:hover{
  background:#f2c411!important;
  color:#172535!important;
  transform:translateY(-50%) scale(1.06)!important;
}

.projects-prev{
  left:-22px!important;
}

.projects-next{
  right:-22px!important;
}

html[data-theme="dark"] .projects-arrow{
  background:rgba(17,29,44,.92)!important;
  color:#ffffff!important;
  border-color:rgba(255,255,255,.16)!important;
}

html[data-theme="dark"] .projects-arrow:hover{
  background:#f2c411!important;
  color:#172535!important;
}

@media(max-width:1050px){
  .projects-slider{
    grid-auto-columns:calc((100% - 28px) / 2)!important;
  }
}

@media(max-width:700px){
  .projects-slider{
    grid-auto-columns:88%!important;
  }
  .projects-prev{
    left:-8px!important;
  }
  .projects-next{
    right:-8px!important;
  }
  .projects-arrow{
    width:38px!important;
    height:38px!important;
    font-size:28px!important;
  }
}


/* v107: Proyectos con 4 tarjetas visibles en una sola línea y desplazamiento lateral */
.projects-slider-wrap{
  overflow:hidden!important;
}

.projects-slider{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-columns:none!important;
  grid-auto-columns:calc((100% - 84px) / 4)!important; /* 4 tarjetas visibles + 3 gaps de 28px */
  gap:28px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  white-space:normal!important;
}

.projects-slider .project{
  min-width:0!important;
  width:100%!important;
}

@media(max-width:1150px){
  .projects-slider{
    grid-auto-columns:calc((100% - 56px) / 3)!important; /* 3 visibles */
  }
}

@media(max-width:850px){
  .projects-slider{
    grid-auto-columns:calc((100% - 28px) / 2)!important; /* 2 visibles */
  }
}

@media(max-width:600px){
  .projects-slider{
    grid-auto-columns:100%!important; /* 1 visible */
  }
}


/* v108: Proyectos en una única línea real, 4 visibles y resto por desplazamiento */
#proyectos .projects-slider-wrap,
.onepage-proyectos .projects-slider-wrap{
  overflow:hidden!important;
  position:relative!important;
}

#proyectos .projects-slider,
.onepage-proyectos .projects-slider{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:28px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  padding:8px 6px 18px!important;
  white-space:normal!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  grid-template-columns:none!important;
  grid-auto-flow:initial!important;
  grid-auto-columns:auto!important;
}

#proyectos .projects-slider::-webkit-scrollbar,
.onepage-proyectos .projects-slider::-webkit-scrollbar{
  display:none!important;
}

#proyectos .projects-slider > .project,
.onepage-proyectos .projects-slider > .project{
  flex:0 0 calc((100% - 84px) / 4)!important; /* 4 tarjetas visibles */
  width:calc((100% - 84px) / 4)!important;
  min-width:calc((100% - 84px) / 4)!important;
  max-width:calc((100% - 84px) / 4)!important;
  scroll-snap-align:start!important;
}

@media(max-width:1150px){
  #proyectos .projects-slider > .project,
  .onepage-proyectos .projects-slider > .project{
    flex:0 0 calc((100% - 56px) / 3)!important;
    width:calc((100% - 56px) / 3)!important;
    min-width:calc((100% - 56px) / 3)!important;
    max-width:calc((100% - 56px) / 3)!important;
  }
}

@media(max-width:850px){
  #proyectos .projects-slider > .project,
  .onepage-proyectos .projects-slider > .project{
    flex:0 0 calc((100% - 28px) / 2)!important;
    width:calc((100% - 28px) / 2)!important;
    min-width:calc((100% - 28px) / 2)!important;
    max-width:calc((100% - 28px) / 2)!important;
  }
}

@media(max-width:600px){
  #proyectos .projects-slider > .project,
  .onepage-proyectos .projects-slider > .project{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
  }
}


/* v109: corrección real del carrusel de Proyectos.
   Se elimina la dependencia de grid-3 y se fuerza una única fila horizontal. */
#proyectos .projects-slider-wrap{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  margin-top:32px!important;
}

#proyectos .projects-slider{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:24px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  padding:8px 4px 18px!important;
  margin:0!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;

  /* Anulación total de cualquier grid heredado */
  grid-template-columns:unset!important;
  grid-auto-columns:unset!important;
  grid-auto-flow:unset!important;
}

#proyectos .projects-slider::-webkit-scrollbar{
  display:none!important;
}

#proyectos .projects-slider > article.project{
  flex:0 0 calc((100% - 72px) / 4)!important; /* 4 visibles: 3 huecos de 24px */
  width:calc((100% - 72px) / 4)!important;
  min-width:calc((100% - 72px) / 4)!important;
  max-width:calc((100% - 72px) / 4)!important;
  scroll-snap-align:start!important;
  margin:0!important;
  box-sizing:border-box!important;
}

#proyectos .projects-slider > article.project .card-img{
  height:170px!important;
}

#proyectos .projects-slider > article.project .card-body{
  padding:22px 20px!important;
}

#proyectos .projects-slider > article.project h3{
  font-size:1.05rem!important;
  line-height:1.15!important;
}

#proyectos .projects-slider > article.project p{
  font-size:.84rem!important;
  line-height:1.45!important;
}

#proyectos .projects-slider > article.project .power{
  font-size:1.1rem!important;
  padding:11px 12px!important;
}

#proyectos .projects-arrow{
  top:52%!important;
}

@media(max-width:1150px){
  #proyectos .projects-slider > article.project{
    flex-basis:calc((100% - 48px) / 3)!important;
    width:calc((100% - 48px) / 3)!important;
    min-width:calc((100% - 48px) / 3)!important;
    max-width:calc((100% - 48px) / 3)!important;
  }
}

@media(max-width:850px){
  #proyectos .projects-slider > article.project{
    flex-basis:calc((100% - 24px) / 2)!important;
    width:calc((100% - 24px) / 2)!important;
    min-width:calc((100% - 24px) / 2)!important;
    max-width:calc((100% - 24px) / 2)!important;
  }
}

@media(max-width:600px){
  #proyectos .projects-slider > article.project{
    flex-basis:100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
  }
}


/* v110: sección Proyectos rehecha desde cero, independiente de grid-3/project antiguos */
.ortek-projects-section{
  overflow:hidden!important;
}

.ortek-projects-carousel{
  position:relative!important;
  margin-top:32px!important;
  width:100%!important;
}

.ortek-projects-viewport{
  width:100%!important;
  overflow:hidden!important;
  padding:8px 4px 20px!important;
}

.ortek-projects-track{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:24px!important;
  transition:transform .35s ease!important;
  will-change:transform!important;
}

.ortek-project-card{
  flex:0 0 calc((100% - 72px) / 4)!important;
  width:calc((100% - 72px) / 4)!important;
  min-width:calc((100% - 72px) / 4)!important;
  max-width:calc((100% - 72px) / 4)!important;
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  border-radius:24px!important;
  overflow:hidden!important;
  box-shadow:0 4px 10px rgba(15,23,42,.04)!important;
  transition:transform .22s ease, box-shadow .22s ease!important;
}

.ortek-project-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:var(--shadow)!important;
}

.ortek-project-card img{
  width:100%!important;
  height:170px!important;
  object-fit:cover!important;
  display:block!important;
}

.ortek-project-body{
  padding:22px 20px 24px!important;
}

.ortek-project-meta{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:14px!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

.ortek-project-meta span:last-child{
  background:var(--soft)!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  padding:4px 7px!important;
  color:var(--ink)!important;
  white-space:nowrap!important;
}

.ortek-project-body h3{
  margin:0 0 10px!important;
  font-size:1.05rem!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
}

.ortek-project-body p{
  margin:0!important;
  font-size:.84rem!important;
  line-height:1.45!important;
  color:var(--muted)!important;
  min-height:74px!important;
}

.ortek-project-body strong{
  display:block!important;
  margin-top:18px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:var(--soft)!important;
  padding:11px 12px!important;
  font-size:1.05rem!important;
  line-height:1!important;
  font-weight:900!important;
  color:var(--accent)!important;
}

.ortek-projects-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:5!important;
  width:44px!important;
  height:44px!important;
  border-radius:999px!important;
  border:1px solid rgba(32,50,71,.14)!important;
  background:rgba(255,255,255,.94)!important;
  color:#203247!important;
  box-shadow:0 14px 30px rgba(32,50,71,.16)!important;
  cursor:pointer!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:32px!important;
  line-height:1!important;
  font-weight:500!important;
  transition:transform .18s ease, background .18s ease, color .18s ease, opacity .18s ease!important;
}

.ortek-projects-prev{
  left:-22px!important;
}

.ortek-projects-next{
  right:-22px!important;
}

.ortek-projects-arrow:hover:not(:disabled){
  background:#f2c411!important;
  color:#172535!important;
  transform:translateY(-50%) scale(1.06)!important;
}

.ortek-projects-arrow:disabled{
  opacity:.28!important;
  cursor:default!important;
}

html[data-theme="dark"] .ortek-projects-arrow{
  background:rgba(17,29,44,.94)!important;
  color:#ffffff!important;
  border-color:rgba(255,255,255,.16)!important;
}

html[data-theme="dark"] .ortek-projects-arrow:hover:not(:disabled){
  background:#f2c411!important;
  color:#172535!important;
}

/* Responsive */
@media(max-width:1150px){
  .ortek-project-card{
    flex-basis:calc((100% - 48px) / 3)!important;
    width:calc((100% - 48px) / 3)!important;
    min-width:calc((100% - 48px) / 3)!important;
    max-width:calc((100% - 48px) / 3)!important;
  }
}

@media(max-width:850px){
  .ortek-project-card{
    flex-basis:calc((100% - 24px) / 2)!important;
    width:calc((100% - 24px) / 2)!important;
    min-width:calc((100% - 24px) / 2)!important;
    max-width:calc((100% - 24px) / 2)!important;
  }
}

@media(max-width:600px){
  .ortek-project-card{
    flex-basis:100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
  }

  .ortek-projects-prev{
    left:-8px!important;
  }

  .ortek-projects-next{
    right:-8px!important;
  }

  .ortek-projects-arrow{
    width:38px!important;
    height:38px!important;
    font-size:28px!important;
  }
}


/* v115: subrayado geométrico para títulos de sección */
#servicios .page-accent,
#ayudas .page-accent,
#contacto .page-accent,
#ajuts .page-accent{
  display:none !important;
}

/* Títulos principales de sección con subrayado geométrico */
#servicios .page-title,
#proyectos .h2,
#projectes .h2,
#sobre-nosotros .page-title,
#sobre-nosaltres .page-title,
#ayudas .page-title,
#ajuts .page-title,
#contacto .page-title{
  position:relative !important;
  display:inline-block !important;
  padding-bottom:18px !important;
  margin-bottom:16px !important;
}

/* línea inferior principal */
#servicios .page-title::after,
#proyectos .h2::after,
#projectes .h2::after,
#sobre-nosotros .page-title::after,
#sobre-nosaltres .page-title::after,
#ayudas .page-title::after,
#ajuts .page-title::after,
#contacto .page-title::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:2px !important;
  width:58% !important;
  min-width:72px !important;
  height:4px !important;
  background:#f2c411 !important;
  border-radius:999px !important;
  transform:skewX(-26deg) !important;
  transform-origin:left center !important;
}

/* pequeño gesto diagonal tipo fragmento de triángulo */
#servicios .page-title::before,
#proyectos .h2::before,
#projectes .h2::before,
#sobre-nosotros .page-title::before,
#sobre-nosaltres .page-title::before,
#ayudas .page-title::before,
#ajuts .page-title::before,
#contacto .page-title::before{
  content:"" !important;
  position:absolute !important;
  left:6px !important;
  bottom:-6px !important;
  width:28px !important;
  height:4px !important;
  background:#f2c411 !important;
  border-radius:999px !important;
  transform:rotate(48deg) !important;
  transform-origin:left center !important;
}

/* Ajuste visual específico en Proyectos */
#proyectos .h2,
#projectes .h2{
  margin-top:0 !important;
}

/* Títulos largos: un poco más de aire con el subtítulo */
#ayudas .page-title,
#ajuts .page-title,
#contacto .page-title{
  line-height:1.06 !important;
}

@media (max-width: 700px){
  #servicios .page-title,
  #proyectos .h2,
  #projectes .h2,
  #sobre-nosotros .page-title,
  #sobre-nosaltres .page-title,
  #ayudas .page-title,
  #ajuts .page-title,
  #contacto .page-title{
    padding-bottom:16px !important;
    margin-bottom:14px !important;
  }

  #servicios .page-title::after,
  #proyectos .h2::after,
  #projectes .h2::after,
  #sobre-nosotros .page-title::after,
  #sobre-nosaltres .page-title::after,
  #ayudas .page-title::after,
  #ajuts .page-title::after,
  #contacto .page-title::after{
    min-width:58px !important;
    height:3px !important;
  }

  #servicios .page-title::before,
  #proyectos .h2::before,
  #projectes .h2::before,
  #sobre-nosotros .page-title::before,
  #sobre-nosaltres .page-title::before,
  #ayudas .page-title::before,
  #ajuts .page-title::before,
  #contacto .page-title::before{
    width:22px !important;
    height:3px !important;
    bottom:-4px !important;
  }
}


/* v116: eliminada sección Ayudas y bonificaciones + formulario de contacto */
.onepage-ayudas,
#ayudas,
#ajuts{
  display:none!important;
}

#contacto .split{
  display:block!important;
}

#contacto .text{
  max-width:760px!important;
}

#contacto .form,
#formulario{
  display:none!important;
}


/* v117: sección Sobre nosotros añadida y sección Contacto eliminada */
#contacto,
#contacte,
.onepage-contacto,
.onepage-contacte{
  display:none!important;
}

.ortek-about-section .section{
  padding-top:38px!important;
}

.about-grid{
  display:grid!important;
  grid-template-columns:.95fr 1.05fr!important;
  gap:34px!important;
  align-items:start!important;
}

.about-copy{
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  border-radius:28px!important;
  padding:34px!important;
  box-shadow:0 4px 10px rgba(15,23,42,.04)!important;
}

.about-copy p{
  color:var(--muted)!important;
  margin:0 0 16px!important;
  line-height:1.65!important;
}

.about-points{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
}

.about-point{
  display:grid!important;
  grid-template-columns:58px 1fr!important;
  gap:16px!important;
  align-items:start!important;
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  border-radius:24px!important;
  padding:22px!important;
  box-shadow:0 4px 10px rgba(15,23,42,.035)!important;
}

.about-point span{
  width:46px!important;
  height:46px!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f2c411!important;
  color:#172535!important;
  font-weight:900!important;
}

.about-point strong{
  display:block!important;
  font-size:1.05rem!important;
  margin-bottom:6px!important;
  color:var(--ink)!important;
}

.about-point p{
  margin:0!important;
  color:var(--muted)!important;
  line-height:1.5!important;
}

@media(max-width:900px){
  .about-grid{
    grid-template-columns:1fr!important;
  }
}


/* v118: Proyectos sin eyebrow y Sobre nosotros sin línea duplicada */
#proyectos > .wrap > .eyebrow,
#projectes > .wrap > .eyebrow{
  display:none!important;
}

#sobre-nosotros .page-accent,
#sobre-nosaltres .page-accent{
  display:none!important;
}


/* v119: ajustes solicitados */

/* Inicio: badge en parte inferior izquierda */
.hero-image-card{
  position:relative!important;
}
.hero-image-card .photo-badge{
  top:auto!important;
  right:auto!important;
  left:18px!important;
  bottom:18px!important;
}

/* Icono WhatsApp en botón Contactar */
.btn-icon-img.whatsapp-btn-icon{
  width:18px!important;
  height:18px!important;
  object-fit:contain!important;
  display:inline-block!important;
  vertical-align:middle!important;
  margin-right:8px!important;
}
.btn.btn-contactar{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Textos intro bajo cada título de sección: una línea más abajo */
#inicio .hero-services,
#proyectos > .wrap > .lead,
#projectes > .wrap > .lead,
#sobre-nosotros .page-hero-copy .lead,
#sobre-nosaltres .page-hero-copy .lead{
  margin-top:1.2rem!important;
}

#servicios .page-hero-copy,
#proyectos .wrap,
#projectes .wrap,
#sobre-nosotros .page-hero-copy,
#sobre-nosaltres .page-hero-copy{
  display:block!important;
}

#servicios .page-hero-copy .lead,
#proyectos .lead,
#projectes .lead,
#sobre-nosotros .page-hero-copy .lead,
#sobre-nosaltres .page-hero-copy .lead{
  display:block!important;
  padding-top:.35rem!important;
}

/* Servicios: 3 arriba y 3 abajo */
.services-horizontal-row,
#servicios .services-horizontal-row{
  display:none!important;
}

#servicios .grid-2{
  display:none!important;
}

#servicios .services-grid-six{
  display:grid!important;
  grid-template-columns:repeat(3, minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}

/* Las 6 tarjetas siguen el look de las tarjetas pequeñas */
#servicios .services-grid-six > .service-anchor-card{
  display:flex!important;
  flex-direction:column-reverse!important;
  overflow:hidden!important;
  min-height:auto!important;
  padding:0!important;
  border-radius:24px!important;
}

#servicios .services-grid-six > .service-anchor-card .card-img{
  display:block!important;
  width:100%!important;
  height:170px!important;
  min-height:170px!important;
  object-fit:cover!important;
  border-radius:0 0 24px 24px!important;
  clip-path:polygon(
    0 12%,
    8% 7%,
    18% 11%,
    30% 4%,
    43% 10%,
    56% 3%,
    69% 9%,
    82% 5%,
    92% 11%,
    100% 8%,
    100% 100%,
    0 100%
  )!important;
}

#servicios .services-grid-six > .service-anchor-card .card-body{
  padding:20px 18px 22px!important;
  border-radius:24px 24px 0 0!important;
}

#servicios .services-grid-six > .service-anchor-card .service-title-inline{
  gap:10px!important;
  margin-bottom:12px!important;
}
#servicios .services-grid-six > .service-anchor-card .service-title-inline .ico{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  font-size:14px!important;
  border-radius:9px!important;
}
#servicios .services-grid-six > .service-anchor-card h3{
  font-size:1.02rem!important;
  line-height:1.08!important;
}
#servicios .services-grid-six > .service-anchor-card p{
  font-size:.82rem!important;
  line-height:1.45!important;
  min-height:86px!important;
}
#servicios .services-grid-six > .service-anchor-card .list{
  width:calc(100% + 16px)!important;
  margin-left:-8px!important;
  margin-right:-8px!important;
  padding:18px 10px 14px!important;
  border-radius:15px!important;
}
#servicios .services-grid-six > .service-anchor-card .list div{
  font-size:.73rem!important;
  line-height:1.2!important;
  padding:6px 3px 6px 30px!important;
  margin:5px 0!important;
  font-weight:700!important;
}
#servicios .services-grid-six > .service-anchor-card .list div::before{
  width:17px!important;
  height:17px!important;
  left:8px!important;
  border-radius:5px!important;
  font-size:11px!important;
}

/* Checks en verde */
#servicios .list div::before,
.onepage-servicios .list div::before{
  background:#ffffff!important;
  color:#28b463!important;
  border:1px solid rgba(40,180,99,.24)!important;
  box-shadow:0 5px 12px rgba(40,180,99,.18)!important;
}

/* Responsive */
@media(max-width:1100px){
  #servicios .services-grid-six{
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  #servicios .services-grid-six{
    grid-template-columns:1fr!important;
  }
  #servicios .services-grid-six > .service-anchor-card .card-img{
    height:200px!important;
    min-height:200px!important;
  }
}


/* v120: ajustes solicitados */

/* Inicio: dejar una línea en blanco tras el texto principal */
#inicio .hero-services{
  margin-bottom:1.25rem!important;
}

/* Servicios: usar formato tipo tarjetas superiores antiguas, no el de las inferiores */
#servicios .services-grid-six > .service-anchor-card{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  min-height:100%!important;
  border-radius:24px!important;
}

#servicios .services-grid-six > .service-anchor-card .card-img{
  order:0!important;
  display:block!important;
  width:100%!important;
  height:200px!important;
  min-height:200px!important;
  object-fit:cover!important;
  border-radius:24px 24px 0 0!important;
  clip-path:none!important;
}

#servicios .services-grid-six > .service-anchor-card .card-body{
  order:1!important;
  padding:24px 22px 24px!important;
  border-radius:0 0 24px 24px!important;
  display:flex!important;
  flex-direction:column!important;
}

#servicios .services-grid-six > .service-anchor-card h3{
  font-size:1.06rem!important;
  line-height:1.1!important;
}

#servicios .services-grid-six > .service-anchor-card p{
  font-size:.86rem!important;
  line-height:1.5!important;
  min-height:78px!important;
}

#servicios .services-grid-six > .service-anchor-card .list{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-top:12px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}

#servicios .services-grid-six > .service-anchor-card .list div{
  font-size:.78rem!important;
  line-height:1.28!important;
  padding:7px 0 7px 30px!important;
  margin:4px 0!important;
}

/* Cabecero: WhatsApp con número al lado */
.header-whatsapp{
  gap:8px!important;
}
.header-whatsapp .contact-label{
  font-size:.9rem!important;
  font-weight:600!important;
  white-space:nowrap!important;
}

/* Botón flotante WhatsApp con imagen oficial */
.whatsapp{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:58px!important;
  height:58px!important;
  border-radius:999px!important;
  background:#ffffff!important;
  box-shadow:0 12px 28px rgba(15,23,42,.18)!important;
  border:1px solid rgba(15,23,42,.08)!important;
}

.whatsapp-float-img{
  width:30px!important;
  height:30px!important;
  object-fit:contain!important;
  display:block!important;
}

html[data-theme="dark"] .whatsapp{
  background:#142233!important;
  border-color:rgba(255,255,255,.12)!important;
}

@media(max-width:1100px){
  #servicios .services-grid-six > .service-anchor-card .card-img{
    height:190px!important;
    min-height:190px!important;
  }
}

@media(max-width:700px){
  #servicios .services-grid-six > .service-anchor-card .card-img{
    height:210px!important;
    min-height:210px!important;
  }
  .header-whatsapp .contact-label{
    display:none!important;
  }
}


/* v121: restaurar en Servicios los recuadros de checks como antes */
#servicios .services-grid-six > .service-anchor-card .list{
  width:calc(100% + 16px)!important;
  margin-left:-8px!important;
  margin-right:-8px!important;
  margin-top:12px!important;
  padding:18px 10px 14px!important;
  border-radius:15px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98))!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.05)!important;
}

#servicios .services-grid-six > .service-anchor-card .list div{
  font-size:.78rem!important;
  line-height:1.24!important;
  padding:7px 3px 7px 30px!important;
  margin:5px 0!important;
  font-weight:700!important;
}

#servicios .services-grid-six > .service-anchor-card .list div::before{
  width:17px!important;
  height:17px!important;
  left:8px!important;
  border-radius:5px!important;
  font-size:11px!important;
  background:#ffffff!important;
  color:#28b463!important;
  border:1px solid rgba(40,180,99,.24)!important;
  box-shadow:0 5px 12px rgba(40,180,99,.18)!important;
}


/* v122: corregir los recuadros de checks en Servicios para modo oscuro */
html[data-theme="dark"] #servicios .services-grid-six > .service-anchor-card .list{
  background:linear-gradient(180deg, rgba(22,34,51,.96), rgba(17,27,40,.96))!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.28)!important;
}

html[data-theme="dark"] #servicios .services-grid-six > .service-anchor-card .list div{
  color:#e5edf5!important;
}

html[data-theme="dark"] #servicios .services-grid-six > .service-anchor-card .list div::before{
  background:#1f3144!important;
  color:#41d67d!important;
  border:1px solid rgba(65,214,125,.28)!important;
  box-shadow:0 5px 12px rgba(65,214,125,.12)!important;
}

html[data-theme="dark"] #servicios .services-grid-six > .service-anchor-card{
  box-shadow:0 6px 20px rgba(0,0,0,.22)!important;
}

html[data-theme="dark"] #servicios .services-grid-six > .service-anchor-card .card-body p{
  color:#afbdcc!important;
}


/* v123: en modo oscuro, el título ORTEK SOLAR de Inicio no debe verse más oscuro */
html[data-theme="dark"] #inicio .hero-modern-copy h1,
html[data-theme="dark"] #inicio .hero-modern-copy .h1,
html[data-theme="dark"] #inicio .page-title{
  color:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
  filter:none!important;
}

/* Asegurar también el bloque del título del inicio */
html[data-theme="dark"] #inicio .hero-modern-copy{
  color:#ffffff!important;
}


/* v124: en modo oscuro, la sección de Inicio no debe verse más oscura que el resto */
html[data-theme="dark"] #inicio.hero-home,
html[data-theme="dark"] #inicio .hero-modern,
html[data-theme="dark"] #inicio{
  background:#223446 !important;
  background-image:none !important;
}

/* Halo decorativo algo más suave y claro para no ensuciar el bloque */
html[data-theme="dark"] #inicio .hero-modern:before{
  background:radial-gradient(circle, rgba(242,196,17,.12) 0%, rgba(242,196,17,.06) 36%, rgba(242,196,17,0) 72%) !important;
  opacity:1 !important;
}

/* Mantener contraste correcto dentro del bloque */
html[data-theme="dark"] #inicio .hero-modern-title,
html[data-theme="dark"] #inicio .hero-modern-copy,
html[data-theme="dark"] #inicio .hero-modern-copy p,
html[data-theme="dark"] #inicio .hero-modern-copy .lead,
html[data-theme="dark"] #inicio .hero-services{
  color:#ffffff !important;
}

html[data-theme="dark"] #inicio .hero-modern-copy .lead{
  color:#dbe5ef !important;
}

html[data-theme="dark"] #inicio .hero-services span{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#ffffff !important;
}


/* v125: en modo oscuro, Inicio con el mismo lenguaje visual que Servicios:
   fondo integrado y halo/luz en la parte superior derecha */
html[data-theme="dark"] #inicio,
html[data-theme="dark"] #inicio.hero-home,
html[data-theme="dark"] #inicio .hero-modern{
  background:transparent !important;
  background-image:none !important;
}

html[data-theme="dark"] #inicio .hero-modern{
  position:relative !important;
  overflow:hidden !important;
}

/* luz superior derecha tipo sol, como pides */
html[data-theme="dark"] #inicio .hero-modern::before{
  content:"" !important;
  position:absolute !important;
  right:-150px !important;
  top:-70px !important;
  width:520px !important;
  height:520px !important;
  border-radius:50% !important;
  background:radial-gradient(circle,
    rgba(242,196,17,.24) 0%,
    rgba(242,196,17,.14) 24%,
    rgba(242,196,17,.08) 42%,
    rgba(242,196,17,0) 72%) !important;
  pointer-events:none !important;
  opacity:1 !important;
}

/* mantener textos y elementos con buen contraste */
html[data-theme="dark"] #inicio .hero-modern-title,
html[data-theme="dark"] #inicio .hero-modern-copy,
html[data-theme="dark"] #inicio .hero-modern-copy .lead,
html[data-theme="dark"] #inicio .hero-services span{
  color:#ffffff !important;
}

html[data-theme="dark"] #inicio .hero-modern-copy .lead{
  color:#d7dde5 !important;
}

html[data-theme="dark"] #inicio .hero-services span{
  background:rgba(43,58,74,.78) !important;
  border-color:rgba(255,255,255,.13) !important;
}

/* la tarjeta de imagen también acorde al modo oscuro general */
html[data-theme="dark"] #inicio .hero-image-card{
  background:rgba(43,58,74,.78) !important;
  border-color:rgba(255,255,255,.13) !important;
  box-shadow:0 24px 55px rgba(0,0,0,.28) !important;
}

@media(max-width:900px){
  html[data-theme="dark"] #inicio .hero-modern::before{
    right:-180px !important;
    top:-90px !important;
    width:420px !important;
    height:420px !important;
  }
}


/* v126: ajustes de inicio, WhatsApp flotante y footer con más vida */

/* Inicio: botones Contactar y Proyectos más alargados y menos altos */
.hero-home .hero-actions{
  gap:14px!important;
}

.hero-home .hero-actions .btn{
  min-height:46px!important;
  height:auto!important;
  padding:11px 30px!important;
  border-radius:12px!important;
  font-size:14px!important;
  line-height:1.1!important;
  min-width:176px!important;
}

.hero-home .hero-actions .btn-contactar,
.hero-home .hero-actions .btn-proyectos{
  min-width:186px!important;
}

.hero-home .hero-actions .btn-icon,
.hero-home .hero-actions .btn-icon-img{
  margin-right:2px!important;
}

@media(max-width:700px){
  .hero-home .hero-actions .btn{
    min-width:152px!important;
    padding:11px 20px!important;
  }
}

/* WhatsApp flotante un poco más grande */
.whatsapp{
  width:66px!important;
  height:66px!important;
  border-radius:18px!important;
}

.whatsapp-float-img{
  width:35px!important;
  height:35px!important;
}

/* Footer: letras más pequeñas y diseño con más vida */
.footer{
  position:relative!important;
  overflow:hidden!important;
  padding:60px 0 46px!important;
  background:
    radial-gradient(circle at 88% 16%, rgba(242,196,17,.18) 0%, rgba(242,196,17,.08) 16%, rgba(242,196,17,0) 34%),
    linear-gradient(180deg, #18283a 0%, #142233 100%)!important;
}

.footer::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:3px!important;
  background:linear-gradient(90deg, rgba(242,196,17,0) 0%, rgba(242,196,17,.95) 18%, rgba(242,196,17,.95) 82%, rgba(242,196,17,0) 100%)!important;
}

.footer::after{
  content:""!important;
  position:absolute!important;
  right:-70px!important;
  top:-70px!important;
  width:220px!important;
  height:220px!important;
  border-radius:50%!important;
  background:radial-gradient(circle, rgba(242,196,17,.18) 0%, rgba(242,196,17,.08) 32%, rgba(242,196,17,0) 68%)!important;
  pointer-events:none!important;
}

.footer-grid{
  position:relative!important;
  z-index:1!important;
  align-items:start!important;
  gap:22px!important;
}

.footer-grid > div{
  background:rgba(255,255,255,.03)!important;
  border:1px solid rgba(255,255,255,.07)!important;
  border-radius:22px!important;
  padding:22px 22px 20px!important;
  box-shadow:0 10px 26px rgba(0,0,0,.12)!important;
  backdrop-filter:blur(4px)!important;
  min-height:100%!important;
}

.footer img{
  height:56px!important;
  margin-bottom:16px!important;
}

.footer h3{
  font-size:15px!important;
  line-height:1.1!important;
  margin:0 0 14px!important;
  color:#f2c411!important;
  letter-spacing:.01em!important;
  position:relative!important;
  display:inline-block!important;
}

.footer h3::after{
  content:""!important;
  display:block!important;
  width:34px!important;
  height:3px!important;
  margin-top:7px!important;
  border-radius:999px!important;
  background:#f2c411!important;
  transform:skewX(-25deg)!important;
}

.footer p,
.footer a{
  font-size:13px!important;
  line-height:1.55!important;
  color:rgba(255,255,255,.82)!important;
}

.footer p{
  margin:0 0 8px!important;
}

.footer a{
  transition:color .18s ease, transform .18s ease!important;
  display:inline-block!important;
}

.footer a:hover{
  color:#f2c411!important;
  transform:translateX(2px)!important;
}

.footer .footer-grid > div:first-child p{
  color:rgba(255,255,255,.76)!important;
  max-width:300px!important;
}

html[data-theme="dark"] .footer{
  background:
    radial-gradient(circle at 88% 16%, rgba(242,196,17,.20) 0%, rgba(242,196,17,.08) 16%, rgba(242,196,17,0) 34%),
    linear-gradient(180deg, #132031 0%, #0d1724 100%)!important;
}

@media(max-width:900px){
  .footer{
    padding:52px 0 40px!important;
  }
  .footer-grid > div{
    padding:18px 18px 16px!important;
  }
}


/* v127: footer más pequeño y enlaces iguales al cabecero */
.footer{
  padding:40px 0 28px!important;
}

.footer::before{
  height:2px!important;
}

.footer::after{
  width:170px!important;
  height:170px!important;
  right:-52px!important;
  top:-52px!important;
}

.footer-grid{
  gap:16px!important;
}

.footer-grid > div{
  padding:16px 16px 14px!important;
  border-radius:18px!important;
}

.footer img{
  height:46px!important;
  margin-bottom:12px!important;
}

.footer h3{
  font-size:13px!important;
  margin:0 0 10px!important;
}

.footer h3::after{
  width:28px!important;
  height:2px!important;
  margin-top:5px!important;
}

.footer p,
.footer a{
  font-size:12px!important;
  line-height:1.42!important;
}

.footer p{
  margin:0 0 6px!important;
}

.footer .footer-grid > div:first-child p{
  max-width:270px!important;
}

@media(max-width:900px){
  .footer{
    padding:34px 0 24px!important;
  }
  .footer-grid > div{
    padding:14px 14px 12px!important;
  }
}


/* v128: footer sin recuadros y con letra más fina/compacta */
.footer{
  padding:34px 0 24px!important;
}

.footer-grid{
  gap:36px!important;
  align-items:start!important;
}

/* Quitar completamente los recuadros del footer */
.footer-grid > div{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  padding:0!important;
  border-radius:0!important;
  min-height:auto!important;
}

/* Letra más pequeña y limpia */
.footer p,
.footer a{
  font-size:11.5px!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:rgba(255,255,255,.74)!important;
}

.footer h3{
  font-size:12.5px!important;
  margin-bottom:10px!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

.footer img{
  height:42px!important;
  margin-bottom:10px!important;
}

.footer .footer-grid > div:first-child p{
  max-width:300px!important;
}

/* Mantener un toque visual sin recuadros */
.footer h3::after{
  width:26px!important;
  height:2px!important;
  margin-top:6px!important;
  background:#f2c411!important;
}

.footer a:hover{
  color:#f2c411!important;
  transform:translateX(2px)!important;
}

@media(max-width:900px){
  .footer{
    padding:30px 0 22px!important;
  }
  .footer-grid{
    gap:22px!important;
  }
}


/* v129: WhatsApp flotante solo icono + footer más bonito con mini mapa */
.whatsapp{
  width:auto!important;
  height:auto!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
}

.whatsapp-float-img{
  width:44px!important;
  height:44px!important;
  object-fit:contain!important;
  display:block!important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.22))!important;
  transition:transform .18s ease!important;
}

.whatsapp:hover .whatsapp-float-img{
  transform:scale(1.08)!important;
}

.footer{
  padding:38px 0 28px!important;
  background:
    radial-gradient(circle at 88% 14%, rgba(242,196,17,.20) 0%, rgba(242,196,17,.08) 18%, rgba(242,196,17,0) 35%),
    linear-gradient(180deg, #172536 0%, #132131 100%)!important;
}

.footer::before{
  height:2px!important;
  background:linear-gradient(90deg, rgba(242,196,17,0) 0%, rgba(242,196,17,.95) 20%, rgba(242,196,17,.95) 80%, rgba(242,196,17,0) 100%)!important;
}

.footer-grid{
  display:grid!important;
  grid-template-columns:1.15fr .8fr .8fr 1.1fr!important;
  gap:26px!important;
  align-items:start!important;
}

.footer-grid > div{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  padding:0!important;
}

.footer h3{
  font-size:12px!important;
  margin:0 0 10px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#f2c411!important;
}

.footer h3::after{
  width:30px!important;
  height:2px!important;
  margin-top:6px!important;
  background:#f2c411!important;
  transform:skewX(-24deg)!important;
}

.footer img{
  height:44px!important;
  margin-bottom:12px!important;
}

.footer p,
.footer a{
  font-size:11.7px!important;
  line-height:1.48!important;
  color:rgba(255,255,255,.78)!important;
}

.footer p{
  margin:0 0 6px!important;
}

.footer a:hover{
  color:#f2c411!important;
  transform:translateX(2px)!important;
}

.footer-brand p{
  max-width:310px!important;
}

.footer-nav p,
.footer-contact p{
  margin-bottom:5px!important;
}

.map-thumb{
  display:block!important;
  width:100%!important;
  max-width:280px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.14)!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;
}

.map-thumb img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
}

.map-thumb:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(242,196,17,.45)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.18)!important;
}

@media(max-width:980px){
  .footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:22px!important;
  }
  .map-thumb{
    max-width:100%!important;
  }
}

@media(max-width:640px){
  .footer{
    padding:32px 0 24px!important;
  }
  .footer-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .whatsapp-float-img{
    width:48px!important;
    height:48px!important;
  }
}


/* v130: Sobre nosotros rehecho */
.about-section-modern{
  padding-top:34px!important;
}

.about-showcase{
  display:grid!important;
  grid-template-columns:1.08fr .92fr!important;
  gap:28px!important;
  align-items:stretch!important;
  margin-bottom:24px!important;
}

.about-main-card,
.about-visual-card,
.about-value-card{
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 6px 18px rgba(15,23,42,.045)!important;
}

.about-main-card{
  border-radius:30px!important;
  padding:34px!important;
  position:relative!important;
  overflow:hidden!important;
}

.about-main-card::before{
  content:""!important;
  position:absolute!important;
  right:-70px!important;
  top:-70px!important;
  width:220px!important;
  height:220px!important;
  border-radius:50%!important;
  background:radial-gradient(circle, rgba(242,196,17,.16) 0%, rgba(242,196,17,.07) 34%, rgba(242,196,17,0) 72%)!important;
  pointer-events:none!important;
}

.about-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(242,196,17,.14)!important;
  color:#172535!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  margin-bottom:16px!important;
}

.about-main-card h3{
  font-size:2rem!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
  margin:0 0 16px!important;
  max-width:12ch!important;
}

.about-main-card p{
  font-size:.98rem!important;
  line-height:1.72!important;
  color:var(--muted)!important;
  margin:0 0 14px!important;
  max-width:62ch!important;
}

.about-mini-points{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:18px!important;
}

.about-mini-points span{
  display:inline-flex!important;
  align-items:center!important;
  padding:11px 14px!important;
  border-radius:14px!important;
  background:var(--soft)!important;
  border:1px solid var(--line)!important;
  color:var(--ink)!important;
  font-size:.83rem!important;
  font-weight:700!important;
}

.about-visual-card{
  border-radius:30px!important;
  position:relative!important;
  overflow:hidden!important;
  min-height:100%!important;
}

.about-visual-card img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:420px!important;
  object-fit:cover!important;
}

.about-visual-card::after{
  content:""!important;
  position:absolute!important;
  inset:auto 0 0 0!important;
  height:44%!important;
  background:linear-gradient(180deg, rgba(14,24,36,0) 0%, rgba(14,24,36,.62) 100%)!important;
}

.about-visual-badge{
  position:absolute!important;
  left:20px!important;
  bottom:20px!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.16)!important;
}

.about-visual-badge strong{
  font-size:.95rem!important;
  line-height:1!important;
  color:#172535!important;
}

.about-visual-badge span{
  font-size:.78rem!important;
  line-height:1.35!important;
  color:#5b6675!important;
}

.about-values{
  display:grid!important;
  grid-template-columns:repeat(3, minmax(0,1fr))!important;
  gap:20px!important;
}

.about-value-card{
  border-radius:24px!important;
  padding:24px 22px 22px!important;
  position:relative!important;
  overflow:hidden!important;
}

.about-value-card::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:3px!important;
  background:linear-gradient(90deg, rgba(242,196,17,0) 0%, rgba(242,196,17,.9) 28%, rgba(242,196,17,.9) 72%, rgba(242,196,17,0) 100%)!important;
}

.about-value-num{
  width:42px!important;
  height:42px!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f2c411!important;
  color:#172535!important;
  font-weight:900!important;
  font-size:.88rem!important;
  margin-bottom:14px!important;
}

.about-value-card h4{
  margin:0 0 10px!important;
  font-size:1.06rem!important;
  line-height:1.15!important;
  color:var(--ink)!important;
}

.about-value-card p{
  margin:0!important;
  font-size:.88rem!important;
  line-height:1.58!important;
  color:var(--muted)!important;
}

html[data-theme="dark"] .about-main-card,
html[data-theme="dark"] .about-visual-card,
html[data-theme="dark"] .about-value-card{
  box-shadow:0 8px 24px rgba(0,0,0,.2)!important;
}

html[data-theme="dark"] .about-kicker{
  background:rgba(242,196,17,.16)!important;
  color:#f3f6fa!important;
}

html[data-theme="dark"] .about-visual-badge{
  background:rgba(20,34,51,.92)!important;
  border-color:rgba(255,255,255,.12)!important;
}

html[data-theme="dark"] .about-visual-badge strong{
  color:#ffffff!important;
}

html[data-theme="dark"] .about-visual-badge span{
  color:#c8d2dd!important;
}

@media(max-width:1020px){
  .about-showcase{
    grid-template-columns:1fr!important;
  }
  .about-main-card h3{
    max-width:none!important;
  }
  .about-values{
    grid-template-columns:1fr!important;
  }
  .about-visual-card img{
    min-height:320px!important;
  }
}

@media(max-width:700px){
  .about-main-card{
    padding:26px!important;
    border-radius:24px!important;
  }
  .about-main-card h3{
    font-size:1.6rem!important;
  }
  .about-main-card p{
    font-size:.93rem!important;
  }
  .about-visual-card{
    border-radius:24px!important;
  }
  .about-visual-badge{
    left:16px!important;
    right:16px!important;
    bottom:16px!important;
  }
}


/* v131: botones de Inicio más alargados y menos altos */
.hero-home .hero-actions{
  gap:14px!important;
}

.hero-home .hero-actions .btn,
.hero-home .hero-actions .btn-contactar,
.hero-home .hero-actions .btn-proyectos{
  min-width:220px!important;
  padding:9px 34px!important;
  min-height:40px!important;
  height:40px!important;
  border-radius:12px!important;
  font-size:13.5px!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.hero-home .hero-actions .btn-icon,
.hero-home .hero-actions .btn-icon-img{
  margin-right:8px!important;
}

@media(max-width:700px){
  .hero-home .hero-actions .btn,
  .hero-home .hero-actions .btn-contactar,
  .hero-home .hero-actions .btn-proyectos{
    min-width:180px!important;
    height:38px!important;
    min-height:38px!important;
    padding:8px 22px!important;
  }
}


/* v132: quitar columna de ubicación del footer */
.footer-grid{
  grid-template-columns:1.2fr .85fr .95fr!important;
}

@media(max-width:980px){
  .footer-grid{
    grid-template-columns:1fr 1fr!important;
  }
}

@media(max-width:640px){
  .footer-grid{
    grid-template-columns:1fr!important;
  }
}


/* v133: Banner y política de cookies */
.cookie-banner{
  position:fixed!important;
  left:24px!important;
  right:24px!important;
  bottom:22px!important;
  z-index:80!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:center!important;
  padding:18px 20px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(15,23,42,.10)!important;
  box-shadow:0 18px 50px rgba(15,23,42,.18)!important;
  backdrop-filter:blur(12px)!important;
  max-width:1080px!important;
  margin:0 auto!important;
}

.cookie-banner[hidden],
.cookie-modal[hidden]{
  display:none!important;
}

.cookie-banner-text strong{
  display:block!important;
  margin:0 0 4px!important;
  color:#172535!important;
  font-size:.98rem!important;
  line-height:1.15!important;
}

.cookie-banner-text p{
  margin:0!important;
  color:#52606f!important;
  font-size:.86rem!important;
  line-height:1.45!important;
}

.cookie-banner-actions,
.cookie-modal-actions{
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}

.cookie-btn{
  border-radius:12px!important;
  border:1px solid rgba(23,37,53,.16)!important;
  padding:10px 15px!important;
  font-size:.82rem!important;
  line-height:1!important;
  font-weight:800!important;
  cursor:pointer!important;
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease!important;
}

.cookie-btn:hover{
  transform:translateY(-1px)!important;
}

.cookie-btn-primary{
  background:#f2c411!important;
  border-color:#f2c411!important;
  color:#172535!important;
}

.cookie-btn-ghost{
  background:#ffffff!important;
  color:#172535!important;
}

.cookie-modal{
  position:fixed!important;
  inset:0!important;
  z-index:90!important;
}

.cookie-modal-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(8,15,24,.58)!important;
  backdrop-filter:blur(4px)!important;
}

.cookie-modal-panel{
  position:relative!important;
  z-index:2!important;
  width:min(720px, calc(100% - 36px))!important;
  max-height:calc(100vh - 48px)!important;
  overflow:auto!important;
  margin:24px auto!important;
  padding:28px!important;
  border-radius:26px!important;
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.26)!important;
}

.cookie-close{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  width:36px!important;
  height:36px!important;
  border-radius:999px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#f8fafc!important;
  color:#172535!important;
  font-size:22px!important;
  cursor:pointer!important;
}

.cookie-kicker{
  display:inline-flex!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:rgba(242,196,17,.16)!important;
  color:#172535!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  margin-bottom:12px!important;
}

.cookie-modal-panel h2{
  margin:0 0 18px!important;
  color:#172535!important;
  font-size:1.75rem!important;
  line-height:1.1!important;
  letter-spacing:-.04em!important;
}

.cookie-policy{
  color:#52606f!important;
  font-size:.92rem!important;
  line-height:1.6!important;
}

.cookie-policy .cookie-intro{
  color:#172535!important;
  font-weight:700!important;
}

.cookie-policy h3{
  color:#172535!important;
  font-size:.96rem!important;
  margin:18px 0 6px!important;
  line-height:1.2!important;
}

.cookie-policy p{
  margin:0 0 8px!important;
}

.cookie-policy ul{
  margin:8px 0 10px!important;
  padding-left:20px!important;
}

.cookie-policy a{
  color:#172535!important;
  font-weight:800!important;
  text-decoration:underline!important;
  text-decoration-color:#f2c411!important;
  text-underline-offset:4px!important;
}

.cookie-options{
  display:grid!important;
  gap:10px!important;
  margin:20px 0!important;
}

.cookie-option{
  display:flex!important;
  gap:12px!important;
  align-items:flex-start!important;
  padding:14px!important;
  border-radius:16px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#f8fafc!important;
}

.cookie-option input{
  width:18px!important;
  height:18px!important;
  margin:2px 0 0!important;
  accent-color:#f2c411!important;
}

.cookie-option strong,
.cookie-option small{
  display:block!important;
}

.cookie-option strong{
  color:#172535!important;
  margin-bottom:4px!important;
}

.cookie-option small{
  color:#64748b!important;
  line-height:1.35!important;
}

.footer-cookie-link{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  margin:2px 0 0!important;
  color:rgba(255,255,255,.78)!important;
  font-size:11.7px!important;
  line-height:1.48!important;
  cursor:pointer!important;
  font:inherit!important;
}

.footer-cookie-link:hover{
  color:#f2c411!important;
}

html.cookie-modal-open{
  overflow:hidden!important;
}

html[data-theme="dark"] .cookie-banner{
  background:rgba(20,34,51,.96)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.34)!important;
}

html[data-theme="dark"] .cookie-banner-text strong,
html[data-theme="dark"] .cookie-modal-panel h2,
html[data-theme="dark"] .cookie-policy .cookie-intro,
html[data-theme="dark"] .cookie-policy h3,
html[data-theme="dark"] .cookie-policy a,
html[data-theme="dark"] .cookie-option strong{
  color:#ffffff!important;
}

html[data-theme="dark"] .cookie-banner-text p,
html[data-theme="dark"] .cookie-policy,
html[data-theme="dark"] .cookie-option small{
  color:#c8d2dd!important;
}

html[data-theme="dark"] .cookie-btn-ghost{
  background:rgba(255,255,255,.07)!important;
  color:#ffffff!important;
  border-color:rgba(255,255,255,.14)!important;
}

html[data-theme="dark"] .cookie-modal-panel{
  background:#142233!important;
  border-color:rgba(255,255,255,.12)!important;
}

html[data-theme="dark"] .cookie-close{
  background:rgba(255,255,255,.07)!important;
  color:#ffffff!important;
  border-color:rgba(255,255,255,.12)!important;
}

html[data-theme="dark"] .cookie-option{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,255,255,.10)!important;
}

@media(max-width:720px){
  .cookie-banner{
    grid-template-columns:1fr!important;
    left:14px!important;
    right:14px!important;
    bottom:14px!important;
    padding:16px!important;
  }

  .cookie-banner-actions,
  .cookie-modal-actions{
    justify-content:flex-start!important;
  }

  .cookie-btn{
    flex:1 1 auto!important;
  }

  .cookie-modal-panel{
    padding:22px!important;
    margin:18px auto!important;
    max-height:calc(100vh - 36px)!important;
  }
}


/* v135: footer legal + modales de privacidad y aviso legal */
.footer-legal-link,
.footer-cookie-link{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  color:rgba(255,255,255,.78)!important;
  font-size:11.7px!important;
  line-height:1.48!important;
  cursor:pointer!important;
  font:inherit!important;
  text-align:left!important;
  display:inline-block!important;
}

.footer-legal-link:hover,
.footer-cookie-link:hover{
  color:#f2c411!important;
  transform:translateX(2px)!important;
}

.legal-modal{
  position:fixed!important;
  inset:0!important;
  z-index:92!important;
}

.legal-modal[hidden]{
  display:none!important;
}

.legal-modal-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(8,15,24,.58)!important;
  backdrop-filter:blur(4px)!important;
}

.legal-modal-panel{
  position:relative!important;
  z-index:2!important;
  width:min(760px, calc(100% - 36px))!important;
  max-height:calc(100vh - 48px)!important;
  overflow:auto!important;
  margin:24px auto!important;
  padding:28px!important;
  border-radius:26px!important;
  background:#ffffff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.26)!important;
}

.legal-close{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  width:36px!important;
  height:36px!important;
  border-radius:999px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#f8fafc!important;
  color:#172535!important;
  font-size:22px!important;
  cursor:pointer!important;
}

.legal-modal-panel h2{
  margin:0 0 18px!important;
  color:#172535!important;
  font-size:1.75rem!important;
  line-height:1.1!important;
  letter-spacing:-.04em!important;
}

.legal-policy{
  color:#52606f!important;
  font-size:.92rem!important;
  line-height:1.6!important;
}

.legal-policy h3{
  color:#172535!important;
  font-size:.96rem!important;
  margin:18px 0 6px!important;
  line-height:1.2!important;
}

.legal-policy p{
  margin:0 0 8px!important;
}

.legal-policy a{
  color:#172535!important;
  font-weight:800!important;
  text-decoration:underline!important;
  text-decoration-color:#f2c411!important;
  text-underline-offset:4px!important;
}

html.legal-modal-open{
  overflow:hidden!important;
}

html[data-theme="dark"] .legal-modal-panel{
  background:#142233!important;
  border-color:rgba(255,255,255,.12)!important;
}

html[data-theme="dark"] .legal-close{
  background:rgba(255,255,255,.07)!important;
  color:#ffffff!important;
  border-color:rgba(255,255,255,.12)!important;
}

html[data-theme="dark"] .legal-modal-panel h2,
html[data-theme="dark"] .legal-policy h3,
html[data-theme="dark"] .legal-policy a{
  color:#ffffff!important;
}

html[data-theme="dark"] .legal-policy{
  color:#c8d2dd!important;
}

@media(max-width:720px){
  .legal-modal-panel{
    padding:22px!important;
    margin:18px auto!important;
    max-height:calc(100vh - 36px)!important;
  }
}


/* v136: secciones individuales de servicios para landing/campañas Google Ads */
.service-detail-section{
  position:relative!important;
  overflow:hidden!important;
  padding:70px 0!important;
  border-top:1px solid rgba(43,58,74,.06)!important;
}

.service-detail-section::before{
  content:""!important;
  position:absolute!important;
  right:-140px!important;
  top:-140px!important;
  width:360px!important;
  height:360px!important;
  border-radius:50%!important;
  background:radial-gradient(circle, rgba(242,196,17,.14) 0%, rgba(242,196,17,.06) 36%, rgba(242,196,17,0) 70%)!important;
  pointer-events:none!important;
}

.service-detail-alt::before{
  left:-150px!important;
  right:auto!important;
}

.service-detail-grid{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:1.08fr .92fr!important;
  gap:28px!important;
  align-items:stretch!important;
}

.service-detail-alt .service-detail-grid{
  grid-template-columns:.92fr 1.08fr!important;
}

.service-detail-copy,
.service-detail-panel{
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  border-radius:30px!important;
  box-shadow:0 6px 18px rgba(15,23,42,.045)!important;
}

.service-detail-copy{
  padding:34px!important;
}

.service-detail-panel{
  padding:30px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  position:relative!important;
  overflow:hidden!important;
}

.service-detail-panel::after{
  content:""!important;
  position:absolute!important;
  right:-46px!important;
  bottom:-46px!important;
  width:150px!important;
  height:150px!important;
  border-radius:50%!important;
  background:rgba(242,196,17,.10)!important;
  pointer-events:none!important;
}

.service-detail-panel-highlight{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98))!important;
}

.service-detail-kicker{
  display:inline-flex!important;
  align-items:center!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(242,196,17,.14)!important;
  color:#172535!important;
  font-size:.76rem!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
  margin-bottom:16px!important;
}

.service-detail-copy h2{
  font-size:2.15rem!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
  margin:0 0 18px!important;
  max-width:14ch!important;
  color:var(--ink)!important;
}

.service-detail-copy p{
  font-size:.98rem!important;
  line-height:1.72!important;
  color:var(--muted)!important;
  margin:0 0 18px!important;
  max-width:66ch!important;
}

.service-keywords{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  margin:20px 0 22px!important;
}

.service-keywords span{
  display:inline-flex!important;
  align-items:center!important;
  padding:9px 11px!important;
  border-radius:12px!important;
  background:var(--soft)!important;
  border:1px solid var(--line)!important;
  color:var(--ink)!important;
  font-size:.76rem!important;
  font-weight:700!important;
}

.service-detail-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:20px!important;
}

.service-detail-actions .btn{
  min-height:40px!important;
  height:40px!important;
  padding:9px 24px!important;
  min-width:172px!important;
  font-size:.83rem!important;
}

.service-detail-panel h3{
  margin:0 0 18px!important;
  font-size:1.28rem!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
  color:var(--ink)!important;
}

.service-detail-panel ul{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  gap:12px!important;
}

.service-detail-panel li{
  position:relative!important;
  padding-left:30px!important;
  font-size:.9rem!important;
  line-height:1.48!important;
  color:var(--muted)!important;
  font-weight:600!important;
}

.service-detail-panel li::before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:1px!important;
  width:18px!important;
  height:18px!important;
  border-radius:5px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#ffffff!important;
  color:#28b463!important;
  border:1px solid rgba(40,180,99,.24)!important;
  box-shadow:0 5px 12px rgba(40,180,99,.16)!important;
  font-size:11px!important;
  font-weight:900!important;
}

.service-detail-fv{
  background:linear-gradient(180deg, rgba(248,250,252,.68), rgba(255,255,255,.12))!important;
}

.service-detail-electricidad,
.service-detail-mantenimiento,
.service-detail-tramites{
  background:rgba(248,250,252,.46)!important;
}

.service-detail-ve,
.service-detail-baterias{
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(248,250,252,.54))!important;
}

html[data-theme="dark"] .service-detail-section{
  background:transparent!important;
  border-top-color:rgba(255,255,255,.07)!important;
}

html[data-theme="dark"] .service-detail-copy,
html[data-theme="dark"] .service-detail-panel{
  box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
}

html[data-theme="dark"] .service-detail-panel-highlight{
  background:rgba(43,58,74,.78)!important;
}

html[data-theme="dark"] .service-detail-kicker{
  background:rgba(242,196,17,.16)!important;
  color:#ffffff!important;
}

html[data-theme="dark"] .service-keywords span{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#e8edf3!important;
}

html[data-theme="dark"] .service-detail-panel li{
  color:#d7dde5!important;
}

html[data-theme="dark"] .service-detail-panel li::before{
  background:#1f3144!important;
  color:#41d67d!important;
  border-color:rgba(65,214,125,.28)!important;
  box-shadow:0 5px 12px rgba(65,214,125,.12)!important;
}

@media(max-width:980px){
  .service-detail-section{
    padding:54px 0!important;
  }

  .service-detail-grid,
  .service-detail-alt .service-detail-grid{
    grid-template-columns:1fr!important;
  }

  .service-detail-alt .service-detail-panel{
    order:2!important;
  }

  .service-detail-alt .service-detail-copy{
    order:1!important;
  }

  .service-detail-copy h2{
    max-width:none!important;
    font-size:1.85rem!important;
  }
}

@media(max-width:640px){
  .service-detail-copy,
  .service-detail-panel{
    padding:24px!important;
    border-radius:24px!important;
  }

  .service-detail-copy h2{
    font-size:1.55rem!important;
  }

  .service-detail-actions .btn{
    width:100%!important;
    min-width:0!important;
  }

  .service-keywords span{
    font-size:.72rem!important;
  }
}


/* v138: tarjetas de servicio clicables hacia páginas específicas */
.service-card-inner-link{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  color:inherit!important;
  text-decoration:none!important;
  border-radius:inherit!important;
}

#servicios .services-grid-six > .service-anchor-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease!important;
}

#servicios .services-grid-six > .service-anchor-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 18px 46px rgba(15,23,42,.14)!important;
  border-color:rgba(242,196,17,.42)!important;
}

#servicios .services-grid-six > .service-anchor-card .service-card-inner-link:focus-visible{
  outline:3px solid rgba(242,196,17,.9)!important;
  outline-offset:5px!important;
}

/* v138: páginas individuales de servicio */
.service-page{
  background:var(--bg)!important;
}

.service-page-hero{
  position:relative!important;
  overflow:hidden!important;
  padding:58px 0 74px!important;
  background:
    radial-gradient(circle at 88% 8%, rgba(242,196,17,.22), rgba(242,196,17,0) 30%),
    linear-gradient(180deg, rgba(248,250,252,.72), rgba(255,255,255,.18))!important;
}

.service-page-hero-grid{
  display:grid!important;
  grid-template-columns:1.05fr .95fr!important;
  gap:34px!important;
  align-items:center!important;
}

.service-page-hero-copy{
  position:relative!important;
  z-index:1!important;
}

.service-back-link{
  display:inline-flex!important;
  margin-bottom:18px!important;
  color:var(--muted)!important;
  text-decoration:none!important;
  font-size:.86rem!important;
  font-weight:800!important;
}

.service-back-link:hover{
  color:#f2c411!important;
}

.service-page-kicker{
  display:inline-flex!important;
  align-items:center!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(242,196,17,.15)!important;
  color:#172535!important;
  font-size:.74rem!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  margin-bottom:14px!important;
}

.service-page-hero h1{
  margin:0 0 18px!important;
  color:var(--ink)!important;
  font-size:clamp(2.2rem, 5vw, 4.7rem)!important;
  line-height:.95!important;
  letter-spacing:-.07em!important;
  max-width:12ch!important;
}

.service-page-lead{
  max-width:720px!important;
  margin:0!important;
  color:var(--muted)!important;
  font-size:1.06rem!important;
  line-height:1.75!important;
}

.service-page-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:28px!important;
}

.service-page-actions .btn,
.service-contact-actions .btn{
  min-height:42px!important;
  height:42px!important;
  padding:10px 24px!important;
  min-width:180px!important;
  font-size:.86rem!important;
}

.btn-wa{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
}

.btn-wa img{
  width:19px!important;
  height:19px!important;
  object-fit:contain!important;
}

.service-trust-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  margin-top:22px!important;
}

.service-trust-row span{
  display:inline-flex!important;
  padding:8px 10px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.74)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  color:var(--ink)!important;
  font-size:.75rem!important;
  font-weight:800!important;
}

.service-hero-media{
  position:relative!important;
  min-height:480px!important;
  border-radius:34px!important;
  overflow:hidden!important;
  box-shadow:0 20px 60px rgba(15,23,42,.18)!important;
  border:1px solid rgba(255,255,255,.7)!important;
}

.service-hero-media img{
  width:100%!important;
  height:100%!important;
  min-height:480px!important;
  object-fit:cover!important;
  display:block!important;
}

.service-hero-badge{
  position:absolute!important;
  left:20px!important;
  bottom:20px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.16)!important;
  max-width:260px!important;
}

.service-hero-badge strong,
.service-hero-badge span{
  display:block!important;
}

.service-hero-badge strong{
  color:#172535!important;
  font-size:.92rem!important;
  margin-bottom:4px!important;
}

.service-hero-badge span{
  color:#52606f!important;
  font-size:.78rem!important;
  line-height:1.35!important;
}

.fv-conversion-strip{
  margin-top:-34px!important;
  position:relative!important;
  z-index:3!important;
}

.fv-conversion-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}

.fv-conversion-grid article{
  display:flex!important;
  gap:12px!important;
  align-items:flex-start!important;
  padding:18px!important;
  border-radius:22px!important;
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 10px 30px rgba(15,23,42,.08)!important;
}

.fv-conversion-grid strong{
  min-width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f2c411!important;
  color:#172535!important;
  font-size:.92rem!important;
}

.fv-conversion-grid span{
  color:var(--muted)!important;
  font-size:.88rem!important;
  line-height:1.45!important;
  font-weight:650!important;
}

.service-content-section,
.service-process-section,
.service-info-section,
.service-faq-section,
.service-photo-strip,
.service-contact-block{
  padding:68px 0!important;
}

.service-two-col{
  display:grid!important;
  grid-template-columns:1.1fr .9fr!important;
  gap:28px!important;
  align-items:start!important;
}

.service-rich-text,
.service-benefit-box,
.service-info-card,
.service-contact-card{
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  border-radius:30px!important;
  box-shadow:0 7px 22px rgba(15,23,42,.045)!important;
}

.service-rich-text{
  padding:34px!important;
}

.service-rich-text h2,
.service-section-head h2,
.service-faq-grid h2,
.service-contact-card h2{
  margin:0 0 16px!important;
  color:var(--ink)!important;
  font-size:clamp(1.8rem, 3.2vw, 3rem)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
}

.service-rich-text p,
.service-faq-grid p,
.service-contact-card p{
  color:var(--muted)!important;
  font-size:.98rem!important;
  line-height:1.72!important;
  margin:0 0 16px!important;
}

.service-keyword-cloud{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  margin-top:22px!important;
}

.service-keyword-cloud span{
  display:inline-flex!important;
  padding:9px 11px!important;
  border-radius:13px!important;
  background:var(--soft)!important;
  border:1px solid var(--line)!important;
  color:var(--ink)!important;
  font-size:.76rem!important;
  font-weight:800!important;
}

.service-benefit-box{
  padding:30px!important;
  position:sticky!important;
  top:110px!important;
}

.service-benefit-box h3,
.service-info-card h3{
  margin:0 0 18px!important;
  color:var(--ink)!important;
  font-size:1.28rem!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
}

.service-benefit-box ul{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  gap:13px!important;
}

.service-benefit-box li{
  position:relative!important;
  padding-left:31px!important;
  color:var(--muted)!important;
  line-height:1.48!important;
  font-size:.92rem!important;
  font-weight:650!important;
}

.service-benefit-box li::before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:1px!important;
  width:19px!important;
  height:19px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:6px!important;
  background:#ffffff!important;
  color:#28b463!important;
  border:1px solid rgba(40,180,99,.24)!important;
  box-shadow:0 5px 12px rgba(40,180,99,.16)!important;
  font-size:11px!important;
  font-weight:900!important;
}

.service-photo-strip{
  padding-top:10px!important;
}

.service-photo-grid{
  display:grid!important;
  grid-template-columns:1.15fr .85fr 1fr!important;
  gap:16px!important;
}

.service-photo-grid img{
  width:100%!important;
  height:290px!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:26px!important;
  box-shadow:0 12px 34px rgba(15,23,42,.11)!important;
  border:1px solid rgba(255,255,255,.62)!important;
}

.service-photo-grid img:nth-child(2){
  margin-top:34px!important;
}

.service-section-head{
  max-width:780px!important;
  margin-bottom:26px!important;
}

.service-process-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}

.service-step{
  padding:24px!important;
  border-radius:26px!important;
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 7px 22px rgba(15,23,42,.045)!important;
}

.service-step span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  background:#f2c411!important;
  color:#172535!important;
  font-weight:950!important;
  margin-bottom:18px!important;
}

.service-step h3{
  margin:0 0 10px!important;
  color:var(--ink)!important;
  font-size:1.04rem!important;
  line-height:1.18!important;
}

.service-step p,
.service-info-card p{
  margin:0!important;
  color:var(--muted)!important;
  font-size:.88rem!important;
  line-height:1.58!important;
}

.service-info-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}

.service-info-card{
  padding:26px!important;
}

.service-faq-grid{
  display:grid!important;
  grid-template-columns:.82fr 1.18fr!important;
  gap:30px!important;
  align-items:start!important;
}

.service-faq-item{
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  padding:18px 20px!important;
  margin-bottom:12px!important;
  box-shadow:0 7px 20px rgba(15,23,42,.04)!important;
}

.service-faq-item summary{
  cursor:pointer!important;
  color:var(--ink)!important;
  font-weight:850!important;
  line-height:1.35!important;
}

.service-faq-item p{
  margin:12px 0 0!important;
  color:var(--muted)!important;
  line-height:1.62!important;
  font-size:.9rem!important;
}

.service-contact-card{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:24px!important;
  align-items:center!important;
  padding:32px!important;
  background:
    radial-gradient(circle at 88% 16%, rgba(242,196,17,.18), rgba(242,196,17,0) 38%),
    var(--card)!important;
}

.service-contact-actions{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  min-width:260px!important;
}

html[data-theme="dark"] .service-page-hero{
  background:
    radial-gradient(circle at 88% 8%, rgba(242,196,17,.18), rgba(242,196,17,0) 34%),
    transparent!important;
}

html[data-theme="dark"] .service-page-kicker{
  color:#ffffff!important;
  background:rgba(242,196,17,.16)!important;
}

html[data-theme="dark"] .service-trust-row span,
html[data-theme="dark"] .service-hero-badge{
  background:rgba(20,34,51,.88)!important;
  border-color:rgba(255,255,255,.12)!important;
}

html[data-theme="dark"] .service-hero-badge strong{
  color:#ffffff!important;
}

html[data-theme="dark"] .service-hero-badge span{
  color:#c8d2dd!important;
}

html[data-theme="dark"] .service-keyword-cloud span{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#e8edf3!important;
}

html[data-theme="dark"] .service-benefit-box li::before{
  background:#1f3144!important;
  color:#41d67d!important;
  border-color:rgba(65,214,125,.28)!important;
  box-shadow:0 5px 12px rgba(65,214,125,.12)!important;
}

@media(max-width:1050px){
  .service-page-hero-grid,
  .service-two-col,
  .service-faq-grid,
  .service-contact-card{
    grid-template-columns:1fr!important;
  }

  .service-benefit-box{
    position:relative!important;
    top:auto!important;
  }

  .service-process-grid,
  .service-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .service-contact-actions{
    min-width:0!important;
  }
}

@media(max-width:720px){
  .service-page-hero{
    padding:42px 0 56px!important;
  }

  .service-page-hero h1{
    max-width:none!important;
  }

  .service-hero-media,
  .service-hero-media img{
    min-height:330px!important;
  }

  .fv-conversion-grid,
  .service-process-grid,
  .service-info-grid,
  .service-photo-grid{
    grid-template-columns:1fr!important;
  }

  .service-photo-grid img{
    height:230px!important;
  }

  .service-photo-grid img:nth-child(2){
    margin-top:0!important;
  }

  .service-rich-text,
  .service-benefit-box,
  .service-info-card,
  .service-contact-card{
    padding:24px!important;
    border-radius:24px!important;
  }

  .service-page-actions .btn,
  .service-contact-actions .btn{
    width:100%!important;
    min-width:0!important;
  }
}


/* v139: rediseño específico landing fotovoltaica */
.pv-landing-page{
  background:
    radial-gradient(circle at 92% 6%, rgba(242,196,17,.11), rgba(242,196,17,0) 24%),
    var(--bg)!important;
}

.pv-hero{
  position:relative!important;
  overflow:hidden!important;
  padding:58px 0 44px!important;
  background:
    linear-gradient(180deg, rgba(248,250,252,.76), rgba(255,255,255,0) 100%)!important;
}

.pv-hero::before{
  content:""!important;
  position:absolute!important;
  inset:auto auto -80px -60px!important;
  width:300px!important;
  height:300px!important;
  border-radius:50%!important;
  background:radial-gradient(circle, rgba(23,37,53,.06), rgba(23,37,53,0) 70%)!important;
  pointer-events:none!important;
}

.pv-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;
  gap:24px!important;
  align-items:start!important;
}

.pv-hero-copy{
  padding:8px 0!important;
}

.pv-hero-copy h1{
  margin:0 0 18px!important;
  font-size:clamp(2.5rem, 5.6vw, 5.1rem)!important;
  line-height:.94!important;
  letter-spacing:-.075em!important;
  color:var(--ink)!important;
  max-width:10.4ch!important;
}

.pv-lead{
  margin:0!important;
  max-width:690px!important;
  color:var(--muted)!important;
  font-size:1.06rem!important;
  line-height:1.78!important;
}

.pv-hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:28px!important;
}

.pv-trust-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:24px!important;
  max-width:760px!important;
}

.pv-trust-list span{
  display:inline-flex!important;
  align-items:center!important;
  padding:9px 12px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(23,37,53,.08)!important;
  color:var(--ink)!important;
  font-size:.76rem!important;
  font-weight:820!important;
  box-shadow:0 10px 22px rgba(15,23,42,.05)!important;
}

.pv-contact-panel{
  position:relative!important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96))!important;
  border:1px solid rgba(23,37,53,.08)!important;
  border-radius:34px!important;
  padding:26px!important;
  box-shadow:0 24px 54px rgba(15,23,42,.12)!important;
  overflow:hidden!important;
}

.pv-contact-panel::after{
  content:""!important;
  position:absolute!important;
  top:-42px!important;
  right:-42px!important;
  width:150px!important;
  height:150px!important;
  border-radius:50%!important;
  background:radial-gradient(circle, rgba(242,196,17,.24), rgba(242,196,17,0) 70%)!important;
  pointer-events:none!important;
}

.pv-contact-kicker{
  display:inline-flex!important;
  align-items:center!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:rgba(242,196,17,.14)!important;
  color:#172535!important;
  font-size:.73rem!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
  margin-bottom:12px!important;
}

.pv-contact-top h2{
  margin:0 0 10px!important;
  color:var(--ink)!important;
  font-size:1.95rem!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  max-width:10ch!important;
}

.pv-contact-top p{
  margin:0!important;
  color:var(--muted)!important;
  font-size:.95rem!important;
  line-height:1.65!important;
}

.pv-contact-box{
  margin-top:18px!important;
  padding:18px!important;
  border-radius:24px!important;
  background:rgba(248,250,252,.9)!important;
  border:1px solid rgba(23,37,53,.07)!important;
}

.pv-contact-box strong{
  display:block!important;
  color:var(--ink)!important;
  font-size:.95rem!important;
  margin-bottom:12px!important;
}

.pv-contact-box ul{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  gap:10px!important;
}

.pv-contact-box li{
  position:relative!important;
  padding-left:28px!important;
  color:var(--muted)!important;
  font-size:.9rem!important;
  line-height:1.48!important;
  font-weight:640!important;
}

.pv-contact-box li::before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:1px!important;
  width:18px!important;
  height:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:6px!important;
  background:#ffffff!important;
  color:#28b463!important;
  border:1px solid rgba(40,180,99,.24)!important;
  box-shadow:0 5px 12px rgba(40,180,99,.16)!important;
  font-size:11px!important;
  font-weight:900!important;
}

.pv-contact-buttons{
  display:grid!important;
  gap:10px!important;
  margin-top:18px!important;
}

.pv-contact-buttons .btn{
  width:100%!important;
  min-width:0!important;
}

.pv-proof-strip{
  padding:8px 0 26px!important;
}

.pv-proof-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}

.pv-proof-grid article{
  padding:18px!important;
  border-radius:24px!important;
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 10px 28px rgba(15,23,42,.05)!important;
}

.pv-proof-grid strong{
  display:block!important;
  color:var(--ink)!important;
  font-size:.98rem!important;
  line-height:1.18!important;
  margin-bottom:8px!important;
  letter-spacing:-.02em!important;
}

.pv-proof-grid span{
  color:var(--muted)!important;
  font-size:.86rem!important;
  line-height:1.52!important;
}

.pv-overview,
.pv-solutions,
.pv-feature,
.pv-process,
.pv-gallery,
.pv-faq,
.pv-final-cta{
  padding:68px 0!important;
}

.pv-overview-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)!important;
  gap:24px!important;
  align-items:start!important;
}

.pv-overview-copy{
  padding:34px!important;
  border-radius:32px!important;
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.05)!important;
}

.pv-overview-copy h2{
  margin:0 0 16px!important;
  color:var(--ink)!important;
  font-size:clamp(1.9rem, 3.4vw, 3.15rem)!important;
  line-height:1.02!important;
  letter-spacing:-.06em!important;
  max-width:13ch!important;
}

.pv-overview-copy p{
  margin:0 0 14px!important;
  color:var(--muted)!important;
  font-size:.98rem!important;
  line-height:1.75!important;
}

.pv-keyword-cloud{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  margin-top:24px!important;
}

.pv-keyword-cloud span{
  display:inline-flex!important;
  padding:9px 12px!important;
  border-radius:12px!important;
  background:var(--soft)!important;
  border:1px solid var(--line)!important;
  color:var(--ink)!important;
  font-size:.76rem!important;
  font-weight:780!important;
}

.pv-overview-side{
  display:grid!important;
  gap:14px!important;
}

.pv-side-card{
  padding:24px!important;
  border-radius:28px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98))!important;
  border:1px solid rgba(23,37,53,.08)!important;
  box-shadow:0 14px 32px rgba(15,23,42,.06)!important;
}

.pv-side-card span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  height:40px!important;
  border-radius:14px!important;
  background:#f2c411!important;
  color:#172535!important;
  font-size:.95rem!important;
  font-weight:950!important;
  margin-bottom:16px!important;
}

.pv-side-card h3{
  margin:0 0 8px!important;
  color:var(--ink)!important;
  font-size:1.15rem!important;
  line-height:1.14!important;
}

.pv-side-card p{
  margin:0!important;
  color:var(--muted)!important;
  font-size:.88rem!important;
  line-height:1.58!important;
}

.pv-section-head{
  margin-bottom:24px!important;
}

.pv-solution-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}

.pv-solution-card{
  padding:28px!important;
  border-radius:30px!important;
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.05)!important;
}

.pv-solution-card h3{
  margin:0 0 12px!important;
  color:var(--ink)!important;
  font-size:1.2rem!important;
  line-height:1.12!important;
}

.pv-solution-card p{
  margin:0 0 16px!important;
  color:var(--muted)!important;
  font-size:.91rem!important;
  line-height:1.64!important;
}

.pv-solution-card ul{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  gap:10px!important;
}

.pv-solution-card li{
  position:relative!important;
  padding-left:28px!important;
  color:var(--muted)!important;
  font-size:.88rem!important;
  line-height:1.44!important;
  font-weight:650!important;
}

.pv-solution-card li::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:7px!important;
  width:14px!important;
  height:2px!important;
  border-radius:999px!important;
  background:#f2c411!important;
  box-shadow:8px 0 0 rgba(242,196,17,.42)!important;
}

.pv-feature{
  overflow:hidden!important;
}

.pv-feature-grid{
  display:grid!important;
  grid-template-columns:minmax(280px,.92fr) minmax(0,1.08fr)!important;
  gap:26px!important;
  align-items:center!important;
}

.pv-feature-media{
  position:relative!important;
}

.pv-feature-media img{
  width:100%!important;
  height:560px!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:34px!important;
  box-shadow:0 20px 48px rgba(15,23,42,.14)!important;
}

.pv-media-note{
  position:absolute!important;
  right:18px!important;
  bottom:18px!important;
  max-width:260px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.92)!important;
  color:#172535!important;
  font-size:.82rem!important;
  line-height:1.42!important;
  box-shadow:0 10px 28px rgba(15,23,42,.16)!important;
}

.pv-feature-copy{
  padding:8px 0!important;
}

.pv-feature-copy h2{
  margin:0 0 16px!important;
  color:var(--ink)!important;
  font-size:clamp(1.9rem, 3.2vw, 3rem)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
  max-width:14ch!important;
}

.pv-includes{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}

.pv-includes article{
  padding:22px!important;
  border-radius:24px!important;
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 10px 28px rgba(15,23,42,.05)!important;
}

.pv-includes h3{
  margin:0 0 8px!important;
  color:var(--ink)!important;
  font-size:1.05rem!important;
}

.pv-includes p{
  margin:0!important;
  color:var(--muted)!important;
  font-size:.88rem!important;
  line-height:1.6!important;
}

.pv-process-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}

.pv-step{
  padding:26px!important;
  border-radius:28px!important;
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.05)!important;
}

.pv-step span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  background:#172535!important;
  color:#ffffff!important;
  font-size:.96rem!important;
  font-weight:900!important;
  margin-bottom:16px!important;
}

.pv-step h3{
  margin:0 0 10px!important;
  color:var(--ink)!important;
  font-size:1.05rem!important;
  line-height:1.15!important;
}

.pv-step p{
  margin:0!important;
  color:var(--muted)!important;
  font-size:.88rem!important;
  line-height:1.6!important;
}

.pv-gallery-grid{
  display:grid!important;
  grid-template-columns:1.05fr .95fr 1.1fr!important;
  gap:16px!important;
}

.pv-gallery-grid img{
  width:100%!important;
  height:300px!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:28px!important;
  box-shadow:0 14px 34px rgba(15,23,42,.10)!important;
}

.pv-gallery-grid img:nth-child(2){
  margin-top:34px!important;
}

.pv-faq-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;
  gap:28px!important;
  align-items:start!important;
}

.pv-faq-grid h2{
  margin:0 0 16px!important;
  color:var(--ink)!important;
  font-size:clamp(1.9rem, 3.2vw, 2.9rem)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
  max-width:12ch!important;
}

.pv-faq-grid p{
  margin:0!important;
  color:var(--muted)!important;
  font-size:.97rem!important;
  line-height:1.7!important;
}

.pv-faq-list details{
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  padding:18px 20px!important;
  box-shadow:0 10px 24px rgba(15,23,42,.04)!important;
  margin-bottom:12px!important;
}

.pv-faq-list summary{
  cursor:pointer!important;
  color:var(--ink)!important;
  font-size:.95rem!important;
  font-weight:860!important;
  line-height:1.38!important;
}

.pv-faq-list p{
  margin:12px 0 0!important;
  color:var(--muted)!important;
  font-size:.9rem!important;
  line-height:1.64!important;
}

.pv-final-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:24px!important;
  align-items:center!important;
  padding:34px!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 88% 14%, rgba(242,196,17,.20), rgba(242,196,17,0) 36%),
    var(--card)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.07)!important;
}

.pv-final-card h2{
  margin:0 0 14px!important;
  color:var(--ink)!important;
  font-size:clamp(2rem, 3.8vw, 3.2rem)!important;
  line-height:1!important;
  letter-spacing:-.06em!important;
  max-width:12ch!important;
}

.pv-final-card p{
  margin:0!important;
  color:var(--muted)!important;
  font-size:.99rem!important;
  line-height:1.72!important;
  max-width:690px!important;
}

.pv-final-actions{
  display:grid!important;
  gap:10px!important;
  min-width:270px!important;
}

.pv-final-actions .btn{
  width:100%!important;
  min-width:0!important;
}

html[data-theme="dark"] .pv-hero{
  background:
    radial-gradient(circle at 88% 8%, rgba(242,196,17,.16), rgba(242,196,17,0) 30%),
    transparent!important;
}

html[data-theme="dark"] .pv-contact-panel{
  background:linear-gradient(180deg, rgba(20,34,51,.96), rgba(24,40,58,.94))!important;
  border-color:rgba(255,255,255,.12)!important;
}

html[data-theme="dark"] .pv-contact-kicker,
html[data-theme="dark"] .pv-trust-list span{
  color:#ffffff!important;
}

html[data-theme="dark"] .pv-contact-box,
html[data-theme="dark"] .pv-side-card{
  background:rgba(255,255,255,.04)!important;
  border-color:rgba(255,255,255,.10)!important;
}

html[data-theme="dark"] .pv-media-note{
  background:rgba(20,34,51,.92)!important;
  color:#ffffff!important;
}

html[data-theme="dark"] .pv-keyword-cloud span{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#edf3f8!important;
}

html[data-theme="dark"] .pv-step span{
  background:#f2c411!important;
  color:#172535!important;
}

@media(max-width:1100px){
  .pv-hero-grid,
  .pv-overview-grid,
  .pv-feature-grid,
  .pv-faq-grid,
  .pv-final-card{
    grid-template-columns:1fr!important;
  }

  .pv-proof-grid,
  .pv-solution-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .pv-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .pv-final-actions{
    min-width:0!important;
  }
}

@media(max-width:760px){
  .pv-hero{
    padding:40px 0 28px!important;
  }

  .pv-hero-copy h1,
  .pv-overview-copy h2,
  .pv-feature-copy h2,
  .pv-faq-grid h2,
  .pv-final-card h2{
    max-width:none!important;
  }

  .pv-proof-grid,
  .pv-solution-grid,
  .pv-process-grid,
  .pv-gallery-grid,
  .pv-includes{
    grid-template-columns:1fr!important;
  }

  .pv-gallery-grid img{
    height:220px!important;
  }

  .pv-gallery-grid img:nth-child(2){
    margin-top:0!important;
  }

  .pv-feature-media img{
    height:340px!important;
  }

  .pv-overview-copy,
  .pv-contact-panel,
  .pv-solution-card,
  .pv-step,
  .pv-final-card{
    padding:22px!important;
    border-radius:24px!important;
  }

  .pv-contact-top h2{
    max-width:none!important;
    font-size:1.6rem!important;
  }

  .pv-final-actions,
  .pv-hero-actions{
    display:grid!important;
  }

  .pv-hero-actions .btn,
  .pv-final-actions .btn{
    width:100%!important;
  }
}


/* v141: teléfono visible junto al icono de WhatsApp y selector idioma/tema más juntos */
.header-contact-links .header-whatsapp{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:6px 9px!important;
  min-width:auto!important;
}

.header-contact-links .header-whatsapp .whatsapp-img{
  width:22px!important;
  height:22px!important;
  object-fit:contain!important;
  flex:0 0 auto!important;
}

.header-contact-links .header-whatsapp .contact-label,
.header-contact-links .header-whatsapp .whatsapp-phone-text{
  position:static!important;
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
  white-space:nowrap!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  color:inherit!important;
  font-size:.82rem!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:-.01em!important;
}

.lang-switch{
  margin-left:4px!important;
  margin-right:2px!important;
  gap:2px!important;
  padding-left:4px!important;
  padding-right:4px!important;
}

.theme-toggle{
  margin-left:2px!important;
}

.nav{
  column-gap:10px!important;
}

@media(max-width:760px){
  .header-contact-links .header-whatsapp .contact-label,
  .header-contact-links .header-whatsapp .whatsapp-phone-text{
    display:none!important;
  }

  .lang-switch{
    margin-left:2px!important;
    margin-right:0!important;
  }

  .theme-toggle{
    margin-left:0!important;
  }
}


/* v142: WhatsApp con teléfono fuera del icono + controles más juntos */
.header-contact-links .header-whatsapp{
  width:auto!important;
  height:auto!important;
  min-width:auto!important;
  padding:0!important;
  border:none!important;
  background:transparent!important;
  overflow:visible!important;
  gap:7px!important;
  box-shadow:none!important;
}

.header-contact-links .header-whatsapp:hover{
  transform:none!important;
  background:transparent!important;
}

.header-contact-links .header-whatsapp .whatsapp-badge{
  width:38px!important;
  height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  background:rgba(255,255,255,.10)!important;
  transition:transform .18s ease, border-color .18s ease, background .18s ease!important;
  flex:0 0 auto!important;
}

.header-contact-links .header-whatsapp:hover .whatsapp-badge{
  transform:translateY(-2px)!important;
  border-color:#f2c411!important;
  background:rgba(255,255,255,.14)!important;
}

.header-contact-links .header-whatsapp .whatsapp-img{
  width:22px!important;
  height:22px!important;
  object-fit:contain!important;
  display:block!important;
}

.header-contact-links .header-whatsapp .whatsapp-inline-text,
.header-contact-links .header-whatsapp .contact-inline-text{
  display:inline-flex!important;
  align-items:center!important;
  color:#ffffff!important;
  font-size:.84rem!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
  letter-spacing:-.01em!important;
}

.lang-switch{
  margin-left:3px!important;
  margin-right:0!important;
  gap:2px!important;
  padding:0 6px!important;
}

.nav > .lang-switch + .theme-toggle,
.theme-toggle{
  margin-left:2px!important;
}

@media(max-width:760px){
  .header-contact-links .header-whatsapp .whatsapp-inline-text,
  .header-contact-links .header-whatsapp .contact-inline-text{
    display:none!important;
  }

  .lang-switch{
    margin-left:1px!important;
    margin-right:0!important;
    padding:0 5px!important;
  }

  .nav > .lang-switch + .theme-toggle,
  .theme-toggle{
    margin-left:1px!important;
  }
}


/* v143: idioma y día/noche todavía más juntos */
.nav{
  column-gap:4px!important;
  gap:4px!important;
}

.lang-switch{
  margin-left:0!important;
  margin-right:-5px!important;
  padding-left:5px!important;
  padding-right:5px!important;
}

.nav > .lang-switch + .theme-toggle,
.theme-toggle{
  margin-left:0!important;
  transform:translateX(-2px)!important;
}

.theme-toggle:hover{
  transform:translateX(-2px) translateY(-2px)!important;
}

@media(max-width:760px){
  .nav{
    column-gap:3px!important;
    gap:3px!important;
  }

  .lang-switch{
    margin-right:-4px!important;
  }

  .nav > .lang-switch + .theme-toggle,
  .theme-toggle{
    transform:translateX(-2px)!important;
  }
}


/* v144: responsive tablet y móvil */
html,
body{
  max-width:100%!important;
  overflow-x:hidden!important;
}

img,
video,
canvas,
svg{
  max-width:100%!important;
}

@media(max-width:1180px){
  .wrap{
    width:min(100% - 32px, 1120px)!important;
  }

  .site-header .nav,
  .topbar .nav{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }

  .logo.logo-word img{
    max-width:168px!important;
    height:auto!important;
  }

  .menu{
    order:10!important;
    flex:1 0 100%!important;
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    gap:10px!important;
    padding-top:8px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    white-space:nowrap!important;
  }

  .menu::-webkit-scrollbar{
    display:none!important;
  }

  .menu a{
    flex:0 0 auto!important;
  }

  .header-contact-links{
    margin-left:auto!important;
    gap:7px!important;
  }

  .header-email-copy{
    display:none!important;
  }
}

@media(max-width:980px){
  .hero-modern-grid,
  .hero-home .hero-modern-grid,
  .about-showcase,
  .service-page-hero-grid,
  .service-two-col,
  .service-faq-grid,
  .service-contact-card,
  .pv-hero-grid,
  .pv-overview-grid,
  .pv-feature-grid,
  .pv-faq-grid,
  .pv-final-card{
    grid-template-columns:1fr!important;
  }

  .hero-modern-copy,
  .page-hero-copy{
    max-width:none!important;
  }

  .hero-modern-title,
  .hero-home .hero-modern-title{
    font-size:clamp(2.35rem, 9vw, 4.1rem)!important;
  }

  .hero-modern .lead,
  .hero-home .lead{
    max-width:none!important;
  }

  .hero-modern-media,
  .hero-media,
  .hero-image{
    width:100%!important;
  }

  .projects-shell,
  .ortek-projects-carousel{
    max-width:100%!important;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:24px!important;
  }

  .footer-brand{
    grid-column:1 / -1!important;
  }
}

@media(max-width:820px){
  .wrap{
    width:min(100% - 24px, 1120px)!important;
  }

  .site-header .nav,
  .topbar .nav{
    justify-content:space-between!important;
    gap:6px!important;
  }

  .logo.logo-word img{
    max-width:142px!important;
  }

  .header-contact-links{
    gap:5px!important;
    margin-left:0!important;
  }

  .header-icon-link,
  .header-contact-links .header-whatsapp .whatsapp-badge{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
  }

  .header-contact-links .header-whatsapp .whatsapp-img{
    width:20px!important;
    height:20px!important;
  }

  .header-phone-art .contact-inline-text,
  .header-contact-links .header-whatsapp .whatsapp-inline-text,
  .header-contact-links .header-whatsapp .contact-inline-text{
    display:none!important;
  }

  .header-email-group{
    display:none!important;
  }

  .lang-switch{
    height:32px!important;
    padding:0 6px!important;
    margin-left:0!important;
    margin-right:-3px!important;
    font-size:10.5px!important;
  }

  .lang-link{
    font-size:10.5px!important;
  }

  .theme-toggle{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    font-size:15px!important;
    transform:none!important;
  }

  .theme-toggle:hover{
    transform:translateY(-1px)!important;
  }

  .menu{
    justify-content:flex-start!important;
    gap:8px!important;
    padding:7px 0 2px!important;
  }

  .menu a{
    padding:8px 10px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.07)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    font-size:.78rem!important;
  }

  .section,
  .onepage-section,
  .service-content-section,
  .service-process-section,
  .service-info-section,
  .service-faq-section,
  .service-photo-strip,
  .service-contact-block,
  .pv-overview,
  .pv-solutions,
  .pv-feature,
  .pv-process,
  .pv-gallery,
  .pv-faq,
  .pv-final-cta{
    padding-top:48px!important;
    padding-bottom:48px!important;
  }

  .page-hero,
  .page-hero-modern{
    padding-top:42px!important;
    padding-bottom:28px!important;
  }

  .services-grid-six{
    gap:18px!important;
  }

  #servicios .services-grid-six > .service-anchor-card .card-img{
    height:170px!important;
    min-height:170px!important;
  }

  .ortek-project-card,
  .project-card{
    min-width:calc(50% - 10px)!important;
  }

  .about-values,
  .service-process-grid,
  .service-info-grid,
  .pv-proof-grid,
  .pv-solution-grid,
  .pv-process-grid,
  .pv-gallery-grid,
  .fv-conversion-grid,
  .service-photo-grid{
    grid-template-columns:1fr!important;
  }

  .pv-gallery-grid img:nth-child(2),
  .service-photo-grid img:nth-child(2){
    margin-top:0!important;
  }
}

@media(max-width:620px){
  .wrap{
    width:min(100% - 20px, 1120px)!important;
  }

  .site-header .nav,
  .topbar .nav{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .logo.logo-word img{
    max-width:126px!important;
  }

  .header-contact-links{
    order:2!important;
  }

  .lang-switch{
    order:3!important;
  }

  .theme-toggle{
    order:4!important;
  }

  .menu{
    order:10!important;
  }

  .hero-home .hero-actions,
  .hero-modern .hero-actions,
  .service-page-actions,
  .service-detail-actions,
  .pv-hero-actions,
  .pv-contact-buttons,
  .pv-final-actions,
  .service-contact-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }

  .hero-home .hero-actions .btn,
  .hero-home .hero-actions .btn-contactar,
  .hero-home .hero-actions .btn-proyectos,
  .service-page-actions .btn,
  .pv-hero-actions .btn,
  .pv-contact-buttons .btn,
  .pv-final-actions .btn,
  .service-contact-actions .btn{
    width:100%!important;
    min-width:0!important;
  }

  .hero-modern-title,
  .hero-home .hero-modern-title,
  .page-title,
  .service-page-hero h1,
  .pv-hero-copy h1{
    max-width:none!important;
    font-size:clamp(2rem, 11vw, 3.15rem)!important;
    line-height:1!important;
  }

  .lead,
  .hero-modern .lead,
  .hero-home .lead,
  .service-page-lead,
  .pv-lead{
    font-size:.96rem!important;
    line-height:1.65!important;
  }

  .hero-modern-card,
  .hero-image-card,
  .about-main-card,
  .about-visual-card,
  .service-rich-text,
  .service-benefit-box,
  .service-info-card,
  .service-contact-card,
  .pv-overview-copy,
  .pv-contact-panel,
  .pv-solution-card,
  .pv-step,
  .pv-final-card,
  .cookie-modal-panel,
  .legal-modal-panel{
    border-radius:22px!important;
    padding:22px!important;
  }

  .photo-badge,
  .about-visual-badge,
  .service-hero-badge,
  .pv-media-note{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    max-width:none!important;
  }

  .hero-modern-img,
  .hero-image-card img,
  .about-visual-card img,
  .service-hero-media,
  .service-hero-media img,
  .pv-feature-media img{
    min-height:260px!important;
    height:260px!important;
  }

  .ortek-project-card,
  .project-card{
    min-width:100%!important;
  }

  .footer-grid{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }

  .footer,
  .footer p,
  .footer a,
  .footer-legal-link{
    text-align:left!important;
  }

  .cookie-banner{
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    padding:14px!important;
    border-radius:18px!important;
  }

  .cookie-banner-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }

  .cookie-btn{
    width:100%!important;
  }
}

@media(max-width:420px){
  .logo.logo-word img{
    max-width:112px!important;
  }

  .header-icon-link,
  .header-contact-links .header-whatsapp .whatsapp-badge,
  .theme-toggle{
    width:31px!important;
    height:31px!important;
    min-width:31px!important;
  }

  .header-contact-links{
    gap:4px!important;
  }

  .lang-switch{
    height:31px!important;
    padding:0 5px!important;
  }

  .menu a{
    font-size:.74rem!important;
    padding:7px 9px!important;
  }

  .hero-modern-title,
  .hero-home .hero-modern-title,
  .page-title,
  .service-page-hero h1,
  .pv-hero-copy h1{
    font-size:clamp(1.85rem, 12vw, 2.7rem)!important;
  }
}


/* v145: Inicio - botones más estrechos y texto centrado sin contar el icono */
.hero-home .hero-actions{
  justify-content:flex-start!important;
  gap:10px!important;
}

.hero-home .hero-actions .btn,
.hero-home .hero-actions .btn-contactar,
.hero-home .hero-actions .btn-proyectos{
  min-width:158px!important;
  width:158px!important;
  max-width:158px!important;
  padding:9px 18px!important;
  min-height:40px!important;
  height:40px!important;
  border-radius:12px!important;
  font-size:13.5px!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  position:relative!important;
}

.hero-home .hero-actions .btn-contactar{
  padding-left:18px!important;
  padding-right:18px!important;
}

.hero-home .hero-actions .btn-contactar img,
.hero-home .hero-actions .btn-contactar .whatsapp-img,
.hero-home .hero-actions .btn-contactar .btn-icon{
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:18px!important;
  height:18px!important;
  object-fit:contain!important;
  margin:0!important;
  flex:0 0 auto!important;
}

.hero-home .hero-actions .btn-contactar span,
.hero-home .hero-actions .btn-proyectos span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  text-align:center!important;
}

@media(max-width:620px){
  .hero-home .hero-actions{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    width:100%!important;
  }

  .hero-home .hero-actions .btn,
  .hero-home .hero-actions .btn-contactar,
  .hero-home .hero-actions .btn-proyectos{
    width:calc(50% - 5px)!important;
    max-width:none!important;
    min-width:0!important;
  }
}

@media(max-width:420px){
  .hero-home .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .hero-home .hero-actions .btn,
  .hero-home .hero-actions .btn-contactar,
  .hero-home .hero-actions .btn-proyectos{
    width:100%!important;
  }
}


/* v146: botones de inicio centrados respecto al bloque de texto */
.hero-home .hero-actions{
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  max-width:520px!important;
  margin-left:0!important;
  margin-right:auto!important;
  gap:12px!important;
}

.hero-home .hero-actions .btn,
.hero-home .hero-actions .btn-contactar,
.hero-home .hero-actions .btn-proyectos{
  min-width:158px!important;
  width:158px!important;
  max-width:158px!important;
  padding-left:18px!important;
  padding-right:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

.hero-home .hero-actions .btn-contactar span,
.hero-home .hero-actions .btn-proyectos span{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  text-align:center!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
}

.hero-home .hero-actions .btn-contactar img,
.hero-home .hero-actions .btn-contactar .whatsapp-img,
.hero-home .hero-actions .btn-contactar .btn-icon{
  position:absolute!important;
  left:15px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:18px!important;
  height:18px!important;
  object-fit:contain!important;
  margin:0!important;
}

.hero-home .hero-actions .btn-proyectos{
  position:relative!important;
}

@media(max-width:980px){
  .hero-home .hero-actions{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media(max-width:620px){
  .hero-home .hero-actions{
    max-width:360px!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .hero-home .hero-actions .btn,
  .hero-home .hero-actions .btn-contactar,
  .hero-home .hero-actions .btn-proyectos{
    width:158px!important;
    max-width:158px!important;
    min-width:158px!important;
  }
}

@media(max-width:420px){
  .hero-home .hero-actions{
    max-width:260px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .hero-home .hero-actions .btn,
  .hero-home .hero-actions .btn-contactar,
  .hero-home .hero-actions .btn-proyectos{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
}


/* v147: centrar el texto real dentro de los botones de Inicio */
.hero-home .hero-actions .btn,
.hero-home .hero-actions .btn-contactar,
.hero-home .hero-actions .btn-proyectos{
  box-sizing:border-box!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

.hero-home .hero-actions .hero-btn-text,
.hero-home .hero-actions .btn-contactar .hero-btn-text,
.hero-home .hero-actions .btn-proyectos .hero-btn-text{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:100%!important;
  margin:0!important;
  padding:0 12px!important;
  box-sizing:border-box!important;
  display:block!important;
  text-align:center!important;
  line-height:1!important;
  pointer-events:none!important;
}

.hero-home .hero-actions .btn-proyectos{
  padding-left:18px!important;
  padding-right:18px!important;
}

.hero-home .hero-actions .btn-proyectos .hero-btn-text{
  padding-left:12px!important;
  padding-right:12px!important;
}

.hero-home .hero-actions .btn-contactar .hero-btn-text{
  padding-left:36px!important;
  padding-right:12px!important;
}


/* v148: nuevo formato técnico de proyectos */
.ortek-project-card.project-format-card{
  min-height:100%!important;
}

.ortek-project-card.project-format-card .ortek-project-body{
  display:flex!important;
  flex-direction:column!important;
  gap:13px!important;
  padding:18px!important;
}

.project-card-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin-bottom:2px!important;
}

.project-location{
  display:inline-flex!important;
  align-items:center!important;
  color:var(--ink)!important;
  font-size:.98rem!important;
  font-weight:900!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
}

.project-type{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:24px!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:rgba(242,196,17,.16)!important;
  border:1px solid rgba(242,196,17,.28)!important;
  color:#172535!important;
  font-size:.68rem!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.project-main-data{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  padding:12px!important;
  border-radius:16px!important;
  background:rgba(248,250,252,.86)!important;
  border:1px solid rgba(15,23,42,.07)!important;
}

.project-main-data div{
  display:grid!important;
  gap:3px!important;
}

.project-main-data small{
  color:var(--muted)!important;
  font-size:.66rem!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  line-height:1!important;
  text-transform:uppercase!important;
}

.project-main-data strong{
  color:var(--ink)!important;
  font-size:.84rem!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:-.015em!important;
}

.project-description{
  color:var(--muted)!important;
  font-size:.84rem!important;
  line-height:1.56!important;
  margin:0!important;
  min-height:78px!important;
}

.project-specs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:auto!important;
  padding-top:2px!important;
}

.project-specs span{
  display:inline-flex!important;
  align-items:center!important;
  padding:7px 8px!important;
  border-radius:10px!important;
  background:var(--soft)!important;
  border:1px solid var(--line)!important;
  color:var(--ink)!important;
  font-size:.69rem!important;
  font-weight:760!important;
  line-height:1!important;
}

.project-kind-ve .project-type{
  background:rgba(43,58,74,.10)!important;
  border-color:rgba(43,58,74,.16)!important;
}

.project-kind-electric .project-type{
  background:rgba(40,180,99,.12)!important;
  border-color:rgba(40,180,99,.22)!important;
}

.project-kind-maintenance .project-type{
  background:rgba(100,116,139,.12)!important;
  border-color:rgba(100,116,139,.20)!important;
}

html[data-theme="dark"] .project-type{
  color:#ffffff!important;
  background:rgba(242,196,17,.15)!important;
  border-color:rgba(242,196,17,.22)!important;
}

html[data-theme="dark"] .project-main-data{
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.10)!important;
}

html[data-theme="dark"] .project-specs span{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#e8edf3!important;
}

@media(max-width:820px){
  .project-description{
    min-height:0!important;
  }
}


/* v149: proyectos en formato líneas, sin recuadros internos */
.ortek-project-card.project-format-card .ortek-project-body{
  gap:8px!important;
  padding:15px 16px 16px!important;
}

.project-card-head{
  align-items:flex-start!important;
  border-bottom:1px solid var(--line)!important;
  padding-bottom:8px!important;
  margin-bottom:2px!important;
}

.project-location{
  font-size:.92rem!important;
  font-weight:900!important;
}

.project-type{
  background:transparent!important;
  border:none!important;
  border-radius:0!important;
  padding:0!important;
  min-height:auto!important;
  color:var(--muted)!important;
  font-size:.66rem!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
}

.project-kind-ve .project-type,
.project-kind-electric .project-type,
.project-kind-maintenance .project-type,
html[data-theme="dark"] .project-type{
  background:transparent!important;
  border:none!important;
  color:var(--muted)!important;
}

.project-main-data{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  border:none!important;
}

.project-main-data div{
  display:grid!important;
  grid-template-columns:74px 1fr!important;
  align-items:start!important;
  gap:10px!important;
  padding:7px 0!important;
  border-bottom:1px solid var(--line)!important;
}

.project-main-data small{
  font-size:.60rem!important;
  letter-spacing:.055em!important;
  line-height:1.25!important;
  color:var(--muted)!important;
}

.project-main-data strong{
  font-size:.76rem!important;
  line-height:1.25!important;
  font-weight:780!important;
  color:var(--ink)!important;
}

.project-description{
  min-height:0!important;
  margin:0!important;
  padding:7px 0 9px!important;
  border-bottom:1px solid var(--line)!important;
  font-size:.77rem!important;
  line-height:1.48!important;
  color:var(--muted)!important;
}

.project-specs{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  margin-top:0!important;
  padding-top:0!important;
}

.project-specs span{
  display:block!important;
  padding:6px 0!important;
  border-radius:0!important;
  background:transparent!important;
  border:none!important;
  border-bottom:1px solid var(--line)!important;
  color:var(--ink)!important;
  font-size:.70rem!important;
  font-weight:720!important;
  line-height:1.25!important;
}

.project-specs span::before{
  content:"— "!important;
  color:#f2c411!important;
  font-weight:900!important;
}

.project-specs span:last-child{
  border-bottom:none!important;
}

html[data-theme="dark"] .project-main-data,
html[data-theme="dark"] .project-specs span{
  background:transparent!important;
  border-color:rgba(255,255,255,.09)!important;
}

html[data-theme="dark"] .project-card-head,
html[data-theme="dark"] .project-main-data div,
html[data-theme="dark"] .project-description{
  border-color:rgba(255,255,255,.09)!important;
}

html[data-theme="dark"] .project-specs span{
  color:#e8edf3!important;
}

@media(max-width:820px){
  .project-main-data div{
    grid-template-columns:68px 1fr!important;
  }

  .project-description{
    font-size:.76rem!important;
  }
}


/* v150: etiquetas de proyectos sin recuadro y con tipografía diferenciada */
.project-main-data{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}

.project-main-data div{
  background:transparent!important;
  border-left:none!important;
  border-right:none!important;
  border-top:none!important;
  box-shadow:none!important;
  border-radius:0!important;
  grid-template-columns:82px 1fr!important;
  padding:6px 0!important;
}

.project-main-data small{
  font-family:Georgia, "Times New Roman", serif!important;
  font-style:italic!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
  font-size:.72rem!important;
  font-weight:500!important;
  color:rgba(82,96,111,.92)!important;
  line-height:1.2!important;
}

.project-main-data strong{
  font-family:Montserrat, Arial, sans-serif!important;
  font-size:.76rem!important;
  font-weight:760!important;
  letter-spacing:-.015em!important;
}

.project-card-head{
  background:transparent!important;
  box-shadow:none!important;
}

.project-type{
  font-family:Georgia, "Times New Roman", serif!important;
  font-style:italic!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
  font-size:.72rem!important;
  font-weight:500!important;
}

.project-specs span{
  font-family:Montserrat, Arial, sans-serif!important;
  letter-spacing:-.005em!important;
}

html[data-theme="dark"] .project-main-data small,
html[data-theme="dark"] .project-type{
  color:rgba(200,210,221,.88)!important;
}

@media(max-width:820px){
  .project-main-data div{
    grid-template-columns:78px 1fr!important;
  }
}


/* v187: mantener estética/fondos v150 + título Inicio más pequeño */
.hero-home h1,
.hero-home .hero-title,
.hero-home .brand-title,
#inicio h1{
  font-size:clamp(2.25rem, 5.2vw, 4.35rem)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
}

@media(max-width:820px){
  .hero-home h1,
  .hero-home .hero-title,
  .hero-home .brand-title,
  #inicio h1{
    font-size:clamp(2rem, 11vw, 3.2rem)!important;
    line-height:.98!important;
  }
}

@media(max-width:520px){
  .hero-home h1,
  .hero-home .hero-title,
  .hero-home .brand-title,
  #inicio h1{
    font-size:clamp(1.8rem, 12vw, 2.65rem)!important;
  }
}


/* v190: títulos más pequeños, uniformes y sin mayúsculas forzadas */
.hero-home h1,
.hero-home .hero-title,
.hero-home .hero-modern-title,
.hero-home .brand-title,
#inicio h1,
#inicio .h1,
#inicio .page-title,
.onepage-section h1,
.onepage-section h2,
.onepage-section .h1,
.onepage-section .h2,
.onepage-section .page-title,
.page-hero h1,
.page-hero h2,
.page-hero .h1,
.page-hero .h2,
.page-hero .page-title,
main.service-page h1,
main.service-page h2,
main.service-page .h1,
main.service-page .h2,
main.service-page .page-title,
.pv-landing-page h1,
.pv-landing-page h2,
.pv-landing-page .h1,
.pv-landing-page .h2,
.pv-landing-page .page-title{
  font-size:clamp(1.9rem, 3.1vw, 2.65rem)!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
}

.hero-home h1,
.hero-home .hero-title,
.hero-home .hero-modern-title,
.hero-home .brand-title,
#inicio h1{
  text-transform:none!important;
}

@media(max-width:820px){
  .hero-home h1,
  .hero-home .hero-title,
  .hero-home .hero-modern-title,
  .hero-home .brand-title,
  #inicio h1,
  #inicio .h1,
  #inicio .page-title,
  .onepage-section h1,
  .onepage-section h2,
  .onepage-section .h1,
  .onepage-section .h2,
  .onepage-section .page-title,
  .page-hero h1,
  .page-hero h2,
  .page-hero .h1,
  .page-hero .h2,
  .page-hero .page-title,
  main.service-page h1,
  main.service-page h2,
  main.service-page .h1,
  main.service-page .h2,
  main.service-page .page-title,
  .pv-landing-page h1,
  .pv-landing-page h2,
  .pv-landing-page .h1,
  .pv-landing-page .h2,
  .pv-landing-page .page-title{
    font-size:clamp(1.65rem, 7vw, 2.15rem)!important;
    line-height:1.07!important;
  }
}


/* v192: desde v190, corregir Ortek Solar y bajar títulos sin tocar fondos */
.logo-inspired-title,
#inicio .logo-inspired-title,
.hero-home .logo-inspired-title{
  display:block!important;
  text-transform:none!important;
  letter-spacing:-.018em!important;
  word-spacing:normal!important;
  gap:0!important;
  font-size:clamp(1.58rem, 2.35vw, 2.05rem)!important;
  line-height:1.08!important;
}

.logo-inspired-title span,
#inicio .logo-inspired-title span,
.hero-home .logo-inspired-title span{
  display:inline!important;
  padding:0!important;
  text-transform:none!important;
  letter-spacing:inherit!important;
}

/* Títulos principales de toda la web al mismo tamaño, un poco más pequeños */
#inicio h1,
#inicio .h1,
#inicio .page-title,
.onepage-section h1,
.onepage-section h2,
.onepage-section .h1,
.onepage-section .h2,
.onepage-section .page-title,
.page-hero h1,
.page-hero h2,
.page-hero .h1,
.page-hero .h2,
.page-hero .page-title,
main.service-page h1,
main.service-page h2,
main.service-page .h1,
main.service-page .h2,
main.service-page .page-title,
.pv-landing-page h1,
.pv-landing-page h2,
.pv-landing-page .h1,
.pv-landing-page .h2,
.pv-landing-page .page-title,
.pv-landing-page .pv-hero h1,
.pv-landing-page .pv-contact-panel h2{
  font-size:clamp(1.58rem, 2.35vw, 2.05rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
}

/* En móvil, todos iguales y más contenidos */
@media(max-width:820px){
  .logo-inspired-title,
  #inicio .logo-inspired-title,
  .hero-home .logo-inspired-title,
  #inicio h1,
  #inicio .h1,
  #inicio .page-title,
  .onepage-section h1,
  .onepage-section h2,
  .onepage-section .h1,
  .onepage-section .h2,
  .onepage-section .page-title,
  .page-hero h1,
  .page-hero h2,
  .page-hero .h1,
  .page-hero .h2,
  .page-hero .page-title,
  main.service-page h1,
  main.service-page h2,
  main.service-page .h1,
  main.service-page .h2,
  main.service-page .page-title,
  .pv-landing-page h1,
  .pv-landing-page h2,
  .pv-landing-page .h1,
  .pv-landing-page .h2,
  .pv-landing-page .page-title,
  .pv-landing-page .pv-hero h1,
  .pv-landing-page .pv-contact-panel h2{
    font-size:clamp(1.42rem, 5.2vw, 1.78rem)!important;
    line-height:1.1!important;
  }
}


/* v193: títulos principales uniformes y más pequeños; Servicios no queda más grande */
.logo-inspired-title,
#inicio .logo-inspired-title,
.hero-home .logo-inspired-title,
#inicio h1,
#inicio .h1,
#inicio .page-title,
#servicios h1,
#servicios h2,
#servicios .h1,
#servicios .h2,
#servicios .page-title,
.onepage-servicios h1,
.onepage-servicios h2,
.onepage-servicios .h1,
.onepage-servicios .h2,
.onepage-servicios .page-title,
#proyectos h1,
#proyectos h2,
#proyectos .h1,
#proyectos .h2,
#projectes h1,
#projectes h2,
#projectes .h1,
#projectes .h2,
#sobre-nosotros h1,
#sobre-nosotros h2,
#sobre-nosotros .h1,
#sobre-nosotros .h2,
#sobre-nosotros .page-title,
#sobre-nosaltres h1,
#sobre-nosaltres h2,
#sobre-nosaltres .h1,
#sobre-nosaltres .h2,
#sobre-nosaltres .page-title,
.page-hero h1,
.page-hero h2,
.page-hero .h1,
.page-hero .h2,
.page-hero .page-title,
main.service-page h1,
main.service-page h2,
main.service-page .h1,
main.service-page .h2,
main.service-page .page-title,
.pv-landing-page h1,
.pv-landing-page h2,
.pv-landing-page .h1,
.pv-landing-page .h2,
.pv-landing-page .page-title,
.pv-landing-page .pv-hero h1,
.pv-landing-page .pv-contact-panel h2{
  font-size:clamp(1.42rem, 2.05vw, 1.82rem)!important;
  line-height:1.1!important;
  letter-spacing:-.022em!important;
  text-transform:none!important;
}

/* Ortek Solar en Inicio: texto normal, sin mayúsculas forzadas ni separación rara */
.logo-inspired-title,
#inicio .logo-inspired-title,
.hero-home .logo-inspired-title{
  display:block!important;
  gap:0!important;
  word-spacing:normal!important;
  white-space:normal!important;
}

.logo-inspired-title span,
#inicio .logo-inspired-title span,
.hero-home .logo-inspired-title span{
  display:inline!important;
  padding:0!important;
  text-transform:none!important;
  letter-spacing:inherit!important;
}

@media(max-width:820px){
  .logo-inspired-title,
  #inicio .logo-inspired-title,
  .hero-home .logo-inspired-title,
  #inicio h1,
  #inicio .h1,
  #inicio .page-title,
  #servicios h1,
  #servicios h2,
  #servicios .h1,
  #servicios .h2,
  #servicios .page-title,
  .onepage-servicios h1,
  .onepage-servicios h2,
  .onepage-servicios .h1,
  .onepage-servicios .h2,
  .onepage-servicios .page-title,
  #proyectos h1,
  #proyectos h2,
  #proyectos .h1,
  #proyectos .h2,
  #projectes h1,
  #projectes h2,
  #projectes .h1,
  #projectes .h2,
  #sobre-nosotros h1,
  #sobre-nosotros h2,
  #sobre-nosotros .h1,
  #sobre-nosotros .h2,
  #sobre-nosotros .page-title,
  #sobre-nosaltres h1,
  #sobre-nosaltres h2,
  #sobre-nosaltres .h1,
  #sobre-nosaltres .h2,
  #sobre-nosaltres .page-title,
  .page-hero h1,
  .page-hero h2,
  .page-hero .h1,
  .page-hero .h2,
  .page-hero .page-title,
  main.service-page h1,
  main.service-page h2,
  main.service-page .h1,
  main.service-page .h2,
  main.service-page .page-title,
  .pv-landing-page h1,
  .pv-landing-page h2,
  .pv-landing-page .h1,
  .pv-landing-page .h2,
  .pv-landing-page .page-title,
  .pv-landing-page .pv-hero h1,
  .pv-landing-page .pv-contact-panel h2{
    font-size:clamp(1.28rem, 4.8vw, 1.58rem)!important;
    line-height:1.12!important;
  }
}

/* v193: cabecero móvil con logo, teléfono, WhatsApp, email, idioma y menú desplegable */
.mobile-menu-toggle{
  display:none!important;
}

@media(max-width:760px){
  .topbar.site-header,
  .site-header.topbar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:99999!important;
    background:#203247!important;
    background-color:#203247!important;
    box-shadow:0 10px 26px rgba(0,0,0,.22)!important;
  }

  body{
    padding-top:146px!important;
  }

  html{
    scroll-padding-top:158px!important;
  }

  .site-header .wrap.nav,
  .topbar .wrap.nav{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    grid-template-areas:
      "logo contacts lang"
      "menuBtn menuBtn menuBtn"
      "menu menu menu"!important;
    align-items:center!important;
    gap:7px 8px!important;
    padding:8px 10px 8px!important;
  }

  .site-header .logo,
  .topbar .logo,
  .site-header .logo-word{
    grid-area:logo!important;
    justify-self:start!important;
    min-width:0!important;
    margin:0!important;
  }

  .site-header .logo img,
  .topbar .logo img,
  .site-header .logo-word img{
    height:auto!important;
    width:auto!important;
    max-width:104px!important;
    max-height:42px!important;
    object-fit:contain!important;
  }

  .site-header .header-contact-links{
    grid-area:contacts!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:5px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .site-header .header-icon-link,
  .site-header .header-email-button,
  .site-header .header-whatsapp .whatsapp-badge{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    border-radius:999px!important;
  }

  .site-header .header-phone{
    width:auto!important;
    min-width:0!important;
    padding:0 7px 0 0!important;
    gap:4px!important;
  }

  .site-header .header-phone .phone-badge{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
  }

  .site-header .contact-gif{
    font-size:14px!important;
  }

  .site-header .contact-inline-text{
    display:inline-flex!important;
    align-items:center!important;
    white-space:nowrap!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:600!important;
  }

  .site-header .header-whatsapp{
    width:28px!important;
    min-width:28px!important;
    padding:0!important;
    gap:0!important;
  }

  .site-header .header-whatsapp .whatsapp-inline-text{
    display:none!important;
  }

  .site-header .whatsapp-img,
  .site-header .header-whatsapp img{
    width:17px!important;
    height:17px!important;
  }

  .site-header .header-email-group{
    display:inline-flex!important;
    align-items:center!important;
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    overflow:visible!important;
  }

  .site-header .header-email-copy{
    display:none!important;
  }

  .site-header .header-email-button{
    display:inline-flex!important;
  }

  .site-header .lang-switch{
    grid-area:lang!important;
    justify-self:end!important;
    display:inline-flex!important;
    height:28px!important;
    padding:0 6px!important;
    gap:3px!important;
    margin:0!important;
    font-size:10px!important;
    white-space:nowrap!important;
  }

  .site-header .lang-link{
    font-size:10px!important;
    padding:1px!important;
  }

  .site-header .theme-toggle{
    display:none!important;
  }

  .mobile-menu-toggle{
    grid-area:menuBtn!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    height:34px!important;
    padding:0 12px!important;
    border-radius:10px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    background:rgba(255,255,255,.08)!important;
    color:#ffffff!important;
    font-family:Montserrat, Arial, sans-serif!important;
    font-size:12px!important;
    font-weight:700!important;
    cursor:pointer!important;
  }

  .mobile-menu-icon{
    color:#f2c411!important;
    font-size:16px!important;
    line-height:1!important;
  }

  .site-header .menu{
    grid-area:menu!important;
    display:none!important;
    width:100%!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    margin:0!important;
    padding:6px!important;
    border-radius:12px!important;
    background:rgba(5,11,31,.95)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 12px 26px rgba(0,0,0,.24)!important;
  }

  .site-header.mobile-nav-open .menu{
    display:flex!important;
  }

  .site-header .menu a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    padding:10px 8px!important;
    border-radius:9px!important;
    color:#ffffff!important;
    font-size:13px!important;
    font-weight:600!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  .site-header .menu a:hover,
  .site-header .menu a.active{
    color:#f2c411!important;
    background:rgba(255,255,255,.06)!important;
  }

  .site-header .menu a.active:after{
    display:none!important;
  }
}

@media(max-width:390px){
  .site-header .logo img,
  .topbar .logo img,
  .site-header .logo-word img{
    max-width:94px!important;
    max-height:38px!important;
  }

  .site-header .header-phone .contact-inline-text{
    font-size:9.4px!important;
  }

  .site-header .wrap.nav,
  .topbar .wrap.nav{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:6px 5px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
}


/* v194: modo noche por defecto reforzado sin cambiar fondo v150 */
html[data-theme="dark"] body{
  color:var(--ink)!important;
}

/* v194: logo más pequeño en versión web */
.site-header .logo img,
.topbar .logo img,
.site-header .logo-word img{
  max-height:48px!important;
  height:auto!important;
  width:auto!important;
}

/* v194: selector de idioma como botón desplegable */
.lang-switch.lang-dropdown{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  isolation:isolate!important;
}

.lang-current{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-height:34px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.08)!important;
  color:#ffffff!important;
  font-family:Montserrat, Arial, sans-serif!important;
  font-size:12px!important;
  font-weight:750!important;
  cursor:pointer!important;
}

.lang-arrow{
  color:#f2c411!important;
  font-size:10px!important;
  line-height:1!important;
}

.lang-options{
  display:none!important;
  position:absolute!important;
  top:calc(100% + 8px)!important;
  right:0!important;
  min-width:86px!important;
  padding:6px!important;
  border-radius:12px!important;
  background:rgba(5,11,31,.97)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.28)!important;
  z-index:100002!important;
}

.lang-dropdown.lang-open .lang-options{
  display:grid!important;
  gap:4px!important;
}

.lang-options .lang-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  padding:5px 9px!important;
  border-radius:9px!important;
  color:#ffffff!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
}

.lang-options .lang-link:hover,
.lang-options .lang-link.active{
  color:#172535!important;
  background:#f2c411!important;
}

.lang-sep{
  display:none!important;
}

/* v194: email del cabecero abre gestor de correo */
.header-email-group a{
  text-decoration:none!important;
}

.header-email-button{
  cursor:pointer!important;
}

/* v194: menos espacio bajo cabecera y anclas precisas */
html{
  scroll-padding-top:86px!important;
}

#inicio,
#servicios,
#proyectos,
#sobre-nosotros,
#projectes,
#sobre-nosaltres{
  scroll-margin-top:86px!important;
}

.onepage-section .page-hero,
.onepage-section .page-hero-modern,
.onepage-section .section-anchor-hero{
  padding-top:10px!important;
}

.onepage-section{
  padding-top:18px!important;
}

#servicios.onepage-section,
#proyectos.onepage-section,
#projectes.onepage-section,
#sobre-nosotros.onepage-section,
#sobre-nosaltres.onepage-section{
  padding-top:14px!important;
}

#servicios .page-title,
#proyectos .h2,
#projectes .h2,
#sobre-nosotros .page-title,
#sobre-nosaltres .page-title{
  margin-top:0!important;
}

/* v194: cabecero móvil completo y compacto */
.mobile-menu-toggle{
  display:none!important;
}

@media(max-width:760px){
  .topbar.site-header,
  .site-header.topbar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:99999!important;
    background:#203247!important;
    background-color:#203247!important;
    box-shadow:0 10px 26px rgba(0,0,0,.22)!important;
  }

  body{
    padding-top:112px!important;
  }

  html{
    scroll-padding-top:122px!important;
  }

  #inicio,
  #servicios,
  #proyectos,
  #sobre-nosotros,
  #projectes,
  #sobre-nosaltres{
    scroll-margin-top:122px!important;
  }

  .site-header .wrap.nav,
  .topbar .wrap.nav{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto auto!important;
    grid-template-areas:
      "logo contacts lang menuBtn"
      "menu menu menu menu"!important;
    align-items:center!important;
    gap:6px 6px!important;
    padding:7px 8px!important;
  }

  .site-header .logo,
  .topbar .logo,
  .site-header .logo-word{
    grid-area:logo!important;
    justify-self:start!important;
    min-width:0!important;
    margin:0!important;
  }

  .site-header .logo img,
  .topbar .logo img,
  .site-header .logo-word img{
    max-width:82px!important;
    max-height:34px!important;
    height:auto!important;
    width:auto!important;
    object-fit:contain!important;
  }

  .site-header .header-contact-links{
    grid-area:contacts!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .site-header .header-icon-link,
  .site-header .header-email-button,
  .site-header .header-whatsapp .whatsapp-badge,
  .site-header .header-phone .phone-badge{
    width:27px!important;
    height:27px!important;
    min-width:27px!important;
    border-radius:999px!important;
  }

  .site-header .header-phone{
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    gap:3px!important;
  }

  .site-header .contact-gif{
    font-size:13px!important;
  }

  .site-header .header-phone .contact-inline-text{
    display:inline-flex!important;
    white-space:nowrap!important;
    font-size:9.5px!important;
    line-height:1!important;
    font-weight:600!important;
  }

  .site-header .header-whatsapp{
    width:27px!important;
    min-width:27px!important;
    padding:0!important;
    gap:0!important;
  }

  .site-header .header-whatsapp .whatsapp-inline-text{
    display:none!important;
  }

  .site-header .whatsapp-img,
  .site-header .header-whatsapp img{
    width:16px!important;
    height:16px!important;
  }

  .site-header .header-email-group{
    display:inline-flex!important;
    align-items:center!important;
    width:27px!important;
    min-width:27px!important;
    max-width:27px!important;
    overflow:visible!important;
  }

  .site-header .header-email-copy{
    display:none!important;
  }

  .site-header .header-email-button{
    display:inline-flex!important;
  }

  .site-header .lang-switch{
    grid-area:lang!important;
    justify-self:end!important;
    margin:0!important;
  }

  .site-header .lang-current{
    min-height:27px!important;
    height:27px!important;
    padding:0 7px!important;
    font-size:10px!important;
    gap:3px!important;
  }

  .site-header .lang-options{
    top:calc(100% + 7px)!important;
    right:0!important;
    min-width:74px!important;
  }

  .site-header .theme-toggle{
    display:none!important;
  }

  .mobile-menu-toggle{
    grid-area:menuBtn!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    height:27px!important;
    padding:0 8px!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    background:rgba(255,255,255,.08)!important;
    color:#ffffff!important;
    font-family:Montserrat, Arial, sans-serif!important;
    font-size:10px!important;
    font-weight:750!important;
    cursor:pointer!important;
    white-space:nowrap!important;
  }

  .mobile-menu-icon{
    color:#f2c411!important;
    font-size:14px!important;
    line-height:1!important;
  }

  .site-header .menu{
    grid-area:menu!important;
    display:none!important;
    width:100%!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    margin:2px 0 0!important;
    padding:6px!important;
    border-radius:12px!important;
    background:rgba(5,11,31,.97)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 12px 26px rgba(0,0,0,.24)!important;
  }

  .site-header.mobile-nav-open .menu{
    display:flex!important;
  }

  .site-header .menu a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    padding:10px 8px!important;
    border-radius:9px!important;
    color:#ffffff!important;
    font-size:13px!important;
    font-weight:600!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  .site-header .menu a:hover,
  .site-header .menu a.active{
    color:#f2c411!important;
    background:rgba(255,255,255,.06)!important;
  }

  .site-header .menu a.active:after{
    display:none!important;
  }
}

@media(max-width:390px){
  .site-header .logo img,
  .topbar .logo img,
  .site-header .logo-word img{
    max-width:72px!important;
    max-height:30px!important;
  }

  .site-header .header-phone .contact-inline-text{
    font-size:8.8px!important;
  }

  .site-header .wrap.nav,
  .topbar .wrap.nav{
    gap:5px 4px!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }

  .mobile-menu-toggle{
    padding:0 6px!important;
  }
}


/* v199: móvil con el MISMO fondo que PC y selector idioma sin doble recuadro */

/* El selector de idioma solo tiene un recuadro: el del botón desplegable */
.site-header .lang-switch.lang-dropdown,
.site-header .lang-switch,
.lang-switch.lang-dropdown,
.lang-switch{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
}

.site-header .lang-dropdown > .lang-current{
  display:inline-flex!important;
}

.site-header .lang-dropdown > .lang-options{
  display:none!important;
}

.site-header .lang-dropdown.lang-open > .lang-options{
  display:grid!important;
}

/* Oculta cualquier idioma suelto antiguo: solo queda visible el botón actual ES/CAT */
.site-header .lang-dropdown > .lang-link,
.site-header .lang-dropdown > .lang-sep{
  display:none!important;
}

/* Fondo móvil igual que PC: no usar colores planos ni variantes móviles */
@media(max-width:760px){
  html[data-theme="dark"],
  html[data-theme="dark"] body,
  body[data-theme="dark"]{
    background:radial-gradient(circle at top left,#1d4ed8 0%,#1e40af 25%,#0d2d59 55%,#050b1f 100%)!important;
    background-attachment:fixed!important;
    color:var(--ink)!important;
  }

  html[data-theme="dark"] main,
  html[data-theme="dark"] .page-main,
  html[data-theme="dark"] .section,
  html[data-theme="dark"] .onepage-section,
  html[data-theme="dark"] .hero-home,
  html[data-theme="dark"] #inicio,
  html[data-theme="dark"] #servicios,
  html[data-theme="dark"] #proyectos,
  html[data-theme="dark"] #sobre-nosotros,
  html[data-theme="dark"] #projectes,
  html[data-theme="dark"] #sobre-nosaltres,
  html[data-theme="dark"] .pv-landing-page,
  html[data-theme="dark"] .pv-hero,
  html[data-theme="dark"] .pv-overview,
  html[data-theme="dark"] .pv-proof-strip{
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
  }

  /* Cabecero móvil ajustado para que se vea todo sin cambiar el fondo de la página */
  .site-header .wrap.nav,
  .topbar .wrap.nav{
    grid-template-columns:auto minmax(0,1fr) auto auto auto!important;
    grid-template-areas:
      "logo contacts lang theme menuBtn"
      "menu menu menu menu menu"!important;
    gap:4px!important;
    padding-left:6px!important;
    padding-right:6px!important;
    overflow:visible!important;
  }

  .site-header .logo img,
  .topbar .logo img,
  .site-header .logo-word img{
    max-width:64px!important;
    max-height:28px!important;
  }

  .site-header .header-contact-links{
    grid-area:contacts!important;
    gap:3px!important;
    justify-content:flex-end!important;
    min-width:0!important;
    overflow:visible!important;
  }

  .site-header .header-icon-link,
  .site-header .header-email-button,
  .site-header .header-whatsapp .whatsapp-badge,
  .site-header .header-phone .phone-badge{
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
  }

  .site-header .header-phone .contact-inline-text{
    font-size:8.8px!important;
    white-space:nowrap!important;
  }

  .site-header .header-whatsapp .whatsapp-inline-text,
  .site-header .header-email-copy,
  .site-header .contact-label{
    display:none!important;
  }

  .site-header .header-email-group{
    width:25px!important;
    min-width:25px!important;
    max-width:25px!important;
  }

  .site-header .lang-switch.lang-dropdown{
    grid-area:lang!important;
    display:inline-flex!important;
    margin:0!important;
    overflow:visible!important;
  }

  .site-header .lang-current{
    min-height:25px!important;
    height:25px!important;
    padding:0 6px!important;
    font-size:9.5px!important;
    gap:2px!important;
  }

  .site-header .theme-toggle{
    grid-area:theme!important;
    display:inline-flex!important;
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
    margin:0!important;
    transform:none!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .site-header .mobile-menu-toggle{
    grid-area:menuBtn!important;
    display:inline-flex!important;
    height:25px!important;
    min-width:41px!important;
    padding:0 6px!important;
    font-size:9.5px!important;
    gap:3px!important;
  }

  body{
    padding-top:82px!important;
  }

  html{
    scroll-padding-top:92px!important;
  }

  #inicio,
  #servicios,
  #proyectos,
  #sobre-nosotros,
  #projectes,
  #sobre-nosaltres{
    scroll-margin-top:92px!important;
  }
}

@media(max-width:370px){
  .site-header .logo img,
  .topbar .logo img,
  .site-header .logo-word img{
    max-width:56px!important;
    max-height:24px!important;
  }

  .site-header .header-phone .contact-inline-text{
    font-size:8px!important;
  }

  .site-header .mobile-menu-toggle span:last-child{
    display:none!important;
  }

  .site-header .mobile-menu-toggle{
    min-width:25px!important;
    width:25px!important;
    padding:0!important;
  }
}


/* v200: limpiar restos visuales detrás del selector de idioma */
.site-header .lang-switch,
.site-header .lang-switch.lang-dropdown,
.topbar .lang-switch,
.topbar .lang-switch.lang-dropdown,
.lang-switch,
.lang-switch.lang-dropdown{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
  margin:0!important;
  border-radius:0!important;
  overflow:visible!important;
}

.site-header .lang-switch::before,
.site-header .lang-switch::after,
.site-header .lang-switch.lang-dropdown::before,
.site-header .lang-switch.lang-dropdown::after,
.topbar .lang-switch::before,
.topbar .lang-switch::after,
.lang-switch::before,
.lang-switch::after,
.lang-switch.lang-dropdown::before,
.lang-switch.lang-dropdown::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* Ocultar totalmente el selector antiguo ES / CAT: solo queda el botón desplegable */
.site-header .lang-switch > .lang-link,
.site-header .lang-switch > .lang-sep,
.site-header .lang-dropdown > .lang-link,
.site-header .lang-dropdown > .lang-sep{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

/* El único recuadro visible es este botón */
.site-header .lang-current,
.topbar .lang-current,
.lang-current{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  background:rgba(255,255,255,.08)!important;
  background-image:none!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:none!important;
  outline:0!important;
  border-radius:999px!important;
  color:#ffffff!important;
  position:relative!important;
  z-index:2!important;
}

.site-header .lang-current::before,
.site-header .lang-current::after,
.lang-current::before,
.lang-current::after{
  content:none!important;
  display:none!important;
}

/* Desplegable real oculto hasta click */
.site-header .lang-options,
.lang-options{
  display:none!important;
}

.site-header .lang-dropdown.lang-open .lang-options,
.lang-dropdown.lang-open .lang-options{
  display:grid!important;
}

/* Ajuste móvil específico para que no se vea ningún recuadro fantasma detrás */
@media(max-width:760px){
  .site-header .lang-switch,
  .site-header .lang-switch.lang-dropdown,
  .topbar .lang-switch,
  .topbar .lang-switch.lang-dropdown{
    min-width:auto!important;
    width:auto!important;
    height:auto!important;
    line-height:1!important;
  }

  .site-header .lang-current{
    min-width:52px!important;
    width:52px!important;
    height:25px!important;
    min-height:25px!important;
    padding:0 6px!important;
    font-size:9.5px!important;
  }
}


/* v201: selector idioma limpio de verdad + móvil con mismo fondo noche que PC */

/* Nuevo selector sin clases antiguas: evita heredar recuadros viejos */
.site-header .lang-dropdown-only,
.topbar .lang-dropdown-only,
.lang-dropdown-only{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
  margin:0!important;
  border-radius:0!important;
  overflow:visible!important;
  min-width:auto!important;
  width:auto!important;
  height:auto!important;
}

.site-header .lang-dropdown-only::before,
.site-header .lang-dropdown-only::after,
.topbar .lang-dropdown-only::before,
.topbar .lang-dropdown-only::after,
.lang-dropdown-only::before,
.lang-dropdown-only::after{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* Ocultar cualquier resto del selector antiguo */
.site-header .lang-dropdown-only > .lang-link,
.site-header .lang-dropdown-only > .lang-sep,
.lang-dropdown-only > .lang-link,
.lang-dropdown-only > .lang-sep{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

/* Único recuadro visible: el botón desplegable */
.site-header .lang-dropdown-only > .lang-current,
.topbar .lang-dropdown-only > .lang-current,
.lang-dropdown-only > .lang-current{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  min-height:27px!important;
  height:27px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  background-color:rgba(255,255,255,.08)!important;
  background-image:none!important;
  border:1px solid rgba(255,255,255,.20)!important;
  outline:0!important;
  box-shadow:none!important;
  color:#ffffff!important;
  font-family:Montserrat, Arial, sans-serif!important;
  font-size:10px!important;
  font-weight:750!important;
  line-height:1!important;
  position:relative!important;
  z-index:2!important;
}

.site-header .lang-dropdown-only > .lang-current::before,
.site-header .lang-dropdown-only > .lang-current::after,
.lang-dropdown-only > .lang-current::before,
.lang-dropdown-only > .lang-current::after{
  content:none!important;
  display:none!important;
}

/* Menú desplegable real */
.site-header .lang-dropdown-only > .lang-options,
.lang-dropdown-only > .lang-options{
  display:none!important;
  position:absolute!important;
  top:calc(100% + 6px)!important;
  right:0!important;
  min-width:74px!important;
  padding:6px!important;
  border-radius:12px!important;
  background:rgba(5,11,31,.97)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.28)!important;
  z-index:100002!important;
}

.site-header .lang-dropdown-only.lang-open > .lang-options,
.lang-dropdown-only.lang-open > .lang-options{
  display:grid!important;
  gap:4px!important;
}

.site-header .lang-dropdown-only .lang-options .lang-link,
.lang-dropdown-only .lang-options .lang-link{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  width:auto!important;
  height:auto!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  padding:5px 9px!important;
  border-radius:9px!important;
  color:#ffffff!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
}

.site-header .lang-dropdown-only .lang-options .lang-link:hover,
.site-header .lang-dropdown-only .lang-options .lang-link.active,
.lang-dropdown-only .lang-options .lang-link:hover,
.lang-dropdown-only .lang-options .lang-link.active{
  color:#172535!important;
  background:#f2c411!important;
}

/* Desktop: mismo sitio que antes, pero sin doble recuadro */
@media(min-width:761px){
  .site-header .lang-dropdown-only{
    order:3!important;
    flex:0 0 auto!important;
    margin:0!important;
    align-self:center!important;
  }
}

/* Móvil: fondo noche exactamente igual al PC, y el selector limpio */
@media(max-width:760px){
  html[data-theme="dark"],
  html[data-theme="dark"] body,
  body[data-theme="dark"]{
    background:radial-gradient(circle at top left,rgba(242,196,17,.14) 0%,rgba(43,58,74,.96) 28%,#172230 68%,#101820 100%)!important;
    background-attachment:fixed!important;
    color:#f8fafc!important;
  }

  html[data-theme="dark"] body::before,
  html[data-theme="dark"] body::after{
    background:inherit!important;
  }

  .site-header .lang-dropdown-only{
    grid-area:lang!important;
    justify-self:end!important;
    margin:0!important;
    display:inline-flex!important;
    overflow:visible!important;
    min-width:auto!important;
    width:auto!important;
    height:auto!important;
  }

  .site-header .lang-dropdown-only > .lang-current{
    min-width:52px!important;
    width:52px!important;
    height:25px!important;
    min-height:25px!important;
    padding:0 6px!important;
    font-size:9.5px!important;
    gap:2px!important;
    box-shadow:none!important;
  }

  .site-header .lang-dropdown-only > .lang-options{
    top:calc(100% + 6px)!important;
    right:0!important;
    min-width:70px!important;
  }
}


/* v205: inicio, zoom, proyectos y anclas desde v201 */

/* Zoom interno fijo al 100% en todas las páginas e idiomas */
:root,
html,
body{
  --ortek-site-zoom:1!important;
}

html,
body{
  zoom:1!important;
  transform:none!important;
  transform-origin:top left!important;
}

/* Cabecero: teléfono, WhatsApp y email en ese orden */
.site-header .header-phone{order:0!important;}
.site-header .header-whatsapp{order:1!important;}
.site-header .header-email-group{order:2!important;}

/* Inicio: texto con el mismo ancho que la fila de iconos/chips */
#inicio .hero-modern-copy{
  align-items:flex-start!important;
}

#inicio .hero-services{
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Inicio: chips convertidos en enlaces y siempre en una sola línea */
#inicio .hero-chips-actions{
  width:100%!important;
  max-width:100%!important;
}

#inicio .service-chips,
.hero-home .service-chips{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
  padding-bottom:2px!important;
}

#inicio .service-chips::-webkit-scrollbar,
.hero-home .service-chips::-webkit-scrollbar{
  display:none!important;
}

#inicio .service-chips a,
.hero-home .service-chips a,
#inicio .service-chip-link,
.hero-home .service-chip-link{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border:1px solid rgba(43,58,74,.13)!important;
  background:#fff!important;
  border-radius:8px!important;
  padding:10px 13px!important;
  font-size:13px!important;
  font-weight:500!important;
  color:#536070!important;
  box-shadow:0 7px 20px rgba(43,58,74,.04)!important;
  text-decoration:none!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-indent:0!important;
}

#inicio .service-chips a:hover,
.hero-home .service-chips a:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(242,196,17,.42)!important;
  box-shadow:0 10px 24px rgba(242,196,17,.12)!important;
}

html[data-theme="dark"] #inicio .service-chips a,
html[data-theme="dark"] .hero-home .service-chips a,
html[data-theme="dark"] #inicio .service-chip-link,
html[data-theme="dark"] .hero-home .service-chip-link{
  background:rgba(43,58,74,.78)!important;
  border-color:rgba(255,255,255,.13)!important;
  color:#ffffff!important;
}

/* Inicio: botón Proyectos centrado sin contar el ojo */
#inicio .btn-proyectos,
.hero-home .btn-proyectos,
#inicio .btn-projects-centered,
.hero-home .btn-projects-centered{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  min-width:186px!important;
  padding-left:42px!important;
  padding-right:42px!important;
}

#inicio .btn-proyectos .btn-eye-icon,
.hero-home .btn-proyectos .btn-eye-icon,
#inicio .btn-proyectos .btn-icon,
.hero-home .btn-proyectos .btn-icon{
  position:absolute!important;
  left:18px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
}

#inicio .btn-proyectos .btn-projects-text,
.hero-home .btn-proyectos .btn-projects-text{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  text-indent:0!important;
}

/* Menos espacio entre Inicio y Servicios */
#inicio.hero-home,
section#inicio{
  padding-bottom:6px!important;
  margin-bottom:0!important;
}

#servicios.onepage-section,
section#servicios{
  padding-top:4px!important;
  margin-top:0!important;
}

#inicio + #servicios,
#inicio + .onepage-section{
  margin-top:0!important;
}

/* Scroll de anclas: no enseñar sección anterior */
html{
  scroll-padding-top:0!important;
}

#inicio,
#servicios,
#proyectos,
#sobre-nosotros,
#projectes,
#sobre-nosaltres{
  scroll-margin-top:0!important;
}

/* Proyectos realizados: volver a carrusel horizontal con scroll/flechas */
.ortek-projects-carousel{
  position:relative!important;
  margin-top:32px!important;
  width:100%!important;
  overflow:visible!important;
}

.ortek-projects-viewport{
  width:100%!important;
  overflow:hidden!important;
  padding:8px 4px 20px!important;
}

.ortek-projects-track{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:24px!important;
  transition:transform .35s ease!important;
  will-change:transform!important;
}

.ortek-project-card{
  flex:0 0 calc((100% - 72px) / 4)!important;
  width:calc((100% - 72px) / 4)!important;
  min-width:calc((100% - 72px) / 4)!important;
  max-width:calc((100% - 72px) / 4)!important;
  display:flex!important;
  flex-direction:column!important;
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  border-radius:24px!important;
  overflow:hidden!important;
  box-shadow:0 4px 10px rgba(15,23,42,.04)!important;
}

.ortek-project-card img{
  width:100%!important;
  height:150px!important;
  object-fit:cover!important;
  flex:0 0 auto!important;
}

.ortek-project-body{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  padding:16px!important;
  gap:12px!important;
}

/* Proyectos realizados: eliminar Lugar, Tipo instalación y sus recuadros */
.project-card-head,
.project-location,
.project-type,
.project-main-data{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

.ortek-projects-arrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:5!important;
}

@media(max-width:1100px){
  .ortek-project-card{
    flex-basis:calc((100% - 24px) / 2)!important;
    width:calc((100% - 24px) / 2)!important;
    min-width:calc((100% - 24px) / 2)!important;
    max-width:calc((100% - 24px) / 2)!important;
  }
}

@media(max-width:640px){
  .ortek-projects-track{
    gap:16px!important;
  }

  .ortek-project-card{
    flex-basis:86%!important;
    width:86%!important;
    min-width:86%!important;
    max-width:86%!important;
  }
}


/* v206: footer servicios, inicio reorganizado y carrusel proyectos */

/* Footer: nueva columna de Servicios con el título enlazado */
.footer-grid{
  align-items:flex-start!important;
}

.footer-services{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
}

.footer-services h3{
  margin:0 0 4px!important;
}

.footer-services h3 a{
  color:inherit!important;
  text-decoration:none!important;
}

.footer-services h3 a:hover,
.footer-services .footer-service-links a:hover{
  color:#f2c411!important;
}

.footer-service-links{
  display:grid!important;
  gap:5px!important;
}

.footer-services p{
  margin:0!important;
  line-height:1.35!important;
}

.footer-services a{
  font-size:13px!important;
  color:inherit!important;
  text-decoration:none!important;
}

/* En escritorio el footer queda ordenado en 4 columnas */
@media(min-width:900px){
  .footer .footer-grid{
    display:grid!important;
    grid-template-columns:minmax(260px,1.35fr) minmax(170px,.75fr) minmax(270px,1.15fr) minmax(230px,.95fr)!important;
    gap:26px!important;
  }
}

/* Inicio: más ancho para texto/chips y foto algo más pequeña para que quepa Legalización */
@media(min-width:901px){
  #inicio .hero-modern-grid,
  .hero-home .hero-modern-grid{
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;
    gap:38px!important;
    align-items:center!important;
  }

  #inicio .hero-modern-copy,
  .hero-home .hero-modern-copy{
    max-width:760px!important;
    width:100%!important;
  }

  #inicio .hero-services,
  .hero-home .hero-services{
    width:100%!important;
    max-width:690px!important;
  }

  #inicio .hero-modern-visual,
  .hero-home .hero-modern-visual{
    min-height:360px!important;
  }

  #inicio .hero-image-card,
  .hero-home .hero-image-card{
    max-width:430px!important;
    margin-left:auto!important;
  }

  #inicio .hero-image-card img,
  .hero-home .hero-image-card img{
    height:260px!important;
  }
}

/* Chips de Inicio: enlaces compactos y siempre en una línea */
#inicio .hero-chips-actions,
.hero-home .hero-chips-actions{
  width:100%!important;
  max-width:100%!important;
}

#inicio .service-chips,
.hero-home .service-chips{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  white-space:nowrap!important;
  padding-bottom:0!important;
}

#inicio .service-chips a,
.hero-home .service-chips a,
#inicio .service-chip-link,
.hero-home .service-chip-link{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border:1px solid rgba(43,58,74,.13)!important;
  background:#fff!important;
  border-radius:8px!important;
  padding:9px 10px!important;
  font-size:12.4px!important;
  font-weight:500!important;
  color:#536070!important;
  box-shadow:0 7px 20px rgba(43,58,74,.04)!important;
  text-decoration:none!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-indent:0!important;
}

html[data-theme="dark"] #inicio .service-chips a,
html[data-theme="dark"] .hero-home .service-chips a,
html[data-theme="dark"] #inicio .service-chip-link,
html[data-theme="dark"] .hero-home .service-chip-link{
  background:rgba(43,58,74,.78)!important;
  border-color:rgba(255,255,255,.13)!important;
  color:#ffffff!important;
}

@media(max-width:900px){
  #inicio .service-chips,
  .hero-home .service-chips{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }

  #inicio .service-chips::-webkit-scrollbar,
  .hero-home .service-chips::-webkit-scrollbar{
    display:none!important;
  }
}

/* Proyectos realizados: carrusel horizontal como antes, con flechas y scroll interno */
.ortek-projects-carousel{
  position:relative!important;
  margin-top:32px!important;
  width:100%!important;
  overflow:visible!important;
}

.ortek-projects-viewport{
  width:100%!important;
  overflow:hidden!important;
  padding:8px 4px 20px!important;
}

.ortek-projects-track{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:24px!important;
  transition:transform .35s ease!important;
  will-change:transform!important;
}

.ortek-project-card{
  flex:0 0 calc((100% - 72px) / 4)!important;
  width:calc((100% - 72px) / 4)!important;
  min-width:calc((100% - 72px) / 4)!important;
  max-width:calc((100% - 72px) / 4)!important;
  display:flex!important;
  flex-direction:column!important;
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  border-radius:24px!important;
  overflow:hidden!important;
  box-shadow:0 4px 10px rgba(15,23,42,.04)!important;
}

.ortek-project-card img{
  width:100%!important;
  height:150px!important;
  object-fit:cover!important;
  flex:0 0 auto!important;
}

.ortek-project-body{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  padding:16px!important;
  gap:12px!important;
}

/* Mantener quitados Lugar, Tipo instalación y sus recuadros */
.project-card-head,
.project-location,
.project-type,
.project-main-data{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

.ortek-projects-arrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:5!important;
}

@media(max-width:1100px){
  .ortek-project-card{
    flex-basis:calc((100% - 24px) / 2)!important;
    width:calc((100% - 24px) / 2)!important;
    min-width:calc((100% - 24px) / 2)!important;
    max-width:calc((100% - 24px) / 2)!important;
  }
}

@media(max-width:640px){
  .ortek-projects-track{
    gap:16px!important;
  }

  .ortek-project-card{
    flex-basis:86%!important;
    width:86%!important;
    min-width:86%!important;
    max-width:86%!important;
  }
}

/* Zoom interno fijo al 100% para que idioma no cambie escala */
:root,
html,
body{
  --ortek-site-zoom:1!important;
}

html,
body{
  zoom:1!important;
  transform:none!important;
  transform-origin:top left!important;
}


/* v207: footer más pequeño, logo a servicios y botón Proyectos con libreta */

/* Logo cabecero/footer enlaza a Servicios */
.site-header .logo,
.site-header .logo-word,
.footer-logo-link{
  cursor:pointer!important;
}

.footer-logo-link{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  text-decoration:none!important;
}

/* Footer: letras más pequeñas y mejor orden */
.footer{
  font-size:12px!important;
}

.footer p,
.footer a,
.footer button,
.footer .footer-legal-link,
.footer-contact p,
.footer-brand p{
  font-size:11.5px!important;
  line-height:1.35!important;
}

.footer h3{
  font-size:12.5px!important;
  line-height:1.2!important;
  margin-bottom:6px!important;
}

.footer-brand{
  gap:12px!important;
}

.footer-brand img{
  width:118px!important;
  max-width:118px!important;
}

/* Footer servicios: 2 filas de 3 enlaces en horizontal */
.footer-service-links,
.footer-service-links-horizontal{
  display:grid!important;
  grid-template-columns:repeat(3, minmax(0, 1fr))!important;
  gap:5px 12px!important;
  align-items:start!important;
}

.footer-service-links p,
.footer-service-links-horizontal p{
  margin:0!important;
  min-width:0!important;
}

.footer-services a{
  font-size:11.5px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}

@media(min-width:900px){
  .footer .footer-grid{
    grid-template-columns:minmax(210px,1.05fr) minmax(360px,1.75fr) minmax(230px,.95fr) minmax(210px,.95fr)!important;
    gap:22px!important;
  }
}

@media(max-width:899px){
  .footer-service-links,
  .footer-service-links-horizontal{
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  }
}

@media(max-width:520px){
  .footer-service-links,
  .footer-service-links-horizontal{
    grid-template-columns:1fr!important;
  }
}

/* Inicio: botón Proyectos con libreta, mismo patrón que Contactar */
#inicio .btn-proyectos,
.hero-home .btn-proyectos,
#inicio .btn-projects-notebook,
.hero-home .btn-projects-notebook{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  text-align:center!important;
  min-width:186px!important;
  padding-left:22px!important;
  padding-right:22px!important;
}

#inicio .btn-proyectos .btn-icon,
.hero-home .btn-proyectos .btn-icon,
#inicio .btn-proyectos .btn-notebook-icon,
.hero-home .btn-proyectos .btn-notebook-icon{
  position:static!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  font-size:18px!important;
  line-height:1!important;
}

#inicio .btn-proyectos .btn-projects-text,
.hero-home .btn-proyectos .btn-projects-text{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  text-align:center!important;
  text-indent:0!important;
  flex:0 0 auto!important;
}


/* v208: quitar luz amarilla, mantener zoom al cambiar idioma y footer en 2 grupos de 3 */

/* Inicio: quitar la luz amarilla inferior/derecha */
#inicio.hero-modern::before,
#inicio.hero-modern::after,
#inicio.hero-home::before,
#inicio.hero-home::after,
.hero-home::before,
.hero-home::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
}

#inicio .solar-orbit,
#inicio .solar-dots{
  display:none!important;
  opacity:0!important;
}

/* Zoom interno: por defecto 100%, pero conserva el mismo valor al cambiar ES/CAT */
:root,
html,
body{
  --ortek-site-zoom:var(--ortek-site-zoom, 1)!important;
}

body{
  zoom:var(--ortek-site-zoom, 1)!important;
  transform:none!important;
  transform-origin:top left!important;
}

/* Footer Servicios: 2 grupos/columnas de 3 servicios */
.footer-service-links,
.footer-service-links-horizontal{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  grid-auto-flow:column!important;
  grid-template-rows:repeat(3, auto)!important;
  gap:5px 18px!important;
  align-items:start!important;
  justify-items:start!important;
}

.footer-service-links p,
.footer-service-links-horizontal p{
  margin:0!important;
  min-width:0!important;
}

.footer-services a{
  font-size:11.3px!important;
  line-height:1.22!important;
  white-space:nowrap!important;
}

/* Contacte/Contacto con código postal */
.footer-contact p{
  font-size:11.3px!important;
  line-height:1.32!important;
}

@media(max-width:520px){
  .footer-service-links,
  .footer-service-links-horizontal{
    grid-template-columns:1fr!important;
    grid-template-rows:none!important;
    grid-auto-flow:row!important;
  }
}


/* v209: botón Proyectos con libreta dentro del recuadro amarillo, ES y CAT */
#inicio .hero-actions .btn-proyectos,
.hero-home .hero-actions .btn-proyectos,
#inicio .btn-proyectos.btn-projects-notebook,
.hero-home .btn-proyectos.btn-projects-notebook{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-width:186px!important;
  padding:13px 24px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  text-align:center!important;
}

#inicio .btn-proyectos.btn-projects-notebook .btn-notebook-icon,
.hero-home .btn-proyectos.btn-projects-notebook .btn-notebook-icon,
#inicio .hero-actions .btn-proyectos .btn-notebook-icon,
.hero-home .hero-actions .btn-proyectos .btn-notebook-icon{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:0!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  line-height:1!important;
  color:#203247!important;
}

#inicio .btn-proyectos.btn-projects-notebook .btn-notebook-icon svg,
.hero-home .btn-proyectos.btn-projects-notebook .btn-notebook-icon svg,
#inicio .hero-actions .btn-proyectos .btn-notebook-icon svg,
.hero-home .hero-actions .btn-proyectos .btn-notebook-icon svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  overflow:visible!important;
}

#inicio .btn-proyectos.btn-projects-notebook .notebook-cover,
.hero-home .btn-proyectos.btn-projects-notebook .notebook-cover{
  fill:#203247!important;
}

#inicio .btn-proyectos.btn-projects-notebook .notebook-spine,
#inicio .btn-proyectos.btn-projects-notebook .notebook-line,
.hero-home .btn-proyectos.btn-projects-notebook .notebook-spine,
.hero-home .btn-proyectos.btn-projects-notebook .notebook-line{
  stroke:#f2c411!important;
  stroke-width:1.35!important;
  stroke-linecap:round!important;
  fill:none!important;
}

#inicio .btn-proyectos.btn-projects-notebook .btn-projects-text,
.hero-home .btn-proyectos.btn-projects-notebook .btn-projects-text,
#inicio .hero-actions .btn-proyectos .btn-projects-text,
.hero-home .hero-actions .btn-proyectos .btn-projects-text{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  flex:0 0 auto!important;
  text-align:center!important;
  text-indent:0!important;
  line-height:1!important;
}

/* Anula cualquier ojo antiguo si hubiera quedado por caché/HTML previo */
#inicio .btn-proyectos .btn-eye-icon,
.hero-home .btn-proyectos .btn-eye-icon{
  display:none!important;
}


/* v209b: compatibilidad botón Projectes CAT */
#inicio .btn-projectes.btn-proyectos,
.hero-home .btn-projectes.btn-proyectos{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-width:186px!important;
  padding:13px 24px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  text-align:center!important;
}


/* v210: mover recuadro principal de Sobre nosotros a Fotovoltaica y ampliar valores */

/* Sobre nosotros: al quitar el recuadro principal, la imagen queda ordenada */
.about-showcase.about-showcase-only-visual{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  margin-bottom:30px!important;
}

.about-showcase.about-showcase-only-visual .about-visual-card{
  max-width:620px!important;
  width:100%!important;
}

/* Sobre nosotros: 7 valores ordenados en rejilla */
.about-values{
  display:grid!important;
  grid-template-columns:repeat(4, minmax(0,1fr))!important;
  gap:16px!important;
}

.about-value-card{
  min-height:100%!important;
}

@media(max-width:1100px){
  .about-values{
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
  }
}

@media(max-width:640px){
  .about-values{
    grid-template-columns:1fr!important;
  }
}

/* Página fotovoltaica: recuadro de Ortek Solar integrado */
.pv-about-transfer-section{
  padding:34px 0 18px!important;
}

.pv-about-transfer{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important;
  gap:22px!important;
  align-items:stretch!important;
}

.pv-about-main-card{
  height:100%!important;
  margin:0!important;
}

.pv-about-transfer-note{
  border:1px solid var(--line)!important;
  background:var(--card)!important;
  border-radius:22px!important;
  padding:24px!important;
  box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

.pv-about-transfer-note h3{
  margin:8px 0 10px!important;
  font-size:1.25rem!important;
  line-height:1.18!important;
}

.pv-about-transfer-note p{
  margin:0!important;
  color:var(--muted)!important;
  font-size:.94rem!important;
  line-height:1.6!important;
}

@media(max-width:820px){
  .pv-about-transfer{
    grid-template-columns:1fr!important;
  }
}


/* v211: scroll reforzado y foto Sobre nosotros a ancho máximo */

/* Carrusel proyectos: scroll horizontal nativo + flechas */
.ortek-projects-viewport{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}

.ortek-projects-viewport::-webkit-scrollbar{
  display:none!important;
}

.ortek-projects-track{
  transform:none!important;
}

.ortek-project-card{
  scroll-snap-align:start!important;
}

.ortek-projects-arrow:disabled{
  opacity:.35!important;
  cursor:not-allowed!important;
}

/* Anclas: el JS calcula la cabecera; no dejar compensaciones contradictorias en CSS */
html{
  scroll-padding-top:0!important;
}

#inicio,
#servicios,
#proyectos,
#sobre-nosotros,
#projectes,
#sobre-nosaltres{
  scroll-margin-top:0!important;
}

/* Sobre nosotros: foto/recuadro ancho máximo */
#sobre-nosotros .about-showcase.about-showcase-only-visual,
#sobre-nosaltres .about-showcase.about-showcase-only-visual{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 32px!important;
}

#sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card,
#sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  border-radius:24px!important;
}

#sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card img,
#sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card img{
  width:100%!important;
  height:clamp(260px, 34vw, 430px)!important;
  object-fit:cover!important;
}


/* v212: zoom funcional y persistente entre idiomas */
:root{
  --ortek-site-zoom:1;
}

html,
body{
  transform:none!important;
  transform-origin:top left!important;
}

/* El valor real lo aplica theme.js con prioridad important.
   No fijar aquí --ortek-site-zoom con !important porque bloquearía el zoom dinámico. */
body{
  zoom:var(--ortek-site-zoom, 1);
}


/* v213: footer limpio */
/* Quitar texto bajo/junto al logo */
.footer-brand p{
  display:none!important;
}

.footer-brand{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:0!important;
}

.footer-brand img{
  width:118px!important;
  max-width:118px!important;
}

/* Servicios: juntar los dos grupos en un solo bloque horizontal */
.footer-service-links,
.footer-service-links-horizontal{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px 14px!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  grid-auto-flow:unset!important;
}

.footer-service-links p,
.footer-service-links-horizontal p{
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
}

.footer-service-links p:not(:last-child)::after,
.footer-service-links-horizontal p:not(:last-child)::after{
  content:"·"!important;
  margin-left:14px!important;
  color:rgba(255,255,255,.38)!important;
}

.footer-services a{
  white-space:nowrap!important;
  font-size:11.3px!important;
  line-height:1.25!important;
}

/* Reajustar columnas del footer al quitar texto del logo */
@media(min-width:900px){
  .footer .footer-grid{
    grid-template-columns:minmax(130px,.55fr) minmax(430px,1.75fr) minmax(230px,.95fr) minmax(210px,.95fr)!important;
    gap:22px!important;
  }
}

@media(max-width:899px){
  .footer-service-links,
  .footer-service-links-horizontal{
    display:flex!important;
    flex-wrap:wrap!important;
  }
}


/* v214: footer y Sobre nosotros */

/* Footer: quitar dirección de contacto */
.footer-contact p:has(a[href^="tel"]),
.footer-contact p{
  margin-top:0!important;
}

/* Footer Servicios: 2 líneas geométricas de 3 servicios */
.footer-service-links,
.footer-service-links-horizontal{
  display:grid!important;
  grid-template-columns:repeat(3, minmax(112px, 1fr))!important;
  grid-auto-flow:row!important;
  grid-template-rows:repeat(2, auto)!important;
  gap:7px 16px!important;
  align-items:center!important;
  justify-items:start!important;
  width:100%!important;
}

.footer-service-links p,
.footer-service-links-horizontal p{
  display:block!important;
  margin:0!important;
  min-width:0!important;
}

.footer-service-links p::after,
.footer-service-links-horizontal p::after{
  content:none!important;
  display:none!important;
}

.footer-services a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  white-space:nowrap!important;
  font-size:11.3px!important;
  line-height:1.25!important;
}

/* Reajuste footer para que Servicios tenga aire y quede equilibrado */
@media(min-width:900px){
  .footer .footer-grid{
    grid-template-columns:minmax(120px,.55fr) minmax(440px,1.85fr) minmax(230px,.95fr) minmax(180px,.75fr)!important;
    gap:22px!important;
    align-items:start!important;
  }
}

@media(max-width:760px){
  .footer-service-links,
  .footer-service-links-horizontal{
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    grid-template-rows:auto!important;
  }
}

/* Sobre nosotros: quitar el texto bajo el título y compactar el bloque */
#sobre-nosotros .page-hero .lead,
#sobre-nosaltres .page-hero .lead,
#sobre-nosotros .page-hero-modern .lead,
#sobre-nosaltres .page-hero-modern .lead,
#sobre-nosotros .section-anchor-hero .lead,
#sobre-nosaltres .section-anchor-hero .lead{
  display:none!important;
}

#sobre-nosotros .page-hero,
#sobre-nosaltres .page-hero,
#sobre-nosotros .section-anchor-hero,
#sobre-nosaltres .section-anchor-hero{
  padding-bottom:8px!important;
}

/* Sobre nosotros: imagen más estrecha y centrada */
#sobre-nosotros .about-showcase.about-showcase-only-visual,
#sobre-nosaltres .about-showcase.about-showcase-only-visual{
  display:flex!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 30px!important;
}

#sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card,
#sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card{
  width:100%!important;
  max-width:780px!important;
  margin:0 auto!important;
  border-radius:24px!important;
}

#sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card img,
#sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card img{
  width:100%!important;
  height:clamp(230px, 28vw, 350px)!important;
  object-fit:cover!important;
}


/* v215: footer y foto Sobre nosotros */

/* Footer: logo un poco más grande */
.footer-brand img{
  width:138px!important;
  max-width:138px!important;
}

/* Footer: Servicios centrado y geométrico */
.footer-services{
  align-items:center!important;
  text-align:center!important;
}

.footer-services h3{
  width:100%!important;
  text-align:center!important;
}

.footer-service-links,
.footer-service-links-horizontal{
  display:grid!important;
  grid-template-columns:repeat(3, minmax(112px, 1fr))!important;
  grid-template-rows:repeat(2, auto)!important;
  gap:7px 16px!important;
  align-items:center!important;
  justify-items:center!important;
  width:100%!important;
  margin:0 auto!important;
}

.footer-service-links p,
.footer-service-links-horizontal p{
  width:100%!important;
  text-align:center!important;
}

.footer-services a{
  justify-content:center!important;
  text-align:center!important;
}

/* Sobre nosotros: foto a todo el ancho pero con menos alto */
#sobre-nosotros .about-showcase.about-showcase-only-visual,
#sobre-nosaltres .about-showcase.about-showcase-only-visual{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 26px!important;
}

#sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card,
#sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  border-radius:24px!important;
}

#sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card img,
#sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card img{
  width:100%!important;
  height:clamp(170px, 18vw, 245px)!important;
  object-fit:cover!important;
}


/* v216: foto Sobre nosotros más baja + título Servicios footer como antes */

/* Sobre nosotros: aún menos alto, manteniendo todo el ancho */
#sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card img,
#sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card img{
  width:100%!important;
  height:clamp(115px, 12vw, 165px)!important;
  object-fit:cover!important;
}

/* Footer Servicios: recuperar grosor, color y subrayado inferior */
.footer-services h3{
  width:100%!important;
  text-align:center!important;
  font-size:12px!important;
  line-height:1.2!important;
  margin:0 0 10px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  font-weight:800!important;
  color:#f2c411!important;
}

.footer-services h3 a{
  color:#f2c411!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}

.footer-services h3::after{
  content:""!important;
  display:block!important;
  width:30px!important;
  height:2px!important;
  margin:6px auto 0!important;
  background:#f2c411!important;
  border-radius:999px!important;
  transform:skewX(-24deg)!important;
  opacity:1!important;
}

/* Mantener los enlaces centrados sin tocar el subrayado del título */
.footer-services{
  align-items:center!important;
  text-align:center!important;
}

.footer-service-links,
.footer-service-links-horizontal{
  justify-items:center!important;
}

.footer-services a:not(.footer-services h3 a){
  font-weight:400!important;
}


/* v217: cabecero fijo, raya activa dinámica y footer ajustado */

/* Cabecero fijo */
.topbar,
.site-header,
.topbar.site-header,
.site-header.topbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:99999!important;
}

body{
  padding-top:var(--ortek-header-height, 86px)!important;
}

html{
  scroll-padding-top:var(--ortek-header-height, 86px)!important;
}

/* Línea amarilla activa: solo aparece en la sección activa */
.site-header .menu a{
  position:relative!important;
}

.site-header .menu a::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-6px!important;
  width:100%!important;
  height:3px!important;
  background:#f2c411!important;
  border-radius:999px!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
  opacity:0!important;
  transition:transform .18s ease, opacity .18s ease!important;
}

.site-header .menu a.active::after{
  transform:scaleX(1)!important;
  opacity:1!important;
}

.site-header .menu a.active{
  color:#ffffff!important;
}

/* Footer: logo más grande */
.footer-brand img{
  width:165px!important;
  max-width:165px!important;
  height:auto!important;
}

/* Footer Servicios: raya exactamente del ancho del texto "Servicios/Serveis" */
.footer-services h3{
  width:auto!important;
  display:inline-block!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

.footer-services h3::after{
  content:""!important;
  display:block!important;
  width:100%!important;
  height:2px!important;
  margin:6px 0 0!important;
  background:#f2c411!important;
  border-radius:999px!important;
  transform:skewX(-24deg)!important;
  opacity:1!important;
}

.footer-services h3 a{
  display:inline-block!important;
  color:#f2c411!important;
  text-decoration:none!important;
}

.footer-services{
  align-items:center!important;
  text-align:center!important;
}


/* v218: footer orden Legal > Contacto > Servicios e Inicio activo */

/* Footer: orden visual y columnas después del logo */
@media(min-width:900px){
  .footer .footer-grid{
    grid-template-columns:minmax(150px,.7fr) minmax(250px,1fr) minmax(210px,.9fr) minmax(430px,1.65fr)!important;
    gap:24px!important;
    align-items:start!important;
  }
}

.footer-legal{order:1!important;}
.footer-contact{order:2!important;}
.footer-services{order:3!important;}

/* Si el HTML carga arriba sin hash, Inicio ya aparece con la raya */
.site-header .menu a.active::after{
  transform:scaleX(1)!important;
  opacity:1!important;
}


/* v219: inicio página fotovoltaica con etiqueta Ortek Solar, título y subtítulo */
.pv-hero-copy .pv-hero-ortek-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  padding:7px 13px!important;
  border:1px solid rgba(242,196,17,.44)!important;
  border-radius:999px!important;
  background:rgba(242,196,17,.14)!important;
  color:#f2c411!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  margin-bottom:12px!important;
}

.pv-hero-copy .pv-main-title{
  text-transform:uppercase!important;
  letter-spacing:-.018em!important;
}

.pv-hero-copy .pv-main-subtitle{
  margin:0 0 16px!important;
  font-size:clamp(1.02rem, 1.45vw, 1.28rem)!important;
  line-height:1.32!important;
  font-weight:800!important;
  color:var(--ink)!important;
}

html[data-theme="dark"] .pv-hero-copy .pv-main-subtitle{
  color:#ffffff!important;
}


/* v220: título de Instalación Fotovoltaica ocupando todo el ancho del recuadro */
.pv-hero .pv-hero-copy{
  width:100%!important;
  max-width:none!important;
}

.pv-hero-copy .pv-main-title,
.pv-landing-page .pv-hero h1.pv-main-title{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
  text-align:left!important;
  text-wrap:balance!important;
  font-size:clamp(1.62rem, 2.65vw, 2.28rem)!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
}

.pv-hero-copy .pv-main-subtitle{
  width:100%!important;
  max-width:100%!important;
}


/* v221: fotovoltaica - botones centrados, sin 4 recuadros y etiquetas bajo el panel derecho */

/* Botones Pedir estudio / Llamar ahora centrados */
.pv-hero .pv-hero-actions{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  text-align:center!important;
  flex-wrap:wrap!important;
}

.pv-hero .pv-hero-actions .btn{
  justify-content:center!important;
  text-align:center!important;
}

/* Eliminar la franja de 4 recuadros si quedara por caché o HTML antiguo */
.pv-proof-strip{
  display:none!important;
}

/* Etiquetas movidas debajo del recuadro "Te orientamos sin vueltas" */
.pv-hero-grid > .pv-trust-after-contact{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  margin:8px 0 0!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}

.pv-hero-grid > .pv-trust-after-contact span{
  text-align:center!important;
}

/* Al quitar los 4 recuadros, acercar el siguiente bloque */
.pv-about-transfer-section{
  padding-top:24px!important;
}


/* v222: fotovoltaica - títulos más pequeños, título principal en una línea, sin etiquetas */

/* Quitar etiquetas posteriores por CSS también, por seguridad */
.pv-trust-list,
.pv-trust-after-contact{
  display:none!important;
}

/* Título principal más pequeño y en una línea en escritorio */
.pv-landing-page .pv-hero-copy .pv-main-title,
.pv-landing-page .pv-hero h1.pv-main-title{
  font-size:clamp(1.18rem, 1.52vw, 1.48rem)!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
  white-space:nowrap!important;
  text-wrap:normal!important;
  width:100%!important;
  max-width:100%!important;
}

/* Subtítulo también más compacto */
.pv-landing-page .pv-hero-copy .pv-main-subtitle{
  font-size:clamp(.92rem, 1.12vw, 1.05rem)!important;
  line-height:1.34!important;
  margin-bottom:14px!important;
}

/* Títulos generales de la página de instalaciones más pequeños */
.pv-landing-page h2,
.pv-landing-page .pv-section-head h2,
.pv-landing-page .pv-overview-copy h2,
.pv-landing-page .pv-feature-copy h2,
.pv-landing-page .pv-faq h2,
.pv-landing-page .pv-contact-panel h2{
  font-size:clamp(1.12rem, 1.65vw, 1.42rem)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
}

.pv-landing-page h3,
.pv-landing-page .pv-solution-card h3,
.pv-landing-page .pv-side-card h3,
.pv-landing-page .pv-step h3,
.pv-landing-page .pv-includes h3{
  font-size:clamp(.92rem, 1.08vw, 1.05rem)!important;
  line-height:1.2!important;
}

/* Al mover Soluciones fotovoltaicas justo debajo del hero, ajustar aire */
.pv-hero + .pv-solutions{
  padding-top:30px!important;
}

.pv-hero + .pv-solutions .pv-section-head{
  margin-bottom:18px!important;
}

@media(max-width:820px){
  .pv-landing-page .pv-hero-copy .pv-main-title,
  .pv-landing-page .pv-hero h1.pv-main-title{
    white-space:normal!important;
    font-size:clamp(1.28rem, 5.2vw, 1.62rem)!important;
    line-height:1.08!important;
  }
}


/* v223: fotovoltaica - subtítulo sin negrita y "Te orientamos sin vueltas" en una línea */

/* Quitar negrita del subtítulo principal */
.pv-landing-page .pv-hero-copy .pv-main-subtitle,
.pv-hero-copy .pv-main-subtitle{
  font-weight:400!important;
}

/* Mantener "Te orientamos sin vueltas" / "T’orientem sense donar-hi voltes" en una sola línea */
.pv-landing-page .pv-contact-panel h2,
.pv-contact-panel h2{
  white-space:nowrap!important;
  font-size:clamp(1rem, 1.28vw, 1.2rem)!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
}

@media(max-width:520px){
  .pv-landing-page .pv-contact-panel h2,
  .pv-contact-panel h2{
    white-space:normal!important;
  }
}


/* v224: Proceso de trabajo justo después del bloque Ortek Solar */
.pv-about-transfer-section + .pv-process{
  padding-top:30px!important;
}


/* v225: Proceso de trabajo justo después del bloque Contacto directo */
.pv-hero + .pv-process{
  padding-top:30px!important;
}

/* v226: responsive móvil rehecho */
html,body{max-width:100%!important;overflow-x:hidden!important}
img,video,svg{max-width:100%!important}

@media(max-width:900px){
  :root{--mobile-side:18px}
  .wrap{width:100%!important;max-width:100%!important;padding-left:var(--mobile-side)!important;padding-right:var(--mobile-side)!important}

  /* Cabecero móvil */
  .topbar,.site-header,.topbar.site-header,.site-header.topbar{min-height:auto!important}
  .site-header .nav,.topbar .nav{
    height:auto!important;min-height:66px!important;padding-top:8px!important;padding-bottom:8px!important;
    gap:8px!important;display:grid!important;grid-template-columns:auto 1fr auto auto!important;align-items:center!important
  }
  .site-header .logo,.site-header .logo-word{grid-column:1!important;min-width:0!important}
  .site-header .logo img,.site-header .logo-word img{height:42px!important;width:auto!important;max-width:132px!important;object-fit:contain!important}

  .header-contact-links{grid-column:2!important;justify-self:end!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;min-width:0!important}
  .header-contact-links .header-text-link .contact-inline-text,
  .header-contact-links .header-email-group,
  .header-contact-links .header-email,
  .header-contact-links .header-email-label{display:none!important}
  .header-icon-link,.header-phone,.header-whatsapp{
    width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;display:inline-flex!important;
    align-items:center!important;justify-content:center!important;border-radius:999px!important;overflow:hidden!important
  }
  .header-icon-link img,.header-whatsapp img,.header-whatsapp-icon,.whatsapp-btn-icon{width:21px!important;height:21px!important;object-fit:contain!important}
  .phone-badge,.contact-phone-icon{width:21px!important;height:21px!important;min-width:21px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;line-height:1!important}

  .lang-dropdown-only{grid-column:3!important;justify-self:end!important;margin:0!important}
  .lang-current{min-width:46px!important;height:34px!important;padding:0 7px!important;font-size:12px!important}
  .theme-toggle{display:none!important}
  .mobile-menu-toggle{grid-column:4!important;justify-self:end!important;width:38px!important;height:38px!important;min-width:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important}

  .site-header .menu{
    position:absolute!important;top:100%!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important;
    display:none!important;flex-direction:column!important;gap:0!important;align-items:stretch!important;padding:10px!important;
    border:1px solid rgba(255,255,255,.14)!important;border-radius:18px!important;background:rgba(5,11,31,.96)!important;
    box-shadow:0 22px 55px rgba(0,0,0,.36)!important;backdrop-filter:blur(16px)!important;z-index:100000!important
  }
  .site-header.mobile-nav-open .menu{display:flex!important}
  .site-header .menu a{display:flex!important;width:100%!important;justify-content:center!important;padding:11px 14px!important;font-size:14px!important;line-height:1.1!important;border-radius:12px!important}
  .site-header .menu a::after{bottom:4px!important;left:18px!important;right:18px!important;width:auto!important;height:2px!important}

  /* Inicio */
  #inicio,.hero-modern,.hero-home{padding-top:34px!important;padding-bottom:34px!important}
  #inicio .hero-modern-grid,.hero-home .hero-modern-grid,.hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:24px!important;align-items:start!important}
  #inicio .hero-modern-copy,.hero-home .hero-modern-copy,#inicio .hero-services,.hero-home .hero-services{width:100%!important;max-width:100%!important}
  #inicio .logo-inspired-title,#inicio h1,.hero-home .logo-inspired-title{text-align:center!important;font-size:clamp(1.5rem,7vw,2.05rem)!important;line-height:1.05!important}
  #inicio .lead,.hero-home .lead,#inicio p{text-align:center!important;font-size:.95rem!important;line-height:1.55!important}
  .service-chips{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;max-width:100%!important}
  .service-chip-link{width:100%!important;min-width:0!important;justify-content:center!important;text-align:center!important;padding:9px 8px!important;font-size:12.2px!important;white-space:normal!important;line-height:1.18!important}
  .hero-actions{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:10px!important;width:100%!important}
  .hero-actions .btn,.pv-hero-actions .btn{width:100%!important;max-width:290px!important;justify-content:center!important;text-align:center!important}
  #inicio .hero-modern-visual,.hero-home .hero-modern-visual{min-height:auto!important;width:100%!important}
  #inicio .hero-image-card,.hero-home .hero-image-card{width:100%!important;max-width:100%!important;margin:0 auto!important}
  #inicio .hero-image-card img,.hero-home .hero-image-card img{width:100%!important;height:210px!important;object-fit:cover!important}

  /* Secciones */
  .onepage-section,.section,.pv-overview,.pv-solutions,.pv-feature,.pv-process,.pv-gallery,.pv-faq,.pv-about-transfer-section{padding-top:34px!important;padding-bottom:34px!important}
  .section-head,.service-section-head,.pv-section-head,.page-hero{text-align:center!important;margin-bottom:18px!important}

  /* Servicios */
  .services-grid,.onepage-servicios .services-grid,.service-cards,.cards-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .service-card,.onepage-service-card,.card{width:100%!important;max-width:100%!important}

  /* Proyectos */
  .ortek-projects-carousel{margin-top:18px!important}
  .ortek-projects-viewport{overflow-x:auto!important;padding-left:0!important;padding-right:0!important}
  .ortek-projects-track{gap:14px!important}
  .ortek-project-card{flex:0 0 88%!important;width:88%!important;min-width:88%!important;max-width:88%!important}
  .ortek-projects-arrow{width:36px!important;height:36px!important}

  /* Sobre nosotros */
  #sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card img,
  #sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card img{height:105px!important}
  .about-values{grid-template-columns:1fr!important;gap:12px!important}

  /* Fotovoltaica / páginas servicio */
  main.service-page,.pv-landing-page{width:100%!important;overflow-x:hidden!important}
  .pv-hero{padding-top:28px!important;padding-bottom:28px!important}
  .pv-hero-grid,.pv-overview-grid,.pv-feature-grid,.pv-faq-grid,.pv-about-transfer{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
  .pv-hero-copy,.pv-contact-panel,.pv-overview-copy,.pv-overview-side,.pv-feature-copy,.pv-feature-media,.pv-about-main-card,.pv-about-transfer-note{width:100%!important;max-width:100%!important;min-width:0!important}
  .pv-hero-copy .pv-hero-ortek-label{margin-left:auto!important;margin-right:auto!important}
  .pv-landing-page .pv-hero-copy .pv-main-title,.pv-landing-page .pv-hero h1.pv-main-title{
    white-space:normal!important;text-align:center!important;font-size:clamp(1.22rem,5.6vw,1.62rem)!important;line-height:1.08!important;letter-spacing:-.035em!important
  }
  .pv-hero-copy .pv-main-subtitle,.pv-lead{text-align:center!important}
  .pv-hero-actions{justify-content:center!important}
  .pv-landing-page .pv-contact-panel h2,.pv-contact-panel h2{white-space:normal!important;text-align:center!important;font-size:clamp(1.05rem,5vw,1.34rem)!important}
  .pv-contact-panel,.pv-about-transfer-note,.pv-about-main-card{padding:18px!important;border-radius:20px!important}
  .pv-solution-grid,.pv-process-grid,.pv-includes,.pv-gallery-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .pv-keyword-cloud{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important}
  .pv-keyword-cloud span{font-size:11.5px!important;line-height:1.15!important;text-align:center!important}
  .pv-feature-media img,.pv-gallery-grid img{height:190px!important;width:100%!important;object-fit:cover!important}

  /* Footer móvil */
  .footer{padding-top:30px!important;padding-bottom:24px!important;text-align:center!important}
  .footer .footer-grid{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;justify-items:center!important;text-align:center!important}
  .footer-brand,.footer-nav,.footer-contact,.footer-services,.footer-legal{width:100%!important;max-width:100%!important;align-items:center!important;text-align:center!important;justify-content:center!important}
  .footer-brand{display:flex!important;justify-content:center!important}
  .footer-brand img{width:150px!important;max-width:150px!important;margin:0 auto!important}
  .footer h3,.footer-services h3{margin-left:auto!important;margin-right:auto!important;text-align:center!important}
  .footer-service-links,.footer-service-links-horizontal{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px 10px!important;justify-items:center!important;width:100%!important;max-width:360px!important;margin:0 auto!important}
  .footer-services a{white-space:normal!important;text-align:center!important;justify-content:center!important}
  .whatsapp{right:16px!important;bottom:16px!important}
  .whatsapp-float-img{width:42px!important;height:42px!important}
}

@media(max-width:430px){
  :root{--mobile-side:14px}
  .site-header .nav,.topbar .nav{grid-template-columns:auto 1fr auto!important;gap:6px!important;min-height:62px!important}
  .site-header .logo img,.site-header .logo-word img{height:38px!important;max-width:112px!important}
  .header-contact-links{gap:4px!important}
  .header-icon-link,.header-phone,.header-whatsapp{width:31px!important;height:31px!important;min-width:31px!important}
  .lang-dropdown-only{grid-column:3!important}
  .mobile-menu-toggle{grid-column:3!important;margin-left:48px!important}
  .lang-current{min-width:42px!important;height:31px!important;font-size:11px!important}
  .service-chips{grid-template-columns:1fr!important}
  .hero-actions .btn,.pv-hero-actions .btn{max-width:100%!important}
  .ortek-project-card{flex-basis:92%!important;width:92%!important;min-width:92%!important;max-width:92%!important}
  .footer-service-links,.footer-service-links-horizontal{grid-template-columns:1fr!important}
}


/* v227: responsive móvil reforzado para páginas interiores / servicios */

/* Evitar que cualquier tarjeta o grid fuerce ancho en móvil */
@media(max-width:900px){

  main.service-page,
  main.service-page *,
  .pv-landing-page,
  .pv-landing-page *{
    max-width:100%;
    box-sizing:border-box;
  }

  main.service-page{
    overflow-x:hidden!important;
  }

  /* Páginas individuales de servicios: pasar todo a una columna real */
  .service-page-hero-grid,
  .service-two-col,
  .service-info-grid,
  .service-faq-grid,
  .service-contact-card,
  .service-process-grid,
  .service-photo-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    width:100%!important;
    max-width:100%!important;
  }

  .service-page-hero,
  .service-content-section,
  .service-photo-strip,
  .service-process-section,
  .service-info-section,
  .service-faq-section,
  .service-contact-block{
    padding-top:30px!important;
    padding-bottom:30px!important;
    overflow:hidden!important;
  }

  .service-page-hero-copy,
  .service-page-hero-card,
  .service-text-block,
  .service-side-card,
  .service-info-card,
  .service-faq-card,
  .service-contact-card,
  .service-process-card,
  .service-photo-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .service-page-hero h1,
  main.service-page .page-title,
  main.service-page h1{
    text-align:center!important;
    white-space:normal!important;
    font-size:clamp(1.34rem, 6vw, 1.82rem)!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  main.service-page h2{
    text-align:center!important;
    font-size:clamp(1.12rem, 5vw, 1.46rem)!important;
    line-height:1.12!important;
  }

  main.service-page h3{
    font-size:clamp(.98rem, 4.2vw, 1.14rem)!important;
    line-height:1.18!important;
  }

  .service-page-kicker,
  .service-back-link{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    justify-content:center!important;
    width:max-content!important;
    max-width:100%!important;
  }

  .service-page-hero p,
  .service-content-section p,
  .service-info-section p,
  .service-faq-section p,
  .service-contact-block p{
    text-align:center!important;
    font-size:.95rem!important;
    line-height:1.55!important;
  }

  .service-page-hero-actions,
  .service-actions,
  .service-contact-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:100%!important;
  }

  .service-page-hero-actions .btn,
  .service-actions .btn,
  .service-contact-actions .btn,
  main.service-page .btn{
    width:100%!important;
    max-width:310px!important;
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .service-page-hero-card,
  .service-side-card,
  .service-info-card,
  .service-faq-card,
  .service-contact-card,
  .service-process-card{
    padding:18px!important;
    border-radius:20px!important;
  }

  .service-photo-grid img,
  .service-photo-card img,
  main.service-page figure img{
    width:100%!important;
    height:185px!important;
    object-fit:cover!important;
    border-radius:18px!important;
  }

  .service-check-list,
  .service-list,
  main.service-page ul{
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    margin-left:0!important;
  }

  main.service-page li{
    text-align:left!important;
    max-width:100%!important;
  }

  /* Fotovoltaica: orden y columnas móviles sólidas */
  .pv-hero-grid,
  .pv-overview-grid,
  .pv-feature-grid,
  .pv-faq-grid,
  .pv-about-transfer{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    width:100%!important;
  }

  .pv-contact-panel{
    order:2!important;
  }

  .pv-hero-copy{
    order:1!important;
  }

  .pv-landing-page .pv-hero-copy .pv-main-title,
  .pv-landing-page .pv-hero h1.pv-main-title{
    white-space:normal!important;
    text-align:center!important;
    font-size:clamp(1.18rem, 5.4vw, 1.55rem)!important;
    line-height:1.08!important;
  }

  .pv-landing-page .pv-contact-panel h2,
  .pv-contact-panel h2{
    white-space:normal!important;
    text-align:center!important;
    font-size:clamp(1.08rem, 5vw, 1.3rem)!important;
    line-height:1.12!important;
  }

  .pv-process-grid,
  .pv-solution-grid,
  .pv-includes,
  .pv-gallery-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .pv-step,
  .pv-solution-card,
  .pv-side-card,
  .pv-includes article{
    width:100%!important;
    max-width:100%!important;
  }
}

/* Móvil estrecho: corregir cabecero, no solapar idioma y menú */
@media(max-width:430px){
  .site-header .nav,
  .topbar .nav{
    grid-template-columns:auto 1fr auto auto!important;
    gap:5px!important;
  }

  .header-contact-links{
    grid-column:2!important;
  }

  .lang-dropdown-only{
    grid-column:3!important;
  }

  .mobile-menu-toggle{
    grid-column:4!important;
    margin-left:0!important;
  }

  .site-header .logo img,
  .site-header .logo-word img{
    height:36px!important;
    max-width:104px!important;
  }

  .header-icon-link,
  .header-phone,
  .header-whatsapp{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
  }

  .lang-current{
    min-width:38px!important;
    height:29px!important;
    font-size:10.5px!important;
  }

  .mobile-menu-toggle{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
  }
}


/* v228: móvil corregido: cabecero, footer, inicio y páginas interiores */

/* Seguridad general */
html,
body{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}

img{
  display:block!important;
  max-width:100%!important;
}

@media(max-width:900px){

  html,
  body{
    zoom:1!important;
    transform:none!important;
  }

  *{
    box-sizing:border-box!important;
  }

  .wrap{
    width:100%!important;
    max-width:100%!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }

  /* CABECERO MÓVIL: 2 líneas.
     Arriba: logo + idioma + menú.
     Abajo: teléfono y email con texto. */
  .topbar,
  .site-header,
  .topbar.site-header,
  .site-header.topbar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    z-index:999999!important;
  }

  .site-header .nav,
  .topbar .nav{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:auto!important;
    padding:7px 12px 8px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto auto!important;
    grid-template-areas:
      "logo spacer lang menu"
      "quick quick quick quick"!important;
    gap:7px 8px!important;
    align-items:center!important;
  }

  .site-header .logo,
  .site-header .logo-word{
    grid-area:logo!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
  }

  .site-header .logo img,
  .site-header .logo-word img{
    height:38px!important;
    width:auto!important;
    max-width:122px!important;
    object-fit:contain!important;
  }

  .lang-dropdown-only{
    grid-area:lang!important;
    justify-self:end!important;
    margin:0!important;
  }

  .lang-current{
    min-width:44px!important;
    height:32px!important;
    padding:0 7px!important;
    font-size:11px!important;
    line-height:1!important;
  }

  .theme-toggle{
    display:none!important;
  }

  .mobile-menu-toggle{
    grid-area:menu!important;
    justify-self:end!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    padding:0!important;
    margin:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .mobile-menu-toggle span:not(.mobile-menu-icon){
    display:none!important;
  }

  .header-contact-links{
    grid-area:quick!important;
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:8px!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
  }

  /* En móvil dejamos teléfono + email. WhatsApp ya está flotante. */
  .header-contact-links .header-whatsapp{
    display:none!important;
  }

  .header-contact-links .header-phone{
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    height:32px!important;
    padding:0 10px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }

  .header-phone .phone-badge{
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .header-phone .contact-phone-icon{
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    font-size:15px!important;
    line-height:1!important;
  }

  .header-phone .contact-inline-text{
    display:inline!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:800!important;
    white-space:nowrap!important;
  }

  .header-email-group{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    overflow:hidden!important;
  }

  .header-email-button{
    width:auto!important;
    min-width:0!important;
    height:32px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  .header-email-button .contact-email-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    font-size:15px!important;
    line-height:1!important;
  }

  .header-email-button .contact-label{
    display:none!important;
  }

  .header-email-copy{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:11.5px!important;
    line-height:1!important;
    font-weight:700!important;
  }

  /* Menú desplegable móvil */
  .site-header .menu{
    position:fixed!important;
    top:var(--ortek-header-height, 86px)!important;
    left:12px!important;
    right:12px!important;
    display:none!important;
    width:auto!important;
    max-width:none!important;
    padding:10px!important;
    flex-direction:column!important;
    gap:0!important;
    align-items:stretch!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:18px!important;
    background:rgba(5,11,31,.98)!important;
    box-shadow:0 24px 60px rgba(0,0,0,.42)!important;
    z-index:1000000!important;
  }

  .site-header.mobile-nav-open .menu{
    display:flex!important;
  }

  .site-header .menu a{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    padding:12px 14px!important;
    border-radius:12px!important;
    font-size:14px!important;
    line-height:1.1!important;
    text-align:center!important;
  }

  .site-header .menu a::after{
    bottom:4px!important;
    left:22px!important;
    right:22px!important;
    width:auto!important;
    height:2px!important;
  }

  /* Inicio: texto más pequeño y legible */
  #inicio,
  .hero-modern,
  .hero-home{
    padding-top:24px!important;
    padding-bottom:28px!important;
    overflow:hidden!important;
  }

  #inicio .hero-modern-grid,
  .hero-home .hero-modern-grid,
  .hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    width:100%!important;
    max-width:100%!important;
  }

  #inicio .hero-modern-copy,
  .hero-home .hero-modern-copy{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    text-align:center!important;
  }

  #inicio .logo-inspired-title,
  #inicio h1,
  .hero-home .logo-inspired-title{
    font-size:clamp(1.35rem, 6vw, 1.72rem)!important;
    line-height:1.05!important;
    text-align:center!important;
    margin-bottom:10px!important;
  }

  #inicio .lead,
  .hero-home .lead,
  #inicio .hero-modern-copy p{
    font-size:.86rem!important;
    line-height:1.42!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:100%!important;
  }

  #inicio .hero-image-card img,
  .hero-home .hero-image-card img{
    width:100%!important;
    height:185px!important;
    object-fit:cover!important;
  }

  .service-chips{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
  }

  .service-chip-link{
    width:100%!important;
    min-width:0!important;
    padding:8px 7px!important;
    font-size:11.6px!important;
    line-height:1.15!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
  }

  .hero-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:9px!important;
    width:100%!important;
  }

  .hero-actions .btn{
    width:100%!important;
    max-width:280px!important;
    justify-content:center!important;
    text-align:center!important;
  }

  /* Páginas interiores: todo lo de la derecha baja abajo */
  main,
  main.service-page,
  .service-page,
  .pv-landing-page,
  main > section{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }

  .service-page-hero-grid,
  .service-two-col,
  .service-photo-grid,
  .service-process-grid,
  .service-info-grid,
  .service-faq-grid,
  .service-contact-card,
  .pv-hero-grid,
  .pv-overview-grid,
  .pv-feature-grid,
  .pv-faq-grid,
  .pv-about-transfer,
  .pv-process-grid,
  .pv-solution-grid,
  .pv-includes,
  .pv-gallery-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-columns:minmax(0,1fr)!important;
    gap:16px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .service-page-hero-grid > *,
  .service-two-col > *,
  .service-photo-grid > *,
  .service-process-grid > *,
  .service-info-grid > *,
  .service-faq-grid > *,
  .service-contact-card > *,
  .pv-hero-grid > *,
  .pv-overview-grid > *,
  .pv-feature-grid > *,
  .pv-faq-grid > *,
  .pv-about-transfer > *,
  .pv-process-grid > *,
  .pv-solution-grid > *,
  .pv-includes > *,
  .pv-gallery-grid > *{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:auto!important;
  }

  .service-page-hero,
  .service-content-section,
  .service-photo-strip,
  .service-process-section,
  .service-info-section,
  .service-faq-section,
  .service-contact-block,
  .pv-hero,
  .pv-process,
  .pv-solutions,
  .pv-about-transfer-section,
  .pv-overview,
  .pv-feature,
  .pv-gallery,
  .pv-faq{
    padding-top:28px!important;
    padding-bottom:28px!important;
  }

  main.service-page h1,
  main.service-page .page-title,
  .pv-landing-page .pv-main-title{
    white-space:normal!important;
    text-align:center!important;
    font-size:clamp(1.2rem, 5.3vw, 1.58rem)!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
  }

  main.service-page h2,
  .pv-landing-page h2,
  .pv-contact-panel h2{
    white-space:normal!important;
    text-align:center!important;
    font-size:clamp(1.04rem, 4.8vw, 1.3rem)!important;
    line-height:1.12!important;
  }

  main.service-page p,
  .pv-landing-page p{
    font-size:.93rem!important;
    line-height:1.52!important;
    max-width:100%!important;
  }

  .service-page-hero-actions,
  .service-actions,
  .service-contact-actions,
  .pv-hero-actions,
  .pv-contact-buttons{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:100%!important;
  }

  main.service-page .btn,
  .pv-hero-actions .btn,
  .pv-contact-buttons .btn{
    width:100%!important;
    max-width:310px!important;
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .service-page-hero-card,
  .service-side-card,
  .service-info-card,
  .service-faq-card,
  .service-contact-card,
  .service-process-card,
  .pv-contact-panel,
  .pv-solution-card,
  .pv-side-card,
  .pv-step,
  .pv-about-main-card,
  .pv-about-transfer-note,
  .pv-includes article{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:18px!important;
    border-radius:20px!important;
  }

  /* Fotos visibles en móvil */
  .service-photo-strip,
  .service-photo-grid,
  .service-photo-card,
  .pv-feature-media,
  .pv-gallery,
  .pv-gallery-grid{
    display:grid!important;
  }

  .service-photo-grid img,
  .service-photo-card img,
  main.service-page figure img,
  .pv-feature-media img,
  .pv-gallery-grid img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:180px!important;
    object-fit:cover!important;
    border-radius:18px!important;
  }

  /* Footer móvil: sin servicios; logo pequeño; Legal y Contacto en la misma fila */
  .footer{
    padding-top:24px!important;
    padding-bottom:24px!important;
    text-align:center!important;
  }

  .footer .footer-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:
      "brand brand"
      "legal contact"!important;
    gap:18px 14px!important;
    align-items:start!important;
    justify-items:stretch!important;
    text-align:center!important;
  }

  .footer-brand{
    grid-area:brand!important;
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
  }

  .footer-brand img{
    width:108px!important;
    max-width:108px!important;
    height:auto!important;
    margin:0 auto!important;
  }

  .footer-legal{
    grid-area:legal!important;
    width:100%!important;
    text-align:center!important;
  }

  .footer-contact{
    grid-area:contact!important;
    width:100%!important;
    text-align:center!important;
  }

  .footer-services{
    display:none!important;
  }

  .footer h3,
  .footer-contact h3,
  .footer-legal h3{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    font-size:11.5px!important;
  }

  .footer p,
  .footer a,
  .footer button{
    font-size:10.8px!important;
    line-height:1.35!important;
  }

  /* WhatsApp flotante más grande */
  .whatsapp{
    right:16px!important;
    bottom:16px!important;
  }

  .whatsapp-float-img{
    width:58px!important;
    height:58px!important;
  }
}

@media(max-width:430px){
  .wrap{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .site-header .nav,
  .topbar .nav{
    grid-template-columns:auto minmax(0,1fr) auto auto!important;
    padding-left:10px!important;
    padding-right:10px!important;
    gap:6px!important;
  }

  .site-header .logo img,
  .site-header .logo-word img{
    height:35px!important;
    max-width:102px!important;
  }

  .header-contact-links{
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:6px!important;
  }

  .header-phone .contact-inline-text{
    font-size:11px!important;
  }

  .header-contact-links .header-phone{
    height:30px!important;
    padding:0 8px!important;
  }

  .header-email-copy{
    font-size:10.5px!important;
  }

  .lang-current{
    min-width:39px!important;
    height:30px!important;
    font-size:10.5px!important;
  }

  .mobile-menu-toggle{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
  }

  .service-chips{
    grid-template-columns:1fr!important;
  }

  .footer .footer-grid{
    gap:16px 10px!important;
  }
}


/* v230: nuevos proyectos desde Excel + fotos por carpeta de proyecto */
.ortek-project-card.project-format-card .ortek-project-body h3{
  margin:0 0 6px!important;
  font-size:1.02rem!important;
  line-height:1.18!important;
  letter-spacing:-.015em!important;
  color:var(--ink)!important;
}
html[data-theme="dark"] .ortek-project-card.project-format-card .ortek-project-body h3{
  color:#ffffff!important;
}
.project-type-text{
  margin:0 0 10px!important;
  font-size:.78rem!important;
  line-height:1.22!important;
  font-weight:800!important;
  color:#f2c411!important;
  text-transform:none!important;
}
.ortek-project-card .project-rotating-image{
  transition:opacity .18s ease!important;
}
.ortek-project-card .project-rotating-image.is-changing{
  opacity:.35!important;
}
.ortek-project-card.project-format-card .project-description{
  margin-top:0!important;
}
.ortek-project-card.project-format-card .project-specs{
  margin-top:12px!important;
}
@media(max-width:900px){
  .ortek-project-card.project-format-card .ortek-project-body h3{
    font-size:.98rem!important;
    text-align:left!important;
  }
  .project-type-text{
    font-size:.74rem!important;
    text-align:left!important;
  }
}


/* v234: desde v230 - proyectos sin número y solo si tienen fotos reales */
.ortek-project-card .project-heading-line{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:7px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 7px!important;
  padding:0!important;
  line-height:1.08!important;
  flex-wrap:nowrap!important;
  overflow:hidden!important;
}

.ortek-project-card .project-heading-type{
  display:inline-block!important;
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:56%!important;
  font-size:.66rem!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:.018em!important;
  text-transform:none!important;
  color:#f2c411!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.ortek-project-card .project-heading-population{
  display:inline-block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:44%!important;
  font-size:.86rem!important;
  line-height:1.08!important;
  font-weight:900!important;
  letter-spacing:-.018em!important;
  color:var(--ink)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

html[data-theme="dark"] .ortek-project-card .project-heading-population{
  color:#ffffff!important;
}

@media(max-width:900px){
  .ortek-project-card .project-heading-line{
    gap:6px!important;
    margin-bottom:7px!important;
  }

  .ortek-project-card .project-heading-type{
    max-width:58%!important;
    font-size:.62rem!important;
  }

  .ortek-project-card .project-heading-population{
    max-width:42%!important;
    font-size:.82rem!important;
  }
}

@media(max-width:430px){
  .ortek-project-card .project-heading-type{
    max-width:60%!important;
    font-size:.59rem!important;
  }

  .ortek-project-card .project-heading-population{
    max-width:40%!important;
    font-size:.78rem!important;
  }
}


/* v235: proyectos - solo proyectos con fotos reales y cabecera en dos líneas */
.ortek-project-card .project-heading-line{
  display:none!important;
}

.ortek-project-card .project-heading-block{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 8px!important;
  padding:0!important;
  line-height:1.1!important;
  overflow:hidden!important;
}

.ortek-project-card .project-heading-block .project-heading-type{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 3px!important;
  padding:0!important;
  font-size:.68rem!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:.015em!important;
  text-transform:none!important;
  color:#f2c411!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.ortek-project-card .project-heading-block .project-heading-population{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  font-size:.88rem!important;
  line-height:1.08!important;
  font-weight:900!important;
  letter-spacing:-.018em!important;
  color:var(--ink)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

html[data-theme="dark"] .ortek-project-card .project-heading-block .project-heading-population{
  color:#ffffff!important;
}

@media(max-width:900px){
  .ortek-project-card .project-heading-block{
    margin-bottom:7px!important;
  }

  .ortek-project-card .project-heading-block .project-heading-type{
    font-size:.64rem!important;
  }

  .ortek-project-card .project-heading-block .project-heading-population{
    font-size:.84rem!important;
  }
}

@media(max-width:430px){
  .ortek-project-card .project-heading-block .project-heading-type{
    font-size:.61rem!important;
  }

  .ortek-project-card .project-heading-block .project-heading-population{
    font-size:.80rem!important;
  }
}


/* v236: página Fotovoltaica - proyectos reales FV y CTAs entre secciones */
.pv-about-transfer{
  grid-template-columns:1fr!important;
}

.pv-about-transfer-note{
  display:none!important;
}

.pv-section-contact-buttons{
  margin-top:22px!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}

.pv-section-contact-buttons .btn{
  justify-content:center!important;
  text-align:center!important;
}

.pv-fv-projects-section .service-section-head{
  margin-bottom:18px!important;
}

.pv-fv-projects-section .ortek-projects-carousel{
  margin-top:0!important;
}

.pv-fv-projects-section .ortek-project-card .project-heading-block{
  margin-bottom:8px!important;
}

@media(min-width:901px){
  .pv-fv-projects-section .ortek-project-card{
    flex:0 0 calc((100% - 72px) / 4)!important;
  }
}

@media(max-width:900px){
  .pv-section-contact-buttons{
    flex-direction:column!important;
    margin-top:18px!important;
  }

  .pv-section-contact-buttons .btn{
    width:100%!important;
    max-width:310px!important;
  }
}


/* v237: Fotovoltaica - fuera Ortek Solar y Placas solares / Autoconsumo */
.pv-about-transfer-section,
.pv-overview{
  display:none!important;
}


/* v238: Fotovoltaica - proyectos al principio y sin foto en sección de presupuesto */
.pv-feature .pv-feature-media{
  display:none!important;
}

.pv-feature .pv-feature-grid{
  grid-template-columns:1fr!important;
}

.pv-hero + .pv-fv-projects-section{
  padding-top:30px!important;
}

.pv-fv-projects-section + .pv-process{
  padding-top:30px!important;
}


/* v239: Fotovoltaica - títulos largos en una línea y más margen derecho */
.pv-landing-page .pv-feature .pv-section-head,
.pv-landing-page .pv-faq .pv-section-head,
.pv-landing-page .pv-feature-copy,
.pv-landing-page .pv-faq-grid{
  width:100%!important;
  max-width:none!important;
}

.pv-landing-page .pv-feature h2,
.pv-landing-page .pv-faq h2{
  width:100%!important;
  max-width:none!important;
  white-space:nowrap!important;
  font-size:clamp(1rem, 1.28vw, 1.18rem)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  margin-right:0!important;
  text-wrap:normal!important;
}

.pv-landing-page .pv-feature .wrap,
.pv-landing-page .pv-faq .wrap{
  max-width:1180px!important;
}

@media(max-width:900px){
  .pv-landing-page .pv-feature h2,
  .pv-landing-page .pv-faq h2{
    white-space:normal!important;
    font-size:clamp(1.04rem, 4.8vw, 1.3rem)!important;
    line-height:1.12!important;
  }
}


/* v240: Fotovoltaica - Preguntas frecuentes fuera */
.pv-faq{
  display:none!important;
}


/* v241: fotos de servicios organizadas por carpetas */
.service-anchor-card .card-img,
.onepage-servicios .card-img{
  object-fit:cover!important;
  object-position:center!important;
}

#fotovoltaica .card-img,
#electricidad .card-img,
#recarga-ve .card-img,
#almacenamiento .card-img,
#servicio-mantenimiento .card-img{
  object-position:center center!important;
}


/* v241 fix: foto almacenamiento eléctrico */
#servicio-almacenamiento .card-img,
#emmagatzematge .card-img,
#servei-emmagatzematge .card-img{
  object-position:center center!important;
}


/* v242: Trámites y ayudas con imagen propia + Sobre nosotros más compacto */
#servicio-tramites-ayudas .card-img{
  object-fit:cover!important;
  object-position:center center!important;
}

/* Sobre nosotros: foto a media anchura en escritorio */
@media(min-width:901px){
  #sobre-nosotros .about-showcase.about-showcase-only-visual,
  #sobre-nosaltres .about-showcase.about-showcase-only-visual{
    width:50%!important;
    max-width:50%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  #sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card,
  #sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* Sobre nosotros: valores 01-07 más pequeños */
#sobre-nosotros .about-value-card,
#sobre-nosaltres .about-value-card{
  padding:14px 15px!important;
  border-radius:18px!important;
}

#sobre-nosotros .about-value-card .about-value-number,
#sobre-nosaltres .about-value-card .about-value-number,
#sobre-nosotros .about-value-card strong:first-child,
#sobre-nosaltres .about-value-card strong:first-child{
  font-size:.72rem!important;
  line-height:1!important;
}

#sobre-nosotros .about-value-card h3,
#sobre-nosaltres .about-value-card h3,
#sobre-nosotros .about-value-card .h3,
#sobre-nosaltres .about-value-card .h3{
  font-size:.88rem!important;
  line-height:1.12!important;
  margin-bottom:5px!important;
}

#sobre-nosotros .about-value-card p,
#sobre-nosaltres .about-value-card p{
  font-size:.76rem!important;
  line-height:1.34!important;
  margin-bottom:0!important;
}

@media(max-width:900px){
  #sobre-nosotros .about-showcase.about-showcase-only-visual,
  #sobre-nosaltres .about-showcase.about-showcase-only-visual{
    width:100%!important;
    max-width:100%!important;
  }

  #sobre-nosotros .about-value-card,
  #sobre-nosaltres .about-value-card{
    padding:13px 14px!important;
  }
}


/* v243: Trámites estilo documento sobre mesa + Sobre nosotros ajustes finos */

/* Foto Sobre nosotros: empezar arriba izquierda, no centrada */
#sobre-nosotros .about-showcase.about-showcase-only-visual,
#sobre-nosaltres .about-showcase.about-showcase-only-visual{
  margin-left:0!important;
  margin-right:auto!important;
}

#sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card,
#sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card{
  margin-left:0!important;
  margin-right:auto!important;
}

#sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card img,
#sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card img{
  object-position:left top!important;
}

/* Recuadros 01-07 más pequeños, números iguales y texto algo menor */
#sobre-nosotros .about-values,
#sobre-nosaltres .about-values{
  gap:10px!important;
}

#sobre-nosotros .about-value-card,
#sobre-nosaltres .about-value-card{
  padding:10px 12px!important;
  border-radius:15px!important;
  min-height:0!important;
}

#sobre-nosotros .about-value-card > span:first-child,
#sobre-nosaltres .about-value-card > span:first-child{
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}

#sobre-nosotros .about-value-card h3,
#sobre-nosaltres .about-value-card h3,
#sobre-nosotros .about-value-card .h3,
#sobre-nosaltres .about-value-card .h3{
  font-size:.78rem!important;
  line-height:1.1!important;
  margin-bottom:4px!important;
}

#sobre-nosotros .about-value-card p,
#sobre-nosaltres .about-value-card p{
  font-size:.68rem!important;
  line-height:1.28!important;
  margin:0!important;
}

@media(min-width:901px){
  #sobre-nosotros .about-showcase.about-showcase-only-visual,
  #sobre-nosaltres .about-showcase.about-showcase-only-visual{
    width:50%!important;
    max-width:50%!important;
  }
}

@media(max-width:900px){
  #sobre-nosotros .about-showcase.about-showcase-only-visual,
  #sobre-nosaltres .about-showcase.about-showcase-only-visual{
    width:100%!important;
    max-width:100%!important;
  }
}


/* v244: Sobre nosotros sin punto 3, numeración rehecha + título en la misma línea */
#sobre-nosotros .about-value-heading,
#sobre-nosaltres .about-value-heading{
  display:flex!important;
  align-items:baseline!important;
  gap:7px!important;
  width:100%!important;
  margin:0 0 4px!important;
  line-height:1.05!important;
}

#sobre-nosotros .about-value-heading .about-value-number,
#sobre-nosaltres .about-value-heading .about-value-number{
  flex:0 0 auto!important;
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  color:#f2c411!important;
}

#sobre-nosotros .about-value-heading .about-value-title,
#sobre-nosaltres .about-value-heading .about-value-title{
  flex:1 1 auto!important;
  min-width:0!important;
  font-size:.78rem!important;
  line-height:1.08!important;
  font-weight:900!important;
  color:var(--ink)!important;
}

html[data-theme="dark"] #sobre-nosotros .about-value-heading .about-value-title,
html[data-theme="dark"] #sobre-nosaltres .about-value-heading .about-value-title{
  color:#ffffff!important;
}

/* Inicio: texto principal un poco más pequeño */
#inicio .lead,
.hero-home .lead,
#inicio .hero-modern-copy p,
.hero-home .hero-modern-copy p{
  font-size:.92rem!important;
  line-height:1.48!important;
}

@media(max-width:900px){
  #inicio .lead,
  .hero-home .lead,
  #inicio .hero-modern-copy p,
  .hero-home .hero-modern-copy p{
    font-size:.82rem!important;
    line-height:1.38!important;
  }
}


/* v245: Sobre nosotros corregido + proyectos con checks verdes */

/* Sobre nosotros: número con recuadro + título en la misma línea */
#sobre-nosotros .about-value-heading,
#sobre-nosaltres .about-value-heading{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  margin:0 0 5px!important;
  line-height:1!important;
}

#sobre-nosotros .about-value-heading .about-value-number,
#sobre-nosaltres .about-value-heading .about-value-number{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  border-radius:8px!important;
  background:#f2c411!important;
  color:#203247!important;
  font-size:.72rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:0!important;
  box-shadow:0 6px 14px rgba(0,0,0,.10)!important;
}

#sobre-nosotros .about-value-heading .about-value-title,
#sobre-nosaltres .about-value-heading .about-value-title{
  display:inline-block!important;
  min-width:0!important;
  font-size:.80rem!important;
  line-height:1.08!important;
  font-weight:900!important;
  color:var(--ink)!important;
}

html[data-theme="dark"] #sobre-nosotros .about-value-heading .about-value-title,
html[data-theme="dark"] #sobre-nosaltres .about-value-heading .about-value-title{
  color:#ffffff!important;
}

/* Foto Sobre nosotros: misma anchura, mitad de altura aproximadamente */
#sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card img,
#sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card img{
  height:clamp(58px, 6vw, 82px)!important;
  object-position:left top!important;
}

/* Recuadros Sobre nosotros compactos */
#sobre-nosotros .about-value-card,
#sobre-nosaltres .about-value-card{
  padding:10px 12px!important;
  border-radius:15px!important;
  min-height:0!important;
}

#sobre-nosotros .about-value-card p,
#sobre-nosaltres .about-value-card p{
  font-size:.68rem!important;
  line-height:1.28!important;
  margin:0!important;
}

/* Proyectos: quitar rayitas amarillas y convertir especificaciones en recuadros con check verde */
.ortek-project-card .project-heading-line::after,
.ortek-project-card .project-heading-block::after,
.ortek-project-card h3::after,
.ortek-project-card .project-type-text::after{
  content:none!important;
  display:none!important;
}

.ortek-project-card .project-specs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-top:10px!important;
  padding-top:0!important;
  border-top:0!important;
}

.ortek-project-card .project-specs span{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  width:auto!important;
  min-width:0!important;
  padding:5px 8px!important;
  border:1px solid rgba(34,197,94,.38)!important;
  border-radius:999px!important;
  background:rgba(34,197,94,.10)!important;
  color:var(--ink)!important;
  font-size:.68rem!important;
  line-height:1.1!important;
  font-weight:700!important;
  box-shadow:none!important;
}

html[data-theme="dark"] .ortek-project-card .project-specs span{
  color:#ffffff!important;
  background:rgba(34,197,94,.13)!important;
  border-color:rgba(34,197,94,.45)!important;
}

.ortek-project-card .project-specs span::before{
  content:"✓"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  border-radius:50%!important;
  background:#22c55e!important;
  color:#ffffff!important;
  font-size:.58rem!important;
  line-height:1!important;
  font-weight:900!important;
}

@media(max-width:900px){
  #sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card img,
  #sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card img{
    height:82px!important;
  }

  .ortek-project-card .project-specs span{
    font-size:.64rem!important;
    padding:5px 7px!important;
  }
}


/* v246: checks como inicio + tamaños coherentes entre página principal y páginas interiores */

/* Proyectos: fuera recuadro verde. Check verde sencillo como las listas de servicios/inicio */
.ortek-project-card .project-specs{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:5px!important;
  margin-top:10px!important;
  padding-top:0!important;
  border-top:0!important;
}

.ortek-project-card .project-specs span{
  display:flex!important;
  align-items:flex-start!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ink)!important;
  font-size:.72rem!important;
  line-height:1.22!important;
  font-weight:800!important;
}

html[data-theme="dark"] .ortek-project-card .project-specs span{
  color:#e8edf3!important;
  background:transparent!important;
  border:0!important;
}

.ortek-project-card .project-specs span::before{
  content:"✓"!important;
  display:inline!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  margin:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#22c55e!important;
  font-size:.84rem!important;
  line-height:1.08!important;
  font-weight:900!important;
}

/* Tamaño del texto principal de Inicio */
#inicio .lead,
.hero-home .lead,
#inicio .hero-modern-copy p,
.hero-home .hero-modern-copy p{
  font-size:.90rem!important;
  line-height:1.46!important;
}

/* Aplicar ese criterio al texto inicial de cada página/sección interior */
.service-page-lead,
.service-page-hero p,
.pv-lead,
.pv-main-subtitle,
.pv-contact-panel p,
.pv-section-head p,
.service-section-head p,
.service-content-section .service-text-block > p,
.service-info-section p,
.service-faq-section p,
.service-contact-block p,
.pv-feature-copy > p,
.pv-solutions .pv-section-head p,
.pv-process .pv-section-head p,
.pv-final-cta p{
  font-size:.90rem!important;
  line-height:1.46!important;
}

/* Títulos y textos de páginas interiores alineados con página principal, sin titulares enormes */
main.service-page,
.pv-landing-page{
  font-size:14px!important;
}

main.service-page h1,
main.service-page .page-title,
.service-page-hero h1,
.pv-landing-page h1,
.pv-landing-page .pv-main-title{
  font-size:clamp(1.42rem, 2.05vw, 1.82rem)!important;
  line-height:1.1!important;
  letter-spacing:-.022em!important;
  text-transform:none!important;
  max-width:none!important;
}

main.service-page h2,
.service-page h2,
.pv-landing-page h2,
.pv-section-head h2,
.service-section-head h2{
  font-size:clamp(1.22rem, 1.75vw, 1.52rem)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
}

main.service-page h3,
.service-page h3,
.pv-landing-page h3{
  font-size:clamp(.94rem, 1.12vw, 1.08rem)!important;
  line-height:1.18!important;
}

main.service-page p,
.pv-landing-page p,
.service-page li,
.pv-landing-page li{
  font-size:.86rem!important;
  line-height:1.46!important;
}

.service-page-kicker,
.pv-hero-ortek-label,
.pv-contact-kicker{
  font-size:.68rem!important;
  line-height:1!important;
}

/* Tarjetas/listas interiores un poco más compactas para igualar la página principal */
.service-page-hero-card,
.service-side-card,
.service-info-card,
.service-faq-card,
.service-contact-card,
.service-process-card,
.pv-contact-panel,
.pv-solution-card,
.pv-side-card,
.pv-step,
.pv-includes article{
  font-size:.86rem!important;
}

/* Móvil */
@media(max-width:900px){
  #inicio .lead,
  .hero-home .lead,
  #inicio .hero-modern-copy p,
  .hero-home .hero-modern-copy p,
  .service-page-lead,
  .service-page-hero p,
  .pv-lead,
  .pv-main-subtitle,
  .pv-contact-panel p,
  .pv-section-head p,
  .service-section-head p,
  .pv-final-cta p{
    font-size:.82rem!important;
    line-height:1.38!important;
  }

  main.service-page h1,
  main.service-page .page-title,
  .service-page-hero h1,
  .pv-landing-page h1,
  .pv-landing-page .pv-main-title{
    font-size:clamp(1.24rem, 5.1vw, 1.55rem)!important;
    line-height:1.08!important;
  }

  main.service-page h2,
  .service-page h2,
  .pv-landing-page h2,
  .pv-section-head h2,
  .service-section-head h2{
    font-size:clamp(1.05rem, 4.6vw, 1.28rem)!important;
    line-height:1.12!important;
  }

  main.service-page p,
  .pv-landing-page p,
  .service-page li,
  .pv-landing-page li{
    font-size:.82rem!important;
    line-height:1.38!important;
  }

  .ortek-project-card .project-specs span{
    font-size:.68rem!important;
  }
}


/* v247: Proyectos - texto, tipo sin negrita y sol en especificaciones */

/* Frase inicial de Proyectos igual al texto de Inicio */
#proyectos .section-head p,
#projectes .section-head p,
.ortek-projects-section .section-head p,
.ortek-projects-section .service-section-head p,
.ortek-projects-section p.section-intro,
.ortek-projects-section .lead{
  font-size:.90rem!important;
  line-height:1.46!important;
  font-weight:400!important;
  color:var(--muted)!important;
}

/* Tipo de instalación en proyectos sin negrita */
.ortek-project-card .project-heading-type,
.ortek-project-card .project-type,
.ortek-project-card .project-type-text,
.ortek-project-card .project-main-data span{
  font-weight:400!important;
}

/* Especificaciones de proyectos: mismo sol/asterisco visual que los recuadros de servicios */
.ortek-project-card .project-specs span::before{
  content:"✹"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  margin-top:-1px!important;
  border-radius:50%!important;
  background:#f2c411!important;
  color:#203247!important;
  font-size:.62rem!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:0 3px 8px rgba(242,196,17,.25)!important;
}

@media(max-width:900px){
  #proyectos .section-head p,
  #projectes .section-head p,
  .ortek-projects-section .section-head p,
  .ortek-projects-section .service-section-head p,
  .ortek-projects-section p.section-intro,
  .ortek-projects-section .lead{
    font-size:.82rem!important;
    line-height:1.38!important;
  }
}


/* v248: Sobre nosotros - imagen 60% más pequeña y textos igual que recuadros de servicios */
#sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card img,
#sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card img{
  height:clamp(23px, 2.4vw, 33px)!important;
  object-position:left top!important;
}

#sobre-nosotros .about-value-card p,
#sobre-nosaltres .about-value-card p{
  font-size:14px!important;
  line-height:1.42!important;
  font-weight:800!important;
  color:#344054!important;
}

html[data-theme="dark"] #sobre-nosotros .about-value-card p,
html[data-theme="dark"] #sobre-nosaltres .about-value-card p{
  color:#e8edf3!important;
}

@media(max-width:900px){
  #sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card img,
  #sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card img{
    height:33px!important;
  }

  #sobre-nosotros .about-value-card p,
  #sobre-nosaltres .about-value-card p{
    font-size:14px!important;
    line-height:1.42!important;
  }
}


/* v249: usar favicon de la pestaña en especificaciones de proyectos */
.ortek-project-card .project-specs span::before{
  content:""!important;
  display:inline-block!important;
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  margin-top:0!important;
  border-radius:0!important;
  background:transparent url("assets/favicon.jpg") center/contain no-repeat!important;
  color:transparent!important;
  box-shadow:none!important;
  font-size:0!important;
  line-height:1!important;
}


/* v250: imagen Ortek en especificaciones de proyectos + ajustes Sobre nosotros */

/* Proyectos: usar imagen enviada en lugar del favicon */
.ortek-project-card .project-specs span::before{
  content:""!important;
  display:inline-block!important;
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  margin-top:-1px!important;
  border-radius:50%!important;
  background:transparent url("assets/proyectos/iconos/logo-ortek-checks.jpg") center/contain no-repeat!important;
  color:transparent!important;
  box-shadow:none!important;
  font-size:0!important;
  line-height:1!important;
}

/* Sobre nosotros: texto 1-6 igual que descripción de proyectos */
#sobre-nosotros .about-value-card p,
#sobre-nosaltres .about-value-card p{
  color:var(--muted)!important;
  font-size:.84rem!important;
  line-height:1.56!important;
  font-weight:400!important;
  margin:0!important;
}

/* Sobre nosotros: imagen al 40% del tamaño actual */
#sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card img,
#sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card img{
  height:clamp(9px, .96vw, 13px)!important;
  object-position:left top!important;
}

@media(max-width:900px){
  #sobre-nosotros .about-showcase.about-showcase-only-visual .about-visual-card img,
  #sobre-nosaltres .about-showcase.about-showcase-only-visual .about-visual-card img{
    height:13px!important;
  }

  #sobre-nosotros .about-value-card p,
  #sobre-nosaltres .about-value-card p{
    font-size:.84rem!important;
    line-height:1.56!important;
  }
}


/* v253 desde v250: especificaciones FV con Potencia kWp y texto menos pesado */
.ortek-project-card .project-specs{
  gap:4px!important;
}

.ortek-project-card .project-specs span{
  font-size:.68rem!important;
  line-height:1.24!important;
  font-weight:500!important;
  letter-spacing:0!important;
  color:var(--muted)!important;
}

html[data-theme="dark"] .ortek-project-card .project-specs span{
  color:#d9e3ef!important;
}

.ortek-project-card .project-specs span::before{
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  opacity:.92!important;
}

@media(max-width:900px){
  .ortek-project-card .project-specs span{
    font-size:.65rem!important;
    line-height:1.22!important;
    font-weight:500!important;
  }
}


/* v254: título Ortek sin subrayado antiguo y con subrayado tipo Servicios */
#inicio .hero-brand,
#inicio .hero-brand *,
#inicio .brand-title,
#inicio .brand-title *,
#inicio .hero-modern-title,
#inicio .hero-modern-title *,
#inicio .hero-title,
#inicio .hero-title *,
#inicio h1,
#inicio h1 *{
  text-decoration:none!important;
}

#inicio h1,
#inicio .hero-modern-title,
#inicio .hero-title,
#inicio .brand-title{
  position:relative!important;
  display:inline-block!important;
}

#inicio h1::after,
#inicio .hero-modern-title::after,
#inicio .hero-title::after,
#inicio .brand-title::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:-10px!important;
  width:82px!important;
  height:5px!important;
  border-radius:999px!important;
  background:#f2c411!important;
  box-shadow:0 8px 18px rgba(242,196,17,.28)!important;
}

/* Sobre nosotros: dos fotos pequeñas en un recuadro dividido */
#sobre-nosotros .about-dual-visual,
#sobre-nosaltres .about-dual-visual{
  width:42%!important;
  max-width:420px!important;
  margin-left:0!important;
  margin-right:auto!important;
}

#sobre-nosotros .about-dual-photo-card,
#sobre-nosaltres .about-dual-photo-card{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
  width:100%!important;
  max-width:420px!important;
  height:118px!important;
  overflow:hidden!important;
  border-radius:18px!important;
  border:1px solid var(--line)!important;
  background:var(--card)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.12)!important;
  padding:6px!important;
}

#sobre-nosotros .about-dual-photo-card img,
#sobre-nosaltres .about-dual-photo-card img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  border-radius:13px!important;
  display:block!important;
}

#sobre-nosotros .about-dual-photo-card img:first-child,
#sobre-nosaltres .about-dual-photo-card img:first-child{
  object-position:center center!important;
}

#sobre-nosotros .about-dual-photo-card img:last-child,
#sobre-nosaltres .about-dual-photo-card img:last-child{
  object-position:center center!important;
}

@media(max-width:900px){
  #sobre-nosotros .about-dual-visual,
  #sobre-nosaltres .about-dual-visual{
    width:100%!important;
    max-width:100%!important;
  }

  #sobre-nosotros .about-dual-photo-card,
  #sobre-nosaltres .about-dual-photo-card{
    height:112px!important;
    max-width:100%!important;
  }

  #inicio h1::after,
  #inicio .hero-modern-title::after,
  #inicio .hero-title::after,
  #inicio .brand-title::after{
    width:64px!important;
    height:4px!important;
    bottom:-8px!important;
  }
}


/* v255: Sobre nosotros - fotos más grandes y 6 puntos en dos grupos de 3 */
#sobre-nosotros .about-dual-visual,
#sobre-nosaltres .about-dual-visual{
  width:62%!important;
  max-width:620px!important;
  margin-left:0!important;
  margin-right:auto!important;
}

#sobre-nosotros .about-dual-photo-card,
#sobre-nosaltres .about-dual-photo-card{
  height:210px!important;
  max-width:620px!important;
  gap:8px!important;
  padding:8px!important;
  border-radius:22px!important;
}

#sobre-nosotros .about-dual-photo-card img,
#sobre-nosaltres .about-dual-photo-card img{
  border-radius:16px!important;
}

#sobre-nosotros .about-values-two-groups,
#sobre-nosaltres .about-values-two-groups{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:16px!important;
  width:100%!important;
}

#sobre-nosotros .about-values-group,
#sobre-nosaltres .about-values-group{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  padding:10px!important;
  border:1px solid var(--line)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.035)!important;
}

html[data-theme="light"] #sobre-nosotros .about-values-group,
html[data-theme="light"] #sobre-nosaltres .about-values-group{
  background:rgba(248,250,252,.75)!important;
}

#sobre-nosotros .about-values-group .about-value-card,
#sobre-nosaltres .about-values-group .about-value-card{
  width:100%!important;
}

@media(max-width:900px){
  #sobre-nosotros .about-dual-visual,
  #sobre-nosaltres .about-dual-visual{
    width:100%!important;
    max-width:100%!important;
  }

  #sobre-nosotros .about-dual-photo-card,
  #sobre-nosaltres .about-dual-photo-card{
    height:190px!important;
    max-width:100%!important;
  }

  #sobre-nosotros .about-values-two-groups,
  #sobre-nosaltres .about-values-two-groups{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
}


/* v256: Sobre nosotros - fotos verticales y segunda foto encuadrada arriba para que se vea la cara */
#sobre-nosotros .about-dual-visual,
#sobre-nosaltres .about-dual-visual{
  width:58%!important;
  max-width:560px!important;
}

#sobre-nosotros .about-dual-photo-card,
#sobre-nosaltres .about-dual-photo-card{
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  height:360px!important;
  max-width:560px!important;
  gap:10px!important;
  padding:10px!important;
  align-items:stretch!important;
}

#sobre-nosotros .about-dual-photo-card img,
#sobre-nosaltres .about-dual-photo-card img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:3/4!important;
  object-fit:cover!important;
  border-radius:16px!important;
}

#sobre-nosotros .about-dual-photo-card img:first-child,
#sobre-nosaltres .about-dual-photo-card img:first-child{
  object-position:center top!important;
}

#sobre-nosotros .about-dual-photo-card img:last-child,
#sobre-nosaltres .about-dual-photo-card img:last-child{
  object-position:center top!important;
}

@media(max-width:900px){
  #sobre-nosotros .about-dual-visual,
  #sobre-nosaltres .about-dual-visual{
    width:100%!important;
    max-width:100%!important;
  }

  #sobre-nosotros .about-dual-photo-card,
  #sobre-nosaltres .about-dual-photo-card{
    height:320px!important;
    max-width:100%!important;
  }
}


/* v257: volver a servicios cuadrado + orden FV + contacto directo en inicio */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.service-back-link.service-back-square{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  margin-bottom:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  border:1px solid var(--line)!important;
  background:var(--card)!important;
  color:var(--ink)!important;
  text-decoration:none!important;
  box-shadow:0 10px 26px rgba(15,23,42,.10)!important;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease!important;
}

.service-back-link.service-back-square:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(242,196,17,.55)!important;
  box-shadow:0 15px 34px rgba(15,23,42,.16)!important;
}

.service-back-square .service-back-arrow{
  font-size:1.25rem!important;
  line-height:1!important;
  font-weight:900!important;
}

html[data-theme="dark"] .service-back-link.service-back-square{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.14)!important;
  color:#ffffff!important;
}

.pv-hero-grid{
  grid-template-columns:1fr!important;
}

.pv-hero-copy{
  max-width:860px!important;
}

.pv-direct-contact-section{
  padding:44px 0 64px!important;
}

.pv-direct-contact-wrap,
.home-fv-contact-wrap{
  display:flex!important;
  justify-content:center!important;
}

.pv-contact-panel-standalone,
.home-fv-contact-panel{
  width:100%!important;
  max-width:760px!important;
}

.home-fv-contact-section{
  padding-top:62px!important;
  padding-bottom:62px!important;
}

.home-fv-contact-panel{
  margin:0 auto!important;
}

@media(max-width:900px){
  .service-back-link.service-back-square{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    border-radius:11px!important;
  }

  .pv-direct-contact-section,
  .home-fv-contact-section{
    padding-top:36px!important;
    padding-bottom:42px!important;
  }
}


/* v258: FV soluciones con icono Ortek, proyectos bajo Qué incluye y botón volver más pequeño */

/* Botón cuadrado volver a servicios más pequeño */
.service-back-link.service-back-square{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  border-radius:9px!important;
  margin-bottom:14px!important;
}

.service-back-square .service-back-arrow{
  font-size:.98rem!important;
}

/* Soluciones fotovoltaicas: sustituir líneas amarillas por imagen usada en especificaciones de proyectos */
.pv-solutions .pv-solution-card,
.pv-solutions .pv-side-card,
.pv-solutions article{
  position:relative!important;
}

.pv-solutions .pv-solution-card::before,
.pv-solutions .pv-side-card::before,
.pv-solutions article::before{
  content:""!important;
  display:inline-block!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:0 0 10px!important;
  border-radius:50%!important;
  background:transparent url("assets/proyectos/iconos/logo-ortek-checks.jpg") center/contain no-repeat!important;
  box-shadow:none!important;
}

/* Ocultar posibles rayitas amarillas decorativas de soluciones */
.pv-solutions .pv-solution-card::after,
.pv-solutions .pv-side-card::after,
.pv-solutions article::after,
.pv-solutions h3::after,
.pv-solutions .pv-solution-title::after{
  content:none!important;
  display:none!important;
}

/* Por si la rayita está implementada como span/div */
.pv-solutions .accent-line,
.pv-solutions .yellow-line,
.pv-solutions .service-line,
.pv-solutions .card-line{
  display:none!important;
}

/* Separación al mover proyectos bajo Qué incluye */
.pv-feature + .pv-fv-projects-section{
  padding-top:34px!important;
}

.pv-fv-projects-section + .pv-process{
  padding-top:34px!important;
}

@media(max-width:900px){
  .service-back-link.service-back-square{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    border-radius:8px!important;
  }

  .service-back-square .service-back-arrow{
    font-size:.92rem!important;
  }

  .pv-solutions .pv-solution-card::before,
  .pv-solutions .pv-side-card::before,
  .pv-solutions article::before{
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
  }
}


/* v259: FV hero con fondo tipo Inicio + iconos en los guiones finales de soluciones */

/* Primera sección FV: fuera mancha amarilla superior derecha anterior */
.pv-landing-page{
  background:var(--bg)!important;
}

.pv-hero{
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)!important;
}

/* Aplicar el mismo color/halo de la primera sección del índice */
.pv-hero::after{
  content:""!important;
  position:absolute!important;
  right:-160px!important;
  top:80px!important;
  width:520px!important;
  height:520px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(242,196,17,.11) 0%,rgba(242,196,17,.06) 38%,rgba(242,196,17,0) 70%)!important;
  pointer-events:none!important;
  z-index:0!important;
  transform:translateY(calc(var(--scroll-y, 0px) * .04))!important;
}

.pv-hero > .wrap{
  position:relative!important;
  z-index:1!important;
}

/* En modo noche, mantener el fondo azul global y el halo suave */
html[data-theme="dark"] .pv-hero{
  background:transparent!important;
}

html[data-theme="dark"] .pv-hero::after{
  background:radial-gradient(circle,rgba(242,196,17,.18) 0%,rgba(242,196,17,.08) 38%,rgba(242,196,17,0) 70%)!important;
}

/* Soluciones: quitar imagen al principio del recuadro */
.pv-solutions .pv-solution-card::before,
.pv-solutions .pv-side-card::before,
.pv-solutions article::before{
  content:none!important;
  display:none!important;
  background:none!important;
}

/* Soluciones: colocar la imagen donde estaban los guiones/checks del listado final */
.pv-solutions .pv-solution-card ul{
  list-style:none!important;
  padding-left:0!important;
  margin-top:18px!important;
}

.pv-solutions .pv-solution-card ul li{
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  padding-left:0!important;
}

.pv-solutions .pv-solution-card ul li::before{
  content:""!important;
  display:inline-block!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  margin-top:1px!important;
  border-radius:50%!important;
  background:transparent url("assets/proyectos/iconos/logo-ortek-checks.jpg") center/contain no-repeat!important;
}

@media(max-width:900px){
  .pv-hero::after{
    right:-220px!important;
    top:40px!important;
    width:430px!important;
    height:430px!important;
  }

  .pv-solutions .pv-solution-card ul li::before{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
  }
}


/* v260: Soluciones sin solape, Te orientamos ancho completo y checks verdes en home */

/* Soluciones fotovoltaicas: evitar que texto solape con icono/lista */
.pv-solutions .pv-solution-card ul li,
.pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon{
  display:grid!important;
  grid-template-columns:18px minmax(0, 1fr)!important;
  align-items:start!important;
  column-gap:9px!important;
  row-gap:0!important;
  padding-left:0!important;
  min-width:0!important;
  overflow:visible!important;
  white-space:normal!important;
}

.pv-solutions .pv-solution-card ul li::before{
  grid-column:1!important;
  grid-row:1!important;
  margin-top:2px!important;
}

/* Quitar el círculo amarillo que aparecía con la imagen */
.pv-solutions .pv-solution-card ul li::before,
.pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon::before{
  border-radius:0!important;
  background-color:transparent!important;
  box-shadow:none!important;
}

/* Te orientamos: recuadro a ancho total de página en fotovoltaica y página principal */
.pv-direct-contact-section .wrap,
.home-fv-contact-section .wrap{
  max-width:var(--wrap)!important;
  width:min(var(--wrap), calc(100% - 40px))!important;
}

.pv-direct-contact-wrap,
.home-fv-contact-wrap{
  display:block!important;
}

.pv-contact-panel-standalone,
.home-fv-contact-panel{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

.pv-direct-contact-section .pv-contact-panel,
.home-fv-contact-section .pv-contact-panel{
  display:grid!important;
  grid-template-columns:minmax(0,.98fr) minmax(300px,.72fr)!important;
  gap:22px!important;
  align-items:center!important;
}

.pv-direct-contact-section .pv-contact-panel .pv-contact-kicker,
.home-fv-contact-section .pv-contact-panel .pv-contact-kicker,
.pv-direct-contact-section .pv-contact-panel h2,
.home-fv-contact-section .pv-contact-panel h2,
.pv-direct-contact-section .pv-contact-panel > p,
.home-fv-contact-section .pv-contact-panel > p{
  grid-column:1!important;
}

.pv-direct-contact-section .pv-contact-checklist,
.home-fv-contact-section .pv-contact-checklist,
.pv-direct-contact-section .pv-contact-buttons,
.home-fv-contact-section .pv-contact-buttons{
  grid-column:2!important;
}

.pv-direct-contact-section .pv-contact-buttons,
.home-fv-contact-section .pv-contact-buttons{
  align-self:end!important;
}

/* Página principal: puntos de Qué nos puedes enviar con recuadro verde + check verde */
.home-fv-contact-section .pv-contact-checklist ul{
  list-style:none!important;
  padding-left:0!important;
  margin-left:0!important;
}

.home-fv-contact-section .pv-contact-checklist ul li{
  display:grid!important;
  grid-template-columns:22px minmax(0, 1fr)!important;
  align-items:start!important;
  gap:9px!important;
  padding-left:0!important;
  margin:8px 0!important;
  line-height:1.35!important;
}

.home-fv-contact-section .pv-contact-checklist ul li::before{
  content:"✓"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  border-radius:6px!important;
  border:1px solid rgba(34,197,94,.58)!important;
  background:rgba(34,197,94,.12)!important;
  color:#22c55e!important;
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:0 6px 14px rgba(34,197,94,.12)!important;
}

@media(max-width:900px){
  .pv-solutions .pv-solution-card ul li,
  .pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon{
    grid-template-columns:16px minmax(0, 1fr)!important;
    column-gap:8px!important;
  }

  .pv-direct-contact-section .wrap,
  .home-fv-contact-section .wrap{
    width:min(var(--wrap), calc(100% - 28px))!important;
  }

  .pv-direct-contact-section .pv-contact-panel,
  .home-fv-contact-section .pv-contact-panel{
    display:block!important;
  }

  .home-fv-contact-section .pv-contact-checklist ul li{
    grid-template-columns:20px minmax(0, 1fr)!important;
  }
}


/* v261: Te orientamos con el mismo ancho que el resto de secciones */
.pv-direct-contact-section .wrap,
.home-fv-contact-section .wrap{
  max-width:1120px!important;
  width:min(1120px, calc(100% - 40px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.pv-direct-contact-wrap,
.home-fv-contact-wrap{
  display:flex!important;
  justify-content:center!important;
}

.pv-contact-panel-standalone,
.home-fv-contact-panel{
  width:100%!important;
  max-width:100%!important;
}

.pv-direct-contact-section .pv-contact-panel,
.home-fv-contact-section .pv-contact-panel{
  width:100%!important;
}

@media(max-width:900px){
  .pv-direct-contact-section .wrap,
  .home-fv-contact-section .wrap{
    width:min(1120px, calc(100% - 28px))!important;
  }
}


/* v262: Te orientamos con ancho de bloque normal + secciones más juntas */

/* El contenedor mantiene el ancho general, pero el recuadro no se estira más que los bloques de las secciones anteriores */
.pv-direct-contact-section .wrap,
.home-fv-contact-section .wrap{
  max-width:1120px!important;
  width:min(1120px, calc(100% - 40px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.pv-direct-contact-wrap,
.home-fv-contact-wrap{
  display:flex!important;
  justify-content:center!important;
}

.pv-contact-panel-standalone,
.home-fv-contact-panel,
.pv-direct-contact-section .pv-contact-panel,
.home-fv-contact-section .pv-contact-panel{
  width:100%!important;
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Mantener distribución interior ordenada sin que parezca demasiado ancho */
.pv-direct-contact-section .pv-contact-panel,
.home-fv-contact-section .pv-contact-panel{
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)!important;
}

/* Juntar un poco las secciones de fotovoltaica */
.pv-hero{
  padding-bottom:34px!important;
}

.pv-solutions,
.pv-feature,
.pv-gallery,
.pv-process,
.pv-direct-contact-section{
  padding-top:46px!important;
  padding-bottom:46px!important;
}

.pv-feature + .pv-fv-projects-section,
.pv-fv-projects-section + .pv-process{
  padding-top:28px!important;
}

/* Juntar un poco las secciones de la página principal alrededor de Proyectos / Te orientamos / Sobre nosotros */
.ortek-projects-section{
  padding-bottom:48px!important;
}

.home-fv-contact-section{
  padding-top:42px!important;
  padding-bottom:42px!important;
}

.home-fv-contact-section + .onepage-sobre-nosotros,
.home-fv-contact-section + .onepage-sobre-nosaltres{
  padding-top:48px!important;
}

@media(max-width:900px){
  .pv-direct-contact-section .wrap,
  .home-fv-contact-section .wrap{
    width:min(1120px, calc(100% - 28px))!important;
  }

  .pv-contact-panel-standalone,
  .home-fv-contact-panel,
  .pv-direct-contact-section .pv-contact-panel,
  .home-fv-contact-section .pv-contact-panel{
    max-width:100%!important;
  }

  .pv-solutions,
  .pv-feature,
  .pv-gallery,
  .pv-process,
  .pv-direct-contact-section,
  .home-fv-contact-section{
    padding-top:34px!important;
    padding-bottom:34px!important;
  }

  .ortek-projects-section{
    padding-bottom:36px!important;
  }
}


/* v263: FV hero con foto dividida + soluciones en una línea */

/* Primera sección FV: quitar amarillo inferior/derecha */
.pv-hero::after{
  display:none!important;
  content:none!important;
  background:none!important;
}

/* Primera sección FV dividida en dos: texto + foto */
.pv-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.82fr)!important;
  gap:28px!important;
  align-items:center!important;
}

.pv-hero-copy{
  text-align:center!important;
  max-width:720px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.pv-hero-copy .service-back-link{
  margin-left:0!important;
  margin-right:auto!important;
}

.pv-hero-actions{
  justify-content:center!important;
}

.pv-hero-photo-panel{
  width:100%!important;
  height:100%!important;
  min-height:315px!important;
  border-radius:28px!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  background:var(--card)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.13)!important;
}

.pv-hero-photo-panel img{
  width:100%!important;
  height:100%!important;
  min-height:315px!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
}

/* Soluciones fotovoltaicas: textos finales en una sola línea */
.pv-solutions .pv-solution-card ul{
  display:grid!important;
  gap:8px!important;
}

.pv-solutions .pv-solution-card ul li,
.pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon{
  grid-template-columns:15px minmax(0, 1fr)!important;
  column-gap:7px!important;
  white-space:nowrap!important;
  font-size:clamp(.60rem, .72vw, .72rem)!important;
  line-height:1.12!important;
  font-weight:500!important;
}

.pv-solutions .pv-solution-card ul li::before{
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  margin-top:0!important;
}

@media(max-width:900px){
  .pv-hero-grid{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }

  .pv-hero-copy{
    text-align:left!important;
  }

  .pv-hero-actions{
    justify-content:flex-start!important;
  }

  .pv-hero-photo-panel{
    min-height:220px!important;
    border-radius:22px!important;
  }

  .pv-hero-photo-panel img{
    min-height:220px!important;
  }

  .pv-solutions .pv-solution-card ul li,
  .pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon{
    white-space:normal!important;
    font-size:.76rem!important;
    line-height:1.25!important;
  }
}


/* v264: ajustes FV hero y soluciones */

/* Soluciones fotovoltaicas: texto siempre a la derecha del icono, sin solapes */
.pv-solutions .pv-solution-card ul li,
.pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  padding-left:0!important;
  white-space:normal!important;
  overflow:visible!important;
  min-width:0!important;
  font-size:.70rem!important;
  line-height:1.18!important;
  font-weight:500!important;
}

.pv-solutions .pv-solution-card ul li::before,
.pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon::before{
  content:""!important;
  flex:0 0 14px!important;
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  margin-top:0!important;
  border-radius:0!important;
  background:transparent url("assets/proyectos/iconos/logo-ortek-checks.jpg") center/contain no-repeat!important;
  box-shadow:none!important;
}

/* Primera sección FV: título centrado con el texto */
.pv-hero-copy{
  text-align:center!important;
}

.pv-hero-copy .pv-main-title,
.pv-hero-copy h1{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Ortek Solar + flecha volver: no centrados, a la izquierda */
.pv-hero-copy .service-back-link,
.pv-hero-copy .service-back-square,
.pv-hero-copy .pv-hero-ortek-label,
.pv-hero-copy .service-page-kicker{
  margin-left:0!important;
  margin-right:auto!important;
  align-self:flex-start!important;
}

.pv-hero-copy .pv-hero-ortek-label,
.pv-hero-copy .service-page-kicker{
  display:flex!important;
  width:max-content!important;
}

.pv-hero-copy .service-back-link{
  display:flex!important;
}

/* Mantener botones centrados con el texto */
.pv-hero-actions{
  justify-content:center!important;
}

/* Mejor respiración de la foto del hero */
.pv-hero-photo-panel img{
  object-position:center center!important;
}

@media(max-width:900px){
  .pv-hero-copy,
  .pv-hero-copy .pv-main-title,
  .pv-hero-copy h1{
    text-align:left!important;
  }

  .pv-hero-actions{
    justify-content:flex-start!important;
  }

  .pv-solutions .pv-solution-card ul li,
  .pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon{
    font-size:.76rem!important;
    line-height:1.25!important;
  }
}


/* v265: FV proceso + Te orientamos, CTAs intermedios e iconos soluciones corregidos */

/* Soluciones fotovoltaicas: icono a la izquierda, texto siempre a la derecha sin solaparse */
.pv-solutions .pv-solution-card ul{
  list-style:none!important;
  padding-left:0!important;
  margin-left:0!important;
  display:grid!important;
  gap:8px!important;
}

.pv-solutions .pv-solution-card ul li,
.pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:8px!important;
  padding-left:0!important;
  margin:0!important;
  white-space:normal!important;
  overflow:visible!important;
  min-width:0!important;
}

.pv-solutions .pv-solution-card ul li::before,
.pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon::before{
  content:""!important;
  grid-column:1!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  margin-top:1px!important;
  border-radius:0!important;
  background:transparent url("assets/proyectos/iconos/logo-ortek-checks.jpg") center/contain no-repeat!important;
  box-shadow:none!important;
}

.pv-solutions .pv-solution-li-text{
  grid-column:2!important;
  display:block!important;
  min-width:0!important;
  font-size:.72rem!important;
  line-height:1.22!important;
  font-weight:500!important;
}

/* Recuadro de contacto entre secciones: WhatsApp amarillo y email transparente debajo */
.pv-section-contact-buttons{
  width:100%!important;
  max-width:360px!important;
  margin:24px auto 0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}

.pv-section-contact-buttons .btn{
  width:100%!important;
  min-height:44px!important;
  justify-content:center!important;
  border-radius:12px!important;
  font-size:.82rem!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:0!important;
}

.pv-section-contact-buttons .btn.primary{
  background:#f2c411!important;
  border-color:#f2c411!important;
  color:#172535!important;
}

.pv-section-contact-buttons .btn:not(.primary){
  background:transparent!important;
  color:var(--ink)!important;
  border-color:var(--line)!important;
}

html[data-theme="dark"] .pv-section-contact-buttons .btn:not(.primary){
  color:#ffffff!important;
  border-color:rgba(255,255,255,.20)!important;
}

.pv-section-contact-buttons .btn img{
  width:18px!important;
  height:18px!important;
}

/* Proceso de trabajo a la izquierda en 2x2 + Te orientamos a la derecha */
.pv-process-contact-layout{
  display:grid!important;
  grid-template-columns:minmax(0, .98fr) minmax(330px, .78fr)!important;
  gap:24px!important;
  align-items:start!important;
}

.pv-process-left .pv-process-grid{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:12px!important;
}

.pv-process-left .pv-step{
  padding:16px!important;
  border-radius:20px!important;
}

.pv-process-left .pv-step h3{
  font-size:.95rem!important;
}

.pv-process-left .pv-step p{
  font-size:.78rem!important;
  line-height:1.38!important;
}

.pv-process-right{
  position:sticky!important;
  top:92px!important;
}

.pv-process-right .pv-contact-panel{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
}

/* Dentro del proceso, Te orientamos no debe forzar columnas raras */
.pv-process-right .pv-contact-panel{
  display:block!important;
}

.pv-process-right .pv-contact-checklist{
  margin-top:16px!important;
}

.pv-process-right .pv-contact-buttons{
  margin-top:18px!important;
}

@media(max-width:900px){
  .pv-process-contact-layout{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }

  .pv-process-left .pv-process-grid{
    grid-template-columns:1fr!important;
  }

  .pv-process-right{
    position:static!important;
  }

  .pv-section-contact-buttons{
    max-width:320px!important;
    margin-top:20px!important;
  }

  .pv-solutions .pv-solution-li-text{
    font-size:.76rem!important;
    line-height:1.25!important;
  }
}


/* v266: ajustes FV contacto ancho completo, iconos soluciones y cabecera */

/* CTAs WhatsApp/email entre secciones: ocupar todo el ancho del bloque */
.pv-section-contact-buttons{
  width:100%!important;
  max-width:none!important;
  margin:26px 0 0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}

.pv-section-contact-buttons .btn{
  width:100%!important;
  max-width:none!important;
  min-height:46px!important;
}

/* Soluciones fotovoltaicas: icono y texto centrados verticalmente, texto siempre a la derecha */
.pv-solutions .pv-solution-card ul{
  list-style:none!important;
  padding-left:0!important;
  margin-left:0!important;
  display:grid!important;
  gap:9px!important;
}

.pv-solutions .pv-solution-card ul li,
.pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:0!important;
  margin:0!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
}

.pv-solutions .pv-solution-card ul li::before,
.pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon::before{
  content:""!important;
  flex:0 0 16px!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  margin:0!important;
  align-self:center!important;
  border-radius:0!important;
  background:transparent url("assets/proyectos/iconos/logo-ortek-checks.jpg") center/contain no-repeat!important;
  box-shadow:none!important;
}

.pv-solutions .pv-solution-li-text{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  font-size:.72rem!important;
  line-height:1.18!important;
  font-weight:500!important;
}

/* Ortek Solar en la línea de la flecha de volver */
.pv-hero-topline{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  margin-bottom:16px!important;
}

.pv-hero-topline .service-back-link{
  margin:0!important;
}

.pv-hero-topline .service-page-kicker,
.pv-hero-topline .pv-hero-ortek-label{
  margin:0!important;
}

/* Título inicial centrado como el texto debajo */
.pv-hero-copy{
  text-align:center!important;
}

.pv-hero-copy .pv-main-title,
.pv-hero-copy h1{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:760px!important;
}

/* El texto y botones mantienen el mismo eje centrado */
.pv-hero-copy .pv-lead,
.pv-hero-copy .pv-main-subtitle{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

.pv-hero-actions{
  justify-content:center!important;
}

@media(max-width:900px){
  .pv-section-contact-buttons{
    margin-top:22px!important;
  }

  .pv-solutions .pv-solution-card ul li,
  .pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon{
    align-items:flex-start!important;
  }

  .pv-solutions .pv-solution-card ul li::before,
  .pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon::before{
    margin-top:1px!important;
    align-self:flex-start!important;
  }

  .pv-hero-copy,
  .pv-hero-copy .pv-main-title,
  .pv-hero-copy h1,
  .pv-hero-copy .pv-lead,
  .pv-hero-copy .pv-main-subtitle{
    text-align:left!important;
  }

  .pv-hero-actions{
    justify-content:flex-start!important;
  }
}


/* v267: corrección real ancho contacto, iconos soluciones y título FV */

/* Contacto intermedio: NO ancho de página; ancho contenido del bloque/sección */
.pv-section-contact-buttons{
  width:100%!important;
  max-width:420px!important;
  margin:24px auto 0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}

.pv-section-contact-buttons .btn{
  width:100%!important;
  max-width:100%!important;
  min-height:44px!important;
}

/* Soluciones FV: icono ocupa su propia columna y el texto empieza DESPUÉS de la imagen */
.pv-solutions .pv-solution-card ul{
  list-style:none!important;
  padding-left:0!important;
  margin-left:0!important;
  display:grid!important;
  gap:9px!important;
}

.pv-solutions .pv-solution-card ul li,
.pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon{
  position:relative!important;
  display:grid!important;
  grid-template-columns:18px minmax(0, 1fr)!important;
  column-gap:9px!important;
  align-items:center!important;
  padding:0!important;
  margin:0!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
}

.pv-solutions .pv-solution-card ul li::before,
.pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon::before{
  content:""!important;
  position:static!important;
  grid-column:1!important;
  grid-row:1!important;
  justify-self:start!important;
  align-self:center!important;
  display:block!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  max-width:16px!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent url("assets/proyectos/iconos/logo-ortek-checks.jpg") center/contain no-repeat!important;
  box-shadow:none!important;
  transform:none!important;
}

.pv-solutions .pv-solution-li-text{
  grid-column:2!important;
  grid-row:1!important;
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  text-indent:0!important;
  font-size:.72rem!important;
  line-height:1.22!important;
  font-weight:500!important;
}

/* Primera sección FV: centrar de verdad el título respecto al bloque de texto */
.pv-hero-copy{
  text-align:center!important;
}

.pv-hero-copy .pv-main-title,
.pv-hero-copy h1{
  display:block!important;
  width:100%!important;
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  align-self:center!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
}

.pv-hero-copy .pv-lead,
.pv-hero-copy .pv-main-subtitle{
  display:block!important;
  width:100%!important;
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* La línea Ortek Solar + flecha se queda independiente a la izquierda */
.pv-hero-topline{
  width:100%!important;
  justify-content:flex-start!important;
}

@media(max-width:900px){
  .pv-section-contact-buttons{
    max-width:340px!important;
  }

  .pv-solutions .pv-solution-card ul li,
  .pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon{
    grid-template-columns:17px minmax(0, 1fr)!important;
    column-gap:8px!important;
    align-items:start!important;
  }

  .pv-solutions .pv-solution-card ul li::before,
  .pv-solutions .pv-solution-card ul li.pv-solution-bullet-icon::before{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    max-width:15px!important;
    margin-top:1px!important;
    align-self:start!important;
  }

  .pv-hero-copy,
  .pv-hero-copy .pv-main-title,
  .pv-hero-copy h1,
  .pv-hero-copy .pv-lead,
  .pv-hero-copy .pv-main-subtitle{
    text-align:left!important;
  }
}


/* v268: WhatsApp + email con ancho de sección/bloque, no estrecho ni ancho máximo de página */
.pv-section-contact-buttons{
  width:100%!important;
  max-width:980px!important;
  margin:26px auto 0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}

.pv-section-contact-buttons .btn{
  width:100%!important;
  max-width:100%!important;
  min-height:46px!important;
  justify-content:center!important;
}

@media(max-width:900px){
  .pv-section-contact-buttons{
    max-width:100%!important;
    margin-top:22px!important;
  }
}


/* v269: contacto con ancho exacto de sección + estudio técnico subrayado */
.pv-section-contact-buttons{
  width:100%!important;
  max-width:100%!important;
  margin:24px 0 0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}

.pv-section-contact-buttons .btn{
  width:100%!important;
  max-width:100%!important;
  min-height:46px!important;
  justify-content:center!important;
}

/* Mantiene los botones dentro del ancho real del contenido de cada sección */
.pv-solutions > .wrap .pv-section-contact-buttons,
.pv-feature > .wrap .pv-section-contact-buttons,
.pv-fv-projects-section > .wrap .pv-section-contact-buttons{
  width:100%!important;
  max-width:100%!important;
}

/* Subrayado amarillo para la frase de estudio técnico */
.yellow-underline-text{
  display:inline!important;
  text-decoration:underline!important;
  text-decoration-color:#f2c411!important;
  text-decoration-thickness:3px!important;
  text-underline-offset:4px!important;
  text-decoration-skip-ink:none!important;
  font-weight:inherit!important;
}

@media(max-width:900px){
  .pv-section-contact-buttons{
    margin-top:20px!important;
  }

  .yellow-underline-text{
    text-decoration-thickness:2px!important;
    text-underline-offset:3px!important;
  }
}


/* v270: frase estudio técnico separada y más grande */
.pv-hero .yellow-underline-text{
  display:block!important;
  margin-top:16px!important;
  font-size:clamp(1.02rem, 1.35vw, 1.18rem)!important;
  line-height:1.45!important;
  font-weight:700!important;
  text-decoration:underline!important;
  text-decoration-color:#f2c411!important;
  text-decoration-thickness:4px!important;
  text-underline-offset:5px!important;
  text-decoration-skip-ink:none!important;
}

@media(max-width:900px){
  .pv-hero .yellow-underline-text{
    margin-top:14px!important;
    font-size:.98rem!important;
    line-height:1.4!important;
    text-decoration-thickness:3px!important;
  }
}


/* v271: texto inicial FV alineado a la izquierda y tamaño anterior */
.pv-hero-copy{
  text-align:left!important;
}

.pv-hero-copy .pv-main-subtitle,
.pv-hero-copy .pv-lead{
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
  max-width:760px!important;
}

.pv-hero .yellow-underline-text{
  display:block!important;
  margin-top:12px!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:inherit!important;
  text-align:left!important;
}

/* Mantener solo el título principal centrado */
.pv-hero-copy .pv-main-title,
.pv-hero-copy h1{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:900px){
  .pv-hero-copy,
  .pv-hero-copy .pv-main-subtitle,
  .pv-hero-copy .pv-lead,
  .pv-hero .yellow-underline-text{
    text-align:left!important;
  }
}


/* v272: contacto directo integrado en Sobre nosotros + ajuste frase FV */

/* El contacto directo de la página principal ya no ocupa una sección independiente */
.home-fv-contact-section{
  display:none!important;
}

/* Colocar Te orientamos en el espacio derecho de las imágenes de Sobre nosotros */
#sobre-nosotros .about-dual-visual,
#sobre-nosaltres .about-dual-visual{
  display:grid!important;
  grid-template-columns:minmax(220px,.8fr) minmax(300px,1fr)!important;
  gap:16px!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:760px!important;
}

#sobre-nosotros .about-dual-photo-card,
#sobre-nosaltres .about-dual-photo-card{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:360px!important;
}

#sobre-nosotros .about-contact-panel-inline,
#sobre-nosaltres .about-contact-panel-inline{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  height:100%!important;
  min-height:360px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:22px!important;
  border-radius:24px!important;
}

#sobre-nosotros .about-contact-panel-inline .pv-contact-checklist,
#sobre-nosaltres .about-contact-panel-inline .pv-contact-checklist{
  margin-top:14px!important;
}

#sobre-nosotros .about-contact-panel-inline .pv-contact-buttons,
#sobre-nosaltres .about-contact-panel-inline .pv-contact-buttons{
  margin-top:16px!important;
}

/* Frase “Realizamos visita y estudio técnico...” un poco más grande y línea amarilla menos gruesa */
.pv-hero .yellow-underline-text{
  font-size:clamp(.96rem, 1.04vw, 1.04rem)!important;
  line-height:1.42!important;
  text-decoration-thickness:2px!important;
  text-underline-offset:4px!important;
}

@media(max-width:1100px){
  #sobre-nosotros .about-dual-visual,
  #sobre-nosaltres .about-dual-visual{
    grid-template-columns:1fr!important;
    max-width:620px!important;
  }

  #sobre-nosotros .about-contact-panel-inline,
  #sobre-nosaltres .about-contact-panel-inline{
    min-height:auto!important;
  }
}

@media(max-width:900px){
  #sobre-nosotros .about-dual-photo-card,
  #sobre-nosaltres .about-dual-photo-card{
    min-height:300px!important;
  }

  .pv-hero .yellow-underline-text{
    font-size:.96rem!important;
    text-decoration-thickness:2px!important;
  }
}


/* v273: Te orientamos SIEMPRE a la derecha de las fotos en Sobre nosotros */
#sobre-nosotros .about-section-modern > .wrap,
#sobre-nosaltres .about-section-modern > .wrap{
  max-width:1120px!important;
  width:min(1120px, calc(100% - 40px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

#sobre-nosotros .about-showcase.about-dual-visual,
#sobre-nosotros .about-showcase-only-visual.about-dual-visual,
#sobre-nosotros .about-dual-visual,
#sobre-nosaltres .about-showcase.about-dual-visual,
#sobre-nosaltres .about-showcase-only-visual.about-dual-visual,
#sobre-nosaltres .about-dual-visual{
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) minmax(360px, .92fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

#sobre-nosotros .about-dual-photo-card,
#sobre-nosaltres .about-dual-photo-card{
  grid-column:1!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:380px!important;
  margin:0!important;
}

#sobre-nosotros .about-contact-panel-inline,
#sobre-nosaltres .about-contact-panel-inline{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  height:100%!important;
  min-height:380px!important;
}

/* No apilar a 1100px; solo apilar en móvil real */
@media(max-width:760px){
  #sobre-nosotros .about-showcase.about-dual-visual,
  #sobre-nosotros .about-showcase-only-visual.about-dual-visual,
  #sobre-nosotros .about-dual-visual,
  #sobre-nosaltres .about-showcase.about-dual-visual,
  #sobre-nosaltres .about-showcase-only-visual.about-dual-visual,
  #sobre-nosaltres .about-dual-visual{
    grid-template-columns:1fr!important;
    max-width:620px!important;
  }

  #sobre-nosotros .about-contact-panel-inline,
  #sobre-nosaltres .about-contact-panel-inline{
    grid-column:1!important;
    grid-row:auto!important;
    min-height:auto!important;
  }

  #sobre-nosotros .about-dual-photo-card,
  #sobre-nosaltres .about-dual-photo-card{
    grid-column:1!important;
    min-height:300px!important;
  }
}


/* v274: ajustes textos, botón proyectos y proceso FV */

/* Frase de estudio técnico en cursiva */
.pv-hero .yellow-underline-text.fv-free-study-italic{
  font-style:italic!important;
}

/* Botón Ver proyectos amarillo con icono tipo libretita */
.pv-hero-actions .btn-projects,
.pv-hero-actions .btn-projects.primary{
  background:#f2c411!important;
  border-color:#f2c411!important;
  color:#172535!important;
}

.btn-notebook-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin-right:4px!important;
  border-radius:4px!important;
  background:rgba(23,37,53,.12)!important;
  color:#172535!important;
  font-size:.8rem!important;
  line-height:1!important;
}

/* Más texto en Proceso de trabajo sin romper el diseño 2x2 */
.pv-process-left .pv-step{
  padding:18px!important;
}

.pv-process-left .pv-step p{
  font-size:.80rem!important;
  line-height:1.45!important;
}

.pv-process-left .pv-step h3{
  margin-bottom:8px!important;
}

@media(max-width:900px){
  .pv-process-left .pv-step p{
    font-size:.82rem!important;
    line-height:1.45!important;
  }
}


/* v275: checks verdes en Te orientamos de inicio + textos al tamaño de descripciones de proyectos */

/* Te orientamos de Inicio/Sobre nosotros: sustituir punto por check verde dentro de cuadrado verde */
#sobre-nosotros .about-contact-panel-inline .pv-contact-checklist ul,
#sobre-nosaltres .about-contact-panel-inline .pv-contact-checklist ul{
  list-style:none!important;
  padding-left:0!important;
  margin-left:0!important;
}

#sobre-nosotros .about-contact-panel-inline .pv-contact-checklist ul li,
#sobre-nosaltres .about-contact-panel-inline .pv-contact-checklist ul li{
  position:relative!important;
  display:grid!important;
  grid-template-columns:22px minmax(0, 1fr)!important;
  gap:9px!important;
  align-items:start!important;
  padding-left:0!important;
  margin:8px 0!important;
  list-style:none!important;
  font-size:.82rem!important;
  line-height:1.48!important;
  font-weight:400!important;
}

#sobre-nosotros .about-contact-panel-inline .pv-contact-checklist ul li::marker,
#sobre-nosaltres .about-contact-panel-inline .pv-contact-checklist ul li::marker{
  content:""!important;
}

#sobre-nosotros .about-contact-panel-inline .pv-contact-checklist ul li::before,
#sobre-nosaltres .about-contact-panel-inline .pv-contact-checklist ul li::before{
  content:"✓"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  border-radius:6px!important;
  border:1px solid rgba(34,197,94,.58)!important;
  background:rgba(34,197,94,.12)!important;
  color:#22c55e!important;
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:0 6px 14px rgba(34,197,94,.12)!important;
}

/* Tamaño de textos de los recuadros igualado al tono de las descripciones de proyectos */
.pv-contact-panel p,
.pv-contact-panel li,
.about-contact-panel-inline p,
.about-contact-panel-inline li,
.pv-process .pv-step p,
.pv-solutions .pv-solution-card p,
.pv-feature-card p{
  font-size:.82rem!important;
  line-height:1.48!important;
  font-weight:400!important;
}

.pv-contact-checklist strong{
  font-size:.86rem!important;
}

@media(max-width:900px){
  #sobre-nosotros .about-contact-panel-inline .pv-contact-checklist ul li,
  #sobre-nosaltres .about-contact-panel-inline .pv-contact-checklist ul li,
  .pv-contact-panel p,
  .pv-contact-panel li,
  .about-contact-panel-inline p,
  .about-contact-panel-inline li,
  .pv-process .pv-step p,
  .pv-solutions .pv-solution-card p,
  .pv-feature-card p{
    font-size:.84rem!important;
    line-height:1.46!important;
  }
}


/* v276: contacto directo alineado con los 4 recuadros + checks verdes casi transparentes + zoom inicial */

/* En Sobre nosotros, el contenido de Contacto directo baja para quedar a la altura visual de los 4 recuadros */
#sobre-nosotros .about-contact-panel-inline,
#sobre-nosaltres .about-contact-panel-inline{
  justify-content:flex-start!important;
  padding-top:44px!important;
}

#sobre-nosotros .about-contact-panel-inline .pv-contact-kicker,
#sobre-nosaltres .about-contact-panel-inline .pv-contact-kicker{
  margin-top:0!important;
}

/* Cuadrados verdes con check: fondo casi transparente, no blanco */
#sobre-nosotros .about-contact-panel-inline .pv-contact-checklist ul li::before,
#sobre-nosaltres .about-contact-panel-inline .pv-contact-checklist ul li::before,
.home-fv-contact-section .pv-contact-checklist ul li::before{
  background:rgba(34,197,94,.045)!important;
  border-color:rgba(34,197,94,.42)!important;
  color:#22c55e!important;
  box-shadow:0 4px 10px rgba(34,197,94,.08)!important;
}

/* Mantener los puntos sin marcador nativo */
#sobre-nosotros .about-contact-panel-inline .pv-contact-checklist ul li,
#sobre-nosaltres .about-contact-panel-inline .pv-contact-checklist ul li{
  list-style:none!important;
}

#sobre-nosotros .about-contact-panel-inline .pv-contact-checklist ul li::marker,
#sobre-nosaltres .about-contact-panel-inline .pv-contact-checklist ul li::marker{
  content:""!important;
}

@media(max-width:760px){
  #sobre-nosotros .about-contact-panel-inline,
  #sobre-nosaltres .about-contact-panel-inline{
    padding-top:22px!important;
  }
}


/* v279: zoom inicial 350% + Contacto directo FV alineado con los primeros recuadros del proceso */
.pv-process-contact-layout{
  align-items:start!important;
}

.pv-process-left .service-section-head,
.pv-process-left .pv-section-head{
  margin-bottom:22px!important;
}

/* Baja el recuadro derecho exactamente después del encabezado de Proceso, alineado con la primera fila de tarjetas */
.pv-process-right{
  align-self:start!important;
  margin-top:calc(22px + 0.95rem + 0.45rem + 2.15rem)!important;
}

/* Evita que el sticky altere la alineación inicial */
.pv-process-right{
  top:92px!important;
}

@media(max-width:900px){
  .pv-process-right{
    margin-top:0!important;
  }
}


/* v282: sol superior derecho del contacto directo aplicado a los recuadros de páginas de servicio */

/* Preparar recuadros de todas las páginas de servicio */
body.service-sun-cards-page .service-card,
body.service-sun-cards-page .service-detail-card,
body.service-sun-cards-page .service-info-card,
body.service-sun-cards-page .service-contact-card,
body.service-sun-cards-page .service-feature-card,
body.service-sun-cards-page .service-step,
body.service-sun-cards-page .service-box,
body.service-sun-cards-page .pv-solution-card,
body.service-sun-cards-page .pv-feature-card,
body.service-sun-cards-page .pv-step,
body.service-sun-cards-page .pv-contact-panel,
body.service-sun-cards-page .pv-side-card,
body.service-sun-cards-page .pv-final-card,
body.service-sun-cards-page .ortek-project-card{
  position:relative!important;
  overflow:hidden!important;
}

/* Mismo sol del recuadro Contacto directo: margen superior derecho */
body.service-sun-cards-page .service-card::after,
body.service-sun-cards-page .service-detail-card::after,
body.service-sun-cards-page .service-info-card::after,
body.service-sun-cards-page .service-contact-card::after,
body.service-sun-cards-page .service-feature-card::after,
body.service-sun-cards-page .service-step::after,
body.service-sun-cards-page .service-box::after,
body.service-sun-cards-page .pv-solution-card::after,
body.service-sun-cards-page .pv-feature-card::after,
body.service-sun-cards-page .pv-step::after,
body.service-sun-cards-page .pv-contact-panel::after,
body.service-sun-cards-page .pv-side-card::after,
body.service-sun-cards-page .pv-final-card::after,
body.service-sun-cards-page .ortek-project-card::after{
  content:""!important;
  position:absolute!important;
  top:-42px!important;
  right:-42px!important;
  width:150px!important;
  height:150px!important;
  border-radius:50%!important;
  background:radial-gradient(circle, rgba(242,196,17,.24), rgba(242,196,17,0) 70%)!important;
  pointer-events:none!important;
  z-index:0!important;
}

/* Mantener el contenido por encima del sol */
body.service-sun-cards-page .service-card > *,
body.service-sun-cards-page .service-detail-card > *,
body.service-sun-cards-page .service-info-card > *,
body.service-sun-cards-page .service-contact-card > *,
body.service-sun-cards-page .service-feature-card > *,
body.service-sun-cards-page .service-step > *,
body.service-sun-cards-page .service-box > *,
body.service-sun-cards-page .pv-solution-card > *,
body.service-sun-cards-page .pv-feature-card > *,
body.service-sun-cards-page .pv-step > *,
body.service-sun-cards-page .pv-contact-panel > *,
body.service-sun-cards-page .pv-side-card > *,
body.service-sun-cards-page .pv-final-card > *,
body.service-sun-cards-page .ortek-project-card > *{
  position:relative!important;
  z-index:1!important;
}

/* En modo noche un poco más visible, como el contacto directo */
html[data-theme="dark"] body.service-sun-cards-page .service-card::after,
html[data-theme="dark"] body.service-sun-cards-page .service-detail-card::after,
html[data-theme="dark"] body.service-sun-cards-page .service-info-card::after,
html[data-theme="dark"] body.service-sun-cards-page .service-contact-card::after,
html[data-theme="dark"] body.service-sun-cards-page .service-feature-card::after,
html[data-theme="dark"] body.service-sun-cards-page .service-step::after,
html[data-theme="dark"] body.service-sun-cards-page .service-box::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-solution-card::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-feature-card::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-step::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-contact-panel::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-side-card::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-final-card::after,
html[data-theme="dark"] body.service-sun-cards-page .ortek-project-card::after{
  background:radial-gradient(circle, rgba(242,196,17,.30), rgba(242,196,17,0) 70%)!important;
}


/* v283: sol más pequeño aplicado a todos los recuadros reales de páginas de servicio */

/* Preparación universal de recuadros marcados */
body.service-sun-cards-page .service-sun-card{
  position:relative!important;
  overflow:hidden!important;
}

/* Sol más pequeño en margen superior derecho */
body.service-sun-cards-page .service-sun-card::after{
  content:""!important;
  position:absolute!important;
  top:-30px!important;
  right:-30px!important;
  width:110px!important;
  height:110px!important;
  border-radius:50%!important;
  background:radial-gradient(circle, rgba(242,196,17,.20), rgba(242,196,17,0) 70%)!important;
  pointer-events:none!important;
  z-index:0!important;
}

/* Contenido siempre por encima del sol */
body.service-sun-cards-page .service-sun-card > *{
  position:relative!important;
  z-index:1!important;
}

/* Reducir el sol anterior de v282 en los selectores ya cubiertos */
body.service-sun-cards-page .service-card::after,
body.service-sun-cards-page .service-detail-card::after,
body.service-sun-cards-page .service-info-card::after,
body.service-sun-cards-page .service-contact-card::after,
body.service-sun-cards-page .service-feature-card::after,
body.service-sun-cards-page .service-step::after,
body.service-sun-cards-page .service-box::after,
body.service-sun-cards-page .pv-solution-card::after,
body.service-sun-cards-page .pv-feature-card::after,
body.service-sun-cards-page .pv-step::after,
body.service-sun-cards-page .pv-contact-panel::after,
body.service-sun-cards-page .pv-side-card::after,
body.service-sun-cards-page .pv-final-card::after,
body.service-sun-cards-page .pv-contact-box::after,
body.service-sun-cards-page .ortek-project-card::after,
body.service-sun-cards-page .project-format-card::after{
  top:-30px!important;
  right:-30px!important;
  width:110px!important;
  height:110px!important;
  background:radial-gradient(circle, rgba(242,196,17,.20), rgba(242,196,17,0) 70%)!important;
}

/* En modo noche, visible pero sin dominar el recuadro */
html[data-theme="dark"] body.service-sun-cards-page .service-sun-card::after,
html[data-theme="dark"] body.service-sun-cards-page .service-card::after,
html[data-theme="dark"] body.service-sun-cards-page .service-detail-card::after,
html[data-theme="dark"] body.service-sun-cards-page .service-info-card::after,
html[data-theme="dark"] body.service-sun-cards-page .service-contact-card::after,
html[data-theme="dark"] body.service-sun-cards-page .service-feature-card::after,
html[data-theme="dark"] body.service-sun-cards-page .service-step::after,
html[data-theme="dark"] body.service-sun-cards-page .service-box::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-solution-card::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-feature-card::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-step::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-contact-panel::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-side-card::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-final-card::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-contact-box::after,
html[data-theme="dark"] body.service-sun-cards-page .ortek-project-card::after,
html[data-theme="dark"] body.service-sun-cards-page .project-format-card::after{
  background:radial-gradient(circle, rgba(242,196,17,.24), rgba(242,196,17,0) 70%)!important;
}

/* No aplicar sol a wrappers/secciones que no son recuadros visuales aunque tengan article interno */
body.service-sun-cards-page section.service-sun-card::after,
body.service-sun-cards-page main.service-sun-card::after,
body.service-sun-cards-page .wrap.service-sun-card::after{
  content:none!important;
  display:none!important;
}


/* v284: asegurar sol en los 3 recuadros de Soluciones fotovoltaicas */
body.service-sun-cards-page .pv-solutions article,
body.service-sun-cards-page .pv-solutions .pv-solution-card,
body.service-sun-cards-page .pv-solutions .pv-side-card,
body.service-sun-cards-page .pv-solutions-sun-card{
  position:relative!important;
  overflow:hidden!important;
}

body.service-sun-cards-page .pv-solutions article::after,
body.service-sun-cards-page .pv-solutions .pv-solution-card::after,
body.service-sun-cards-page .pv-solutions .pv-side-card::after,
body.service-sun-cards-page .pv-solutions-sun-card::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:-30px!important;
  right:-30px!important;
  width:110px!important;
  height:110px!important;
  border-radius:50%!important;
  background:radial-gradient(circle, rgba(242,196,17,.20), rgba(242,196,17,0) 70%)!important;
  pointer-events:none!important;
  z-index:0!important;
}

html[data-theme="dark"] body.service-sun-cards-page .pv-solutions article::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-solutions .pv-solution-card::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-solutions .pv-side-card::after,
html[data-theme="dark"] body.service-sun-cards-page .pv-solutions-sun-card::after{
  background:radial-gradient(circle, rgba(242,196,17,.24), rgba(242,196,17,0) 70%)!important;
}

body.service-sun-cards-page .pv-solutions article > *,
body.service-sun-cards-page .pv-solutions .pv-solution-card > *,
body.service-sun-cards-page .pv-solutions .pv-side-card > *,
body.service-sun-cards-page .pv-solutions-sun-card > *{
  position:relative!important;
  z-index:1!important;
}


/* v285: ajustes móviles inicio/header/secciones */

@media(max-width:900px){

  /* Cabecero móvil: mostrar WhatsApp y email */
  .site-header .header-contact-links{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    order:3!important;
    margin-top:6px!important;
  }

  .site-header .header-whatsapp,
  .site-header .header-email-button,
  .site-header .header-email-group{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .site-header .header-whatsapp{
    min-width:34px!important;
    width:34px!important;
    height:34px!important;
    padding:0!important;
    border-radius:999px!important;
  }

  .site-header .header-whatsapp .whatsapp-badge{
    display:flex!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
  }

  .site-header .header-whatsapp .whatsapp-img{
    width:22px!important;
    height:22px!important;
    display:block!important;
  }

  .site-header .header-email-group{
    gap:6px!important;
  }

  .site-header .header-email-button{
    min-width:34px!important;
    width:34px!important;
    height:34px!important;
    padding:0!important;
    border-radius:999px!important;
  }

  .site-header .header-email-button .contact-email-icon{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:28px!important;
    height:28px!important;
    font-size:1rem!important;
  }

  .site-header .header-email-copy{
    display:inline-flex!important;
    font-size:.72rem!important;
    line-height:1!important;
    max-width:150px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .site-header .header-phone,
  .site-header .header-whatsapp .contact-inline-text,
  .site-header .header-email-button .contact-label{
    display:none!important;
  }

  /* Primera sección: texto al margen izquierdo */
  #inicio .hero-modern-copy,
  #inicio .hero-services,
  #inicio .hero-modern-title,
  #inicio .hero-modern-copy .lead{
    text-align:left!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  #inicio .hero-modern-copy{
    align-items:flex-start!important;
  }

  #inicio .title-accent{
    margin-left:0!important;
    margin-right:auto!important;
  }

  /* Botones de servicios/legalización: 3 en una línea y 2 en otra, sin desplazamiento lateral */
  #inicio .service-chips{
    display:grid!important;
    grid-template-columns:repeat(3, minmax(0, 1fr))!important;
    gap:8px!important;
    width:100%!important;
    overflow:visible!important;
    transform:none!important;
    padding:0!important;
  }

  #inicio .service-chip-link{
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    padding:9px 7px!important;
    font-size:.70rem!important;
    line-height:1.12!important;
  }

  #inicio .service-chip-link:nth-child(4){
    grid-column:1 / span 1!important;
  }

  #inicio .service-chip-link:nth-child(5){
    grid-column:2 / span 1!important;
  }

  /* Contactar y proyectos en la misma línea, ocupando entre los dos algo más que un botón de servicio */
  #inicio .hero-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:min(100%, 420px)!important;
    margin:12px 0 0!important;
    justify-content:start!important;
  }

  #inicio .hero-actions .btn{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    padding:10px 9px!important;
    font-size:.78rem!important;
    line-height:1.1!important;
    justify-content:center!important;
  }

  #inicio .hero-actions .btn img,
  #inicio .hero-actions .btn svg{
    width:17px!important;
    height:17px!important;
  }

  /* Títulos de Servicios y Sobre nosotros al margen izquierdo */
  #servicios .page-hero-copy,
  #sobre-nosotros .page-hero-copy,
  #sobre-nosaltres .page-hero-copy{
    text-align:left!important;
    align-items:flex-start!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  #servicios .page-title,
  #sobre-nosotros .page-title,
  #sobre-nosaltres .page-title{
    text-align:left!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  #servicios .page-accent,
  #sobre-nosotros .page-accent,
  #sobre-nosaltres .page-accent{
    margin-left:0!important;
    margin-right:auto!important;
  }

  /* Detalle: títulos de servicios más grandes en móvil */
  #servicios .service-title-inline h3,
  #servicios .service-anchor-card h3,
  #servicios .card h3{
    font-size:1.18rem!important;
    line-height:1.18!important;
  }

  #servicios .ico{
    font-size:1.22rem!important;
  }
}

@media(max-width:420px){
  #inicio .service-chip-link{
    font-size:.66rem!important;
    padding:8px 5px!important;
  }

  #inicio .hero-actions{
    width:100%!important;
  }

  .site-header .header-email-copy{
    max-width:132px!important;
  }
}


/* v286: revisión fuerte móvil inicio.
   Se amplía a 1200px porque con zoom alto / algunos navegadores el breakpoint de 900px no entraba. */

@media(max-width:1200px){

  body.ortek-home-mobile-fix .site-header .wrap.nav{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
  }

  /* Cabecero: forzar bloque de contacto visible */
  body.ortek-home-mobile-fix .site-header .header-contact-links{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    order:20!important;
    flex:0 0 100%!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    margin:6px 0 0!important;
    height:auto!important;
    overflow:visible!important;
  }

  body.ortek-home-mobile-fix .site-header .header-contact-links > *{
    visibility:visible!important;
    opacity:1!important;
  }

  /* Ocultar teléfono, dejar WhatsApp + email */
  body.ortek-home-mobile-fix .site-header .header-phone{
    display:none!important;
  }

  body.ortek-home-mobile-fix .site-header .header-whatsapp{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    border-radius:999px!important;
    overflow:visible!important;
  }

  body.ortek-home-mobile-fix .site-header .header-whatsapp .whatsapp-badge{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:center!important;
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    min-height:32px!important;
  }

  body.ortek-home-mobile-fix .site-header .header-whatsapp img.whatsapp-img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:24px!important;
    height:24px!important;
    object-fit:contain!important;
  }

  body.ortek-home-mobile-fix .site-header .header-whatsapp .contact-inline-text{
    display:none!important;
  }

  body.ortek-home-mobile-fix .site-header .header-email-group{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;
    min-width:0!important;
    width:auto!important;
    height:auto!important;
    overflow:visible!important;
  }

  body.ortek-home-mobile-fix .site-header .header-email-button{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    padding:0!important;
    border-radius:999px!important;
  }

  body.ortek-home-mobile-fix .site-header .header-email-button .contact-email-icon{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:1.05rem!important;
    line-height:1!important;
  }

  body.ortek-home-mobile-fix .site-header .header-email-button .contact-label{
    display:none!important;
  }

  body.ortek-home-mobile-fix .site-header .header-email-copy{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    max-width:170px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:.76rem!important;
    line-height:1.1!important;
  }

  /* Primera sección: texto SIEMPRE al margen izquierdo */
  body.ortek-home-mobile-fix #inicio .hero-modern-copy,
  body.ortek-home-mobile-fix #inicio .hero-modern-copy *,
  body.ortek-home-mobile-fix #inicio .hero-services,
  body.ortek-home-mobile-fix #inicio .lead{
    text-align:left!important;
  }

  body.ortek-home-mobile-fix #inicio .hero-modern-copy{
    align-items:flex-start!important;
    margin-left:0!important;
    margin-right:auto!important;
  }

  body.ortek-home-mobile-fix #inicio .title-accent{
    margin-left:0!important;
    margin-right:auto!important;
  }

  /* Botones de servicios: 3 arriba y 2 abajo, sin slider ni desplazamiento */
  body.ortek-home-mobile-fix #inicio .hero-chips-actions,
  body.ortek-home-mobile-fix #inicio .service-chips{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    transform:none!important;
  }

  body.ortek-home-mobile-fix #inicio .service-chips{
    display:grid!important;
    grid-template-columns:repeat(3, minmax(0, 1fr))!important;
    gap:8px!important;
    padding:0!important;
    margin:14px 0 0!important;
  }

  body.ortek-home-mobile-fix #inicio .service-chip-link{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
    padding:9px 6px!important;
    font-size:.68rem!important;
    line-height:1.12!important;
  }

  body.ortek-home-mobile-fix #inicio .service-chip-link:nth-child(4){
    grid-column:1!important;
  }

  body.ortek-home-mobile-fix #inicio .service-chip-link:nth-child(5){
    grid-column:2!important;
  }

  /* Contactar + Proyectos en una misma línea */
  body.ortek-home-mobile-fix #inicio .hero-actions,
  body.ortek-home-mobile-fix #inicio .btns.hero-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:min(100%, 420px)!important;
    max-width:420px!important;
    margin:12px 0 0!important;
    justify-content:start!important;
    overflow:visible!important;
  }

  body.ortek-home-mobile-fix #inicio .hero-actions .btn{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:42px!important;
    padding:10px 8px!important;
    justify-content:center!important;
    align-items:center!important;
    font-size:.78rem!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }

  body.ortek-home-mobile-fix #inicio .hero-actions .btn-icon-img,
  body.ortek-home-mobile-fix #inicio .hero-actions .btn-icon,
  body.ortek-home-mobile-fix #inicio .hero-actions svg{
    width:17px!important;
    height:17px!important;
    min-width:17px!important;
  }

  /* Títulos de Servicios y Sobre nosotros al margen izquierdo */
  body.ortek-home-mobile-fix #servicios .page-hero-copy,
  body.ortek-home-mobile-fix #sobre-nosotros .page-hero-copy,
  body.ortek-home-mobile-fix #sobre-nosaltres .page-hero-copy{
    display:block!important;
    text-align:left!important;
    margin-left:0!important;
    margin-right:auto!important;
    align-items:flex-start!important;
  }

  body.ortek-home-mobile-fix #servicios .page-title,
  body.ortek-home-mobile-fix #sobre-nosotros .page-title,
  body.ortek-home-mobile-fix #sobre-nosaltres .page-title{
    text-align:left!important;
    margin-left:0!important;
    margin-right:auto!important;
  }

  body.ortek-home-mobile-fix #servicios .page-accent,
  body.ortek-home-mobile-fix #sobre-nosotros .page-accent,
  body.ortek-home-mobile-fix #sobre-nosaltres .page-accent{
    margin-left:0!important;
    margin-right:auto!important;
  }

  /* Títulos de servicios más grandes */
  body.ortek-home-mobile-fix #servicios .service-title-inline h3,
  body.ortek-home-mobile-fix #servicios .service-anchor-card h3,
  body.ortek-home-mobile-fix #servicios .card h3{
    font-size:1.24rem!important;
    line-height:1.16!important;
  }
}

@media(max-width:430px){
  body.ortek-home-mobile-fix #inicio .service-chip-link{
    font-size:.62rem!important;
    padding:8px 4px!important;
  }

  body.ortek-home-mobile-fix .site-header .header-email-copy{
    max-width:145px!important;
    font-size:.72rem!important;
  }

  body.ortek-home-mobile-fix #inicio .hero-actions{
    width:100%!important;
    max-width:100%!important;
  }
}


/* v287: FIX REAL móvil inicio/cabecero.
   Causa corregida: el zoom 350% guardado en escritorio rompía móvil. En móvil se fuerza zoom 1 desde theme.js. */

@media(max-width:1400px){

  html,
  body.ortek-mobile-real-fix{
    overflow-x:hidden!important;
  }

  body.ortek-mobile-real-fix{
    width:100%!important;
  }

  /* Cabecero móvil: 1ª línea logo/idioma/tema/menú, 2ª línea WhatsApp + email */
  body.ortek-mobile-real-fix .mobile-real-header .wrap.nav,
  body.ortek-mobile-real-fix .site-header .wrap.nav{
    display:flex!important;
    flex-wrap:wrap!important;
    width:100%!important;
    max-width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
    gap:8px!important;
    overflow:visible!important;
  }

  body.ortek-mobile-real-fix .site-header .header-contact-links{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    order:50!important;
    flex:0 0 100%!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    margin:4px 0 0!important;
    padding:0!important;
    overflow:visible!important;
    transform:none!important;
  }

  body.ortek-mobile-real-fix .site-header .header-phone{
    display:none!important;
  }

  body.ortek-mobile-real-fix .site-header .header-whatsapp,
  body.ortek-mobile-real-fix .site-header .header-email-group,
  body.ortek-mobile-real-fix .site-header .header-email-button,
  body.ortek-mobile-real-fix .site-header .header-email-copy{
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    transform:none!important;
  }

  body.ortek-mobile-real-fix .site-header .header-whatsapp{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.16)!important;
    overflow:visible!important;
  }

  body.ortek-mobile-real-fix .site-header .header-whatsapp .whatsapp-badge{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
  }

  body.ortek-mobile-real-fix .site-header .header-whatsapp img.whatsapp-img{
    display:block!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    object-fit:contain!important;
  }

  body.ortek-mobile-real-fix .site-header .header-whatsapp .contact-inline-text{
    display:none!important;
  }

  body.ortek-mobile-real-fix .site-header .header-email-group{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    min-width:0!important;
    width:auto!important;
    overflow:visible!important;
  }

  body.ortek-mobile-real-fix .site-header .header-email-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.16)!important;
  }

  body.ortek-mobile-real-fix .site-header .header-email-button .contact-email-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:1.05rem!important;
  }

  body.ortek-mobile-real-fix .site-header .header-email-button .contact-label{
    display:none!important;
  }

  body.ortek-mobile-real-fix .site-header .header-email-copy{
    display:inline-flex!important;
    max-width:170px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:.76rem!important;
    line-height:1.1!important;
  }

  /* Inicio: texto en sangría/margen izquierdo, no centrado */
  body.ortek-mobile-real-fix #inicio .hero-modern-grid{
    display:block!important;
    width:100%!important;
  }

  body.ortek-mobile-real-fix #inicio .hero-modern-copy{
    width:100%!important;
    max-width:100%!important;
    text-align:left!important;
    align-items:flex-start!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  body.ortek-mobile-real-fix #inicio .hero-modern-title,
  body.ortek-mobile-real-fix #inicio .hero-services,
  body.ortek-mobile-real-fix #inicio .lead,
  body.ortek-mobile-real-fix #inicio .hero-modern-copy p{
    text-align:left!important;
    margin-left:0!important;
    margin-right:0!important;
    max-width:100%!important;
  }

  body.ortek-mobile-real-fix #inicio .title-accent{
    margin-left:0!important;
    margin-right:auto!important;
  }

  body.ortek-mobile-real-fix #inicio .hero-modern-visual{
    margin-top:24px!important;
  }

  /* Chips de servicios: quitar carrusel/horizontal, todos visibles 3 + 2 */
  body.ortek-mobile-real-fix #inicio .hero-chips-actions,
  body.ortek-mobile-real-fix #inicio .mobile-real-service-chips,
  body.ortek-mobile-real-fix #inicio .service-chips{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    transform:none!important;
    scroll-snap-type:none!important;
  }

  body.ortek-mobile-real-fix #inicio .service-chips{
    display:grid!important;
    grid-template-columns:repeat(3, minmax(0,1fr))!important;
    gap:8px!important;
    padding:0!important;
    margin:14px 0 0!important;
  }

  body.ortek-mobile-real-fix #inicio .service-chip-link{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
    padding:9px 5px!important;
    font-size:.66rem!important;
    line-height:1.12!important;
    scroll-snap-align:none!important;
  }

  body.ortek-mobile-real-fix #inicio .service-chip-link:nth-child(4){
    grid-column:1!important;
  }

  body.ortek-mobile-real-fix #inicio .service-chip-link:nth-child(5){
    grid-column:2!important;
  }

  /* Contactar y Proyectos en una sola línea */
  body.ortek-mobile-real-fix #inicio .mobile-real-hero-actions,
  body.ortek-mobile-real-fix #inicio .hero-actions,
  body.ortek-mobile-real-fix #inicio .btns.hero-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
    max-width:420px!important;
    margin:12px 0 0!important;
    overflow:visible!important;
  }

  body.ortek-mobile-real-fix #inicio .hero-actions .btn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:42px!important;
    padding:10px 7px!important;
    font-size:.78rem!important;
    line-height:1.1!important;
    justify-content:center!important;
    white-space:nowrap!important;
  }

  body.ortek-mobile-real-fix #inicio .hero-actions .btn-icon-img,
  body.ortek-mobile-real-fix #inicio .hero-actions svg{
    width:17px!important;
    height:17px!important;
    min-width:17px!important;
  }
}

@media(max-width:520px){
  body.ortek-mobile-real-fix .site-header .header-email-copy{
    max-width:145px!important;
    font-size:.72rem!important;
  }

  body.ortek-mobile-real-fix #inicio .service-chip-link{
    font-size:.60rem!important;
    padding:8px 4px!important;
  }

  body.ortek-mobile-real-fix #inicio .hero-actions{
    max-width:100%!important;
  }
}


/* v291: el zoom parte de 100%, pero theme.js conserva cualquier valor guardado */

/* v290: etiqueta/título inicial Ortek Solar en negro */
#inicio .logo-inspired-title,
html[data-theme="dark"] #inicio .logo-inspired-title,
#inicio .hero-modern-title,
html[data-theme="dark"] #inicio .hero-modern-title{
  color:#111827!important;
}

/* v292: el único fondo es el global del body, exactamente como en Inicio */
html[data-theme="dark"] body.pv-background-v290 main.pv-landing-page{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
}

html[data-theme="dark"] body.pv-background-v290 .pv-landing-page,
html[data-theme="dark"] body.pv-background-v290 .pv-landing-page section,
html[data-theme="dark"] body.pv-background-v290 .pv-hero,
html[data-theme="dark"] body.pv-background-v290 .pv-solutions,
html[data-theme="dark"] body.pv-background-v290 .pv-feature,
html[data-theme="dark"] body.pv-background-v290 .pv-gallery,
html[data-theme="dark"] body.pv-background-v290 .pv-process{
  background:transparent!important;
  background-color:transparent!important;
}

html[data-theme="dark"] body.pv-background-v290 main.pv-landing-page::before{
  content:none!important;
  display:none!important;
}

html[data-theme="dark"] body.pv-background-v290 .pv-hero::after{
  content:none!important;
  display:none!important;
}
/* v351: acciones centradas al final de Legalización energética en todas las vistas. */
.legal-energy-actions,
.service-section-actions-centered {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  margin-top:22px!important;
}
@media (max-width:600px) {
  .legal-energy-actions .btn,
  .service-section-actions-centered .btn {
    width:100%!important;
    max-width:310px!important;
    justify-content:center!important;
    text-align:center!important;
  }
}

/* v353: alineación de etiquetas y distintivo de Mantenimiento en PC. */
@media (min-width:1181px) {
  .service-page.service-maintenance-page.service-maintenance-v324 .service-content-section .service-keyword-cloud span {
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .service-page.service-maintenance-page .service-page-hero .service-hero-badge {
    left:auto!important;
    right:20px!important;
    bottom:20px!important;
    text-align:right!important;
  }
}

/* v354: composición móvil vertical y pasos en línea (excepto Fotovoltaica). */
@media (max-width:900px) and (orientation:portrait) {
  #sobre-nosotros .about-contact-panel-inline .pv-contact-kicker,
  #sobre-nosaltres .about-contact-panel-inline .pv-contact-kicker {
    display:flex!important;
    width:max-content!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    justify-content:center!important;
    text-align:center!important;
  }

  main.service-page:not(.pv-landing-page) .service-process-grid .service-step {
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr)!important;
    column-gap:10px!important;
    row-gap:0!important;
    align-items:center!important;
  }
  main.service-page:not(.pv-landing-page) .service-process-grid .service-step > span {
    grid-column:1!important;
    grid-row:1!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    margin:0!important;
    font-size:.72rem!important;
  }
  main.service-page:not(.pv-landing-page) .service-process-grid .service-step > h3 {
    grid-column:2!important;
    grid-row:1!important;
    margin:0!important;
    text-align:left!important;
  }
  main.service-page:not(.pv-landing-page) .service-process-grid .service-step > p {
    grid-column:1 / -1!important;
    grid-row:2!important;
    margin-top:10px!important;
  }

  .service-ve-page .service-page-hero-media > img {
    object-position:center center!important;
  }
  .service-ve-page .ve-content-photo,
  .service-ve-page .ve-content-photo img {
    aspect-ratio:1 / 1!important;
  }
  .service-ve-page .ve-content-photo img {
    object-fit:cover!important;
    object-position:center center!important;
  }
}


/* Aviso de copia del email */
.ortek-email-toast {
  position: fixed;
  left: 12px;
  top: 12px;
  bottom: auto;
  transform: translateY(6px);
  z-index: 99999;
  padding: 10px 16px;
  border-radius: 10px;
  background: rgba(20, 24, 31, 0.94);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
  opacity: 0;
  transition: opacity 180ms ease, transform 180ms ease;
  pointer-events: none;
}
.ortek-email-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}
