:root{--navy:#071e3d;--deep:#05162b;--blue:#2878d0;--sage:#9ed56b;--sage-d:#6fa342;--ink:#132943;--muted:#b9cad9;--line:#2b6498;--soft:#071e3d;--shadow:0 22px 60px rgba(2,14,30,.34);--radius:22px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.section{padding:104px 0}.soft{background:var(--soft)}.tag{display:inline-flex;align-items:center;gap:9px;margin-bottom:14px;color:var(--sage-d);font:600 .78rem "Oswald",sans-serif;letter-spacing:.14em;text-transform:uppercase}.tag:before{content:"";width:28px;height:2px;background:currentColor}.title{max-width:730px;margin:0;color:var(--navy);font:600 clamp(2.3rem,4vw,3.7rem)/1.05 "Oswald",sans-serif;letter-spacing:-.025em}.intro{max-width:650px;margin:18px 0 0;color:var(--muted);font-size:1.03rem}.site-header{position:fixed;inset:0 0 auto;z-index:100;color:#fff;transition:.25s}.site-header.scrolled{background:rgba(9,37,66,.96);box-shadow:0 12px 35px rgba(5,18,35,.2);backdrop-filter:blur(14px)}.nav-shell{min-height:88px;display:flex;align-items:center;gap:28px}.brand{width:148px;flex:none}.brand img{height:54px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.main-nav a{padding:10px 11px;border-radius:10px;color:#ffffffde;font-size:.9rem;font-weight:600}.main-nav a:hover,.main-nav a.active{color:#fff;background:#ffffff1a}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 20px;border:0;border-radius:12px;font-weight:700;transition:.2s}.header-cta,.primary{background:var(--sage);color:var(--deep)}.header-cta:hover,.primary:hover{transform:translateY(-2px);background:#bedab3;box-shadow:0 12px 25px #05122333}.menu-toggle{display:none;width:46px;height:46px;border:1px solid #ffffff33;border-radius:12px;background:#ffffff14;color:#fff}.hero{position:relative;min-height:820px;display:flex;align-items:center;overflow:hidden;color:#fff;background:radial-gradient(circle at 82% 20%,#a7c99a33,transparent 30%),linear-gradient(128deg,#173f78,#315da8 52%,#234c8d)}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffff28 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent,#000 55%);opacity:.65}.hero:after{content:"";position:absolute;inset:auto 0 -1px;height:90px;background:#fff;clip-path:polygon(0 72%,100% 0,100% 100%,0 100%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:center;padding:148px 0 132px}.kicker{display:flex;align-items:center;gap:12px;margin-bottom:20px;color:#d9edd0;font:500 .82rem "Oswald",sans-serif;letter-spacing:.16em;text-transform:uppercase}.kicker:before{content:"";width:36px;height:3px;background:var(--sage)}.hero h1{margin:0;font:600 clamp(3.7rem,6.4vw,6.25rem)/.93 "Oswald",sans-serif;letter-spacing:-.035em}.hero h1 span{display:block;color:var(--sage)}.hero-lead{max-width:540px;margin:24px 0 0;color:#ffffffd6;font-size:clamp(1rem,1.4vw,1.15rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.outline{border:1px solid #ffffff47;background:#ffffff12;color:#fff;backdrop-filter:blur(8px)}.outline:hover{transform:translateY(-2px);background:#ffffff24}.hero-points{display:flex;flex-wrap:wrap;gap:18px 26px;margin-top:32px;color:#ffffffc7;font-size:.86rem}.hero-points span{display:flex;align-items:center;gap:8px}.hero-points i{color:var(--sage)}.hero-visual{position:relative;min-height:570px}.photo-main{position:absolute;inset:5px 30px 35px 65px;overflow:hidden;border:5px solid #fffffff0;border-radius:30px;box-shadow:0 35px 80px #05122757}.photo-main img{height:100%;object-fit:cover;transition:opacity .35s}.photo-small{position:absolute;left:0;bottom:0;width:210px;height:210px;overflow:hidden;border:5px solid #fff;border-radius:24px;box-shadow:0 22px 45px #0512274d}.photo-small img{height:100%;object-fit:cover}.hero-badge{position:absolute;right:0;bottom:26px;width:190px;padding:18px;border:1px solid #ffffff29;border-radius:18px;background:#0d2747eb;box-shadow:0 16px 35px #05122740}.hero-badge strong{display:block;color:var(--sage);font:500 1.5rem/1 "Oswald"}.hero-badge span{display:block;margin-top:7px;color:#ffffffc2;font-size:.78rem;line-height:1.35}.sectors{position:relative;z-index:5;margin-top:-24px}.sector-shell{display:grid;grid-template-columns:1.3fr repeat(5,1fr);overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.sector-title{display:flex;align-items:center;padding:20px 24px;background:var(--navy);color:#fff;font:500 .9rem "Oswald";letter-spacing:.06em;text-transform:uppercase}.sector{display:flex;align-items:center;justify-content:center;gap:9px;padding:18px 10px;color:var(--muted);font-size:.83rem;font-weight:600}.sector+.sector{border-left:1px solid var(--line)}.sector i{color:var(--sage-d)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}.service{position:relative;min-height:270px;padding:30px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:.25s}.service:hover{transform:translateY(-6px);border-color:#b9cde5;box-shadow:var(--shadow)}.service-num{position:absolute;top:18px;right:22px;color:#eaf0f7;font:500 3rem/1 "Oswald"}.service-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#eef4fc;color:var(--blue);font-size:1.25rem}.service h3{margin:25px 0 9px;color:var(--navy);font:500 1.38rem "Oswald"}.service p{margin:0;color:var(--muted);font-size:.93rem}.service a,.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--blue);font-size:.86rem;font-weight:700}.solution-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.solution-media{position:relative;padding:0 44px 44px 0}.solution-media>img{aspect-ratio:1/.88;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.media-note{position:absolute;right:0;bottom:0;width:250px;padding:23px;border-radius:18px;background:var(--navy);color:#fff;box-shadow:0 20px 40px #0d274740}.media-note i{color:var(--sage);font-size:1.35rem}.media-note strong{display:block;margin-top:11px;font:500 1.25rem "Oswald"}.media-note span{display:block;margin-top:6px;color:#ffffffb8;font-size:.82rem}.checks{display:grid;gap:15px;margin:28px 0 0;padding:0;list-style:none}.checks li{display:grid;grid-template-columns:30px 1fr;gap:12px;color:var(--muted)}.checks i{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#eaf3e6;color:var(--sage-d);font-size:.75rem}.checks strong{color:var(--ink)}.portfolio-head{display:flex;align-items:end;justify-content:space-between;gap:30px}.portfolio{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:245px 245px;gap:16px;margin-top:48px}.work{position:relative;overflow:hidden;margin:0;border-radius:20px;background:var(--navy)}.work:first-child{grid-row:1/3}.work img{height:100%;object-fit:cover;transition:transform .5s}.work:hover img{transform:scale(1.045)}.work figcaption{position:absolute;inset:auto 0 0;padding:48px 20px 18px;color:#fff;background:linear-gradient(transparent,#051427db)}.work strong{display:block;font:500 1.1rem "Oswald"}.work span{color:#ffffffb8;font-size:.78rem}.process{display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px}.step{position:relative;padding:0 28px}.step:first-child{padding-left:0}.step:last-child{padding-right:0}.step:not(:last-child):after{content:"";position:absolute;top:27px;right:-2px;width:36%;height:1px;background:#b9c9db;transform:translateX(50%)}.step-num{width:56px;height:56px;display:grid;place-items:center;border:1px solid #bdcde0;border-radius:50%;background:#fff;color:var(--blue);font:500 1.15rem "Oswald";box-shadow:0 8px 20px #17375f14}.step h3{margin:22px 0 8px;color:var(--navy);font:500 1.2rem "Oswald"}.step p{margin:0;color:var(--muted);font-size:.88rem}.benefits{background:var(--deep);color:#fff}.benefits .tag{color:var(--sage)}.benefits .title{color:#fff}.benefit-grid{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:18px;margin-top:48px}.benefit-lead{padding-right:26px;color:#ffffffb3}.benefit{padding:26px;border:1px solid #ffffff1a;border-radius:18px;background:#ffffff0d}.benefit i{color:var(--sage);font-size:1.35rem}.benefit h3{margin:20px 0 8px;font:500 1.15rem "Oswald"}.benefit p{margin:0;color:#ffffffa8;font-size:.86rem}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.faq-side{position:sticky;top:120px}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border:0;background:transparent;color:var(--navy);text-align:left;font-weight:700}.faq-q i{transition:transform .25s}.faq-item.open .faq-q i{transform:rotate(45deg)}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s}.faq-a>div{overflow:hidden}.faq-a p{margin:0;padding:0 32px 22px 0;color:var(--muted);font-size:.92rem}.faq-item.open .faq-a{grid-template-rows:1fr}.quote-section{padding:104px 0;background:linear-gradient(135deg,#315da8,#173f78)}.quote-shell{display:grid;grid-template-columns:.85fr 1.15fr;overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 30px 80px #05122747}.quote-copy{position:relative;padding:54px;overflow:hidden;background:var(--deep);color:#fff}.quote-copy .tag{color:var(--sage)}.quote-copy h2{margin:0;font:500 clamp(2.3rem,4vw,3.5rem)/1.04 "Oswald"}.quote-copy>p{color:#ffffffb8}.quote-features{display:grid;gap:16px;margin-top:32px}.quote-feature{display:flex;align-items:center;gap:12px;font-size:.9rem}.quote-feature i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#a7c99a1f;color:var(--sage)}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:50px}.field{display:grid;gap:7px}.full{grid-column:1/-1}.field label{color:var(--navy);font-size:.82rem;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe;color:var(--ink);outline:0}.field textarea{min-height:118px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #315da81a}.submit{grid-column:1/-1;min-height:54px;border:0;border-radius:12px;background:var(--sage);color:var(--deep);font-weight:800}.form-note{grid-column:1/-1;margin:-3px 0 0;color:var(--muted);font-size:.76rem;text-align:center}.site-footer{padding:34px 0;background:#071c34;color:#ffffffa8}.footer-shell{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{width:128px}.footer-brand img{height:46px;object-fit:contain}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;font-size:.82rem}.copyright{font-size:.76rem;text-align:right}.floating{position:fixed;right:22px;bottom:22px;z-index:70;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 15px 35px #05122747;font-size:1.45rem}.reveal{opacity:0;transform:translateY(22px);transition:.65s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1020px){.main-nav,.header-cta{display:none}.menu-toggle{display:grid;place-items:center;margin-left:auto}.main-nav.open{position:fixed;inset:88px 18px auto;display:grid;padding:14px;border:1px solid #ffffff24;border-radius:18px;background:#0d2747fc;box-shadow:0 24px 50px #05122752}.main-nav.open a{padding:13px}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr;gap:38px;padding-top:142px}.hero-copy{max-width:700px}.hero-visual{min-height:530px;max-width:680px;width:100%;margin:auto}.sector-shell{grid-template-columns:repeat(3,1fr)}.sector-title{grid-column:1/-1;justify-content:center}.services-grid{grid-template-columns:repeat(2,1fr)}.solution-grid,.faq-layout{gap:45px}.benefit-grid{grid-template-columns:repeat(3,1fr)}.benefit-lead{grid-column:1/-1}.quote-shell{grid-template-columns:1fr}}
@media(max-width:760px){.container{width:min(calc(100% - 28px),var(--max))}.section{padding:78px 0}.nav-shell{min-height:78px}.brand{width:132px}.brand img{height:46px}.main-nav.open{top:78px}.hero-grid{padding:120px 0 112px}.hero h1{font-size:clamp(3.3rem,16vw,5rem)}.hero-visual{min-height:410px}.photo-main{inset:0 10px 25px 30px}.photo-small{width:145px;height:145px}.hero-badge{right:0;bottom:10px;width:165px;padding:15px}.sector-shell{grid-template-columns:repeat(2,1fr)}.services-grid,.solution-grid,.faq-layout{grid-template-columns:1fr}.service{min-height:auto}.solution-media{padding:0 28px 42px 0}.portfolio-head{align-items:start;flex-direction:column}.portfolio{grid-template-columns:1fr 1fr;grid-template-rows:300px 210px 210px}.work:first-child{grid-column:1/-1;grid-row:auto}.work:last-child{grid-column:1/-1}.process{grid-template-columns:1fr 1fr;gap:36px 12px}.step,.step:first-child,.step:last-child{padding:0 15px}.step:after{display:none}.benefit-grid{grid-template-columns:1fr}.faq-side{position:static}.quote-copy,.quote-form{padding:36px 25px}.quote-form{grid-template-columns:1fr}.full,.submit,.form-note{grid-column:auto}.footer-shell{flex-direction:column;text-align:center}.copyright{text-align:center}}
@media(max-width:480px){.hero-actions .button{width:100%}.hero-points{display:grid;gap:9px}.hero-visual{min-height:360px}.photo-main{left:18px}.photo-small{width:120px;height:120px;border-width:4px}.hero-badge{width:150px}.sectors{margin-top:-15px}.sector-shell{grid-template-columns:1fr}.sector{border-left:0!important;border-top:1px solid var(--line);justify-content:flex-start;padding-left:24px}.services-grid{grid-template-columns:1fr}.portfolio{grid-template-columns:1fr;grid-template-rows:repeat(5,260px)}.work:first-child,.work:last-child{grid-column:auto}.process{grid-template-columns:1fr}.media-note{width:215px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Tema editorial oscuro con navegación lateral */
body{padding-left:260px;background:#091d33;color:#eef5fc}
.site-header{inset:0 auto 0 0;width:260px;background:linear-gradient(180deg,#0b2949 0%,#071a2f 100%);border-right:1px solid #ffffff14;box-shadow:18px 0 50px #03101e33}
.site-header.scrolled{background:linear-gradient(180deg,#0b2949 0%,#071a2f 100%);box-shadow:18px 0 50px #03101e33;backdrop-filter:none}
.nav-shell{width:100%;height:100%;min-height:100vh;flex-direction:column;align-items:stretch;padding:34px 22px;margin:0;gap:0}
.brand{width:174px;align-self:center;margin-bottom:42px;padding-bottom:28px;border-bottom:1px solid #ffffff17}
.brand img{height:66px}
.main-nav{width:100%;flex-direction:column;align-items:stretch;gap:7px;margin:0}
.main-nav:before{content:"NAVEGACIÓN";padding:0 13px 10px;color:#8fa9c2;font:500 .65rem "Oswald",sans-serif;letter-spacing:.18em}
.main-nav a{position:relative;display:flex;align-items:center;min-height:48px;padding:0 14px;border:1px solid transparent;border-radius:12px;color:#b9cadb;font-size:.88rem;letter-spacing:.01em}
.main-nav a:before{content:"";width:6px;height:6px;margin-right:12px;border:1px solid #6e91af;border-radius:50%;transition:.2s}
.main-nav a:hover,.main-nav a.active{color:#fff;background:linear-gradient(90deg,#315fa940,#a7c99a12);border-color:#ffffff12;transform:translateX(3px)}
.main-nav a:hover:before,.main-nav a.active:before{border-color:var(--sage);background:var(--sage);box-shadow:0 0 14px #a7c99aaa}
.header-cta{position:relative;width:100%;margin-top:auto;min-height:54px;padding:0 12px;border:1px solid #c4deb433;box-shadow:0 15px 30px #020c1738}
.header-cta:before{content:"¿TIENES UN PROYECTO?";position:absolute;left:0;top:-32px;color:#7894ae;font:500 .64rem "Oswald",sans-serif;letter-spacing:.14em;pointer-events:none}
.hero{min-height:100vh;background:radial-gradient(circle at 82% 18%,#a7c99a29,transparent 24%),radial-gradient(circle at 15% 75%,#3b72c62e,transparent 27%),linear-gradient(130deg,#102f55 0%,#17477e 52%,#102f58 100%)}
.hero:after{height:120px;background:#0f2a47;clip-path:polygon(0 72%,100% 18%,100% 100%,0 100%)}
.hero-grid{padding:105px 0 150px}
.hero h1{text-shadow:0 16px 40px #03132455}
.photo-main{border-color:#b8d8aa;box-shadow:0 35px 80px #020c176b,0 0 0 1px #ffffff1c}
.photo-small{border-color:#173e68}
.hero-badge{background:#071f39ed;border-color:#a7c99a38}
.sectors{margin-top:-48px}
.sector-shell{border-color:#315273;background:#0e2b49;box-shadow:0 25px 65px #020c174d}
.sector-title{background:linear-gradient(135deg,#a7c99a,#7fab73);color:#09223c}
.sector{color:#c3d3e2;background:#102f50}
.sector+.sector{border-color:#294969}
.sector i{color:var(--sage)}
.section{background:#0f2a47}
.section.soft,.soft{background:#0a2038}
.tag{color:#a7c99a}
.title{color:#f3f8fc}
.intro{color:#afc0d1}
.services-grid{gap:20px}
.service{border-color:#284a6b;background:linear-gradient(145deg,#153b60 0%,#0e2d4e 100%);box-shadow:inset 0 1px 0 #ffffff0a,0 18px 45px #020d181f}
.service:hover{border-color:#7ba16f;box-shadow:0 28px 60px #020d1845,0 0 0 1px #a7c99a1c}
.service-num{color:#ffffff0c}
.service-icon{background:#a7c99a18;color:#b8dbaa;border:1px solid #a7c99a26}
.service h3{color:#f4f8fc}
.service p,.checks li,.step p,.faq-a p{color:#adbed0}
.service a,.text-link{color:#b6d7aa}
.solution-media>img{box-shadow:0 30px 70px #020c175c}
.media-note{background:#143b61;border:1px solid #a7c99a2b}
.checks i{background:#a7c99a1f;color:#b8dbaa}
.checks strong{color:#f2f7fb}
.portfolio{padding:14px;border:1px solid #ffffff12;border-radius:28px;background:#071c32;box-shadow:0 30px 75px #020b153d}
.work{border:1px solid #ffffff12}
.process{position:relative;padding:34px;border:1px solid #254665;border-radius:26px;background:linear-gradient(145deg,#123658,#0b2540);box-shadow:0 25px 60px #020c172b}
.step:not(:last-child):after{background:#406788}
.step-num{border-color:#73956a;background:#a7c99a;color:#09223c;box-shadow:0 10px 24px #020c1742}
.step h3{color:#f4f8fc}
.benefits{background:radial-gradient(circle at 75% 20%,#315fa926,transparent 34%),#061a30}
.benefit{border-color:#ffffff16;background:linear-gradient(145deg,#ffffff0d,#ffffff05);box-shadow:inset 0 1px 0 #ffffff0a}
.benefit:hover{border-color:#a7c99a3b;transform:translateY(-4px)}
.faq-list{border-color:#31506f}
.faq-item{border-color:#31506f}
.faq-q{color:#eef5fc}
.faq-q i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#a7c99a18;color:var(--sage)}
.quote-section{background:radial-gradient(circle at 80% 10%,#a7c99a24,transparent 30%),linear-gradient(135deg,#071d34,#123d67)}
.quote-shell{border:1px solid #ffffff17;background:#102e4e;box-shadow:0 35px 90px #020b166b}
.quote-copy{background:linear-gradient(150deg,#16436e,#09243f)}
.quote-form{background:#102e4e}
.field label{color:#dce8f3}
.field input,.field select,.field textarea{border-color:#355879;background:#0a233d;color:#eef5fc}
.field input::placeholder,.field textarea::placeholder{color:#7890a6}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#9aba8e;box-shadow:0 0 0 4px #a7c99a17}
.form-note{color:#91a6ba}
.site-footer{background:#041426;border-top:1px solid #ffffff0d}
.floating{right:26px;border:3px solid #0f2a47}

@media(max-width:1020px){
  body{padding-left:0}
  .site-header{inset:0 0 auto;width:auto;height:auto;background:#092542f2;border-right:0;border-bottom:1px solid #ffffff14}
  .site-header.scrolled{background:#092542f7;box-shadow:0 12px 35px #020c173d;backdrop-filter:blur(14px)}
  .nav-shell{width:min(var(--max),calc(100% - 40px));height:auto;min-height:88px;flex-direction:row;align-items:center;padding:0;margin:auto}
  .brand{width:145px;align-self:auto;margin:0;padding:0;border:0}
  .brand img{height:53px}
  .main-nav{display:none}
  .main-nav:before{display:block;padding:4px 13px 10px}
  .main-nav.open{inset:88px 18px auto;display:flex;flex-direction:column;width:auto;padding:18px;background:#092542fc;border-color:#ffffff1f}
  .header-cta:before{display:none}
  .menu-toggle{display:grid;place-items:center;margin-left:auto}
  .hero-grid{padding-top:142px}
  .sectors{margin-top:-38px}
}
@media(max-width:760px){
  .nav-shell{width:min(calc(100% - 28px),var(--max));min-height:78px}
  .brand{width:132px}.brand img{height:46px}
  .main-nav.open{top:78px}
  .hero-grid{padding-top:118px}
  .process{padding:25px 12px}
}

/* Clientes y referencias */
.clients-section{position:relative;overflow:hidden;background:#071c32}
.clients-section:before{content:"";position:absolute;width:520px;height:520px;right:-260px;top:-260px;border:1px solid #a7c99a1f;border-radius:50%;box-shadow:0 0 0 80px #315fa909,0 0 0 160px #315fa906;pointer-events:none}
.clients-heading,.references-head{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.clients-heading .intro{max-width:470px;margin-bottom:6px}
.logos-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:46px;padding:15px;border:1px solid #ffffff12;border-radius:26px;background:#ffffff05}
.logo-slot{position:relative;min-height:132px;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #315273;border-radius:16px;background:linear-gradient(145deg,#123859,#0b2946);color:#b5c8d8;transition:.25s}
.logo-slot:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,#a7c99a16,transparent 58%);opacity:0;transition:.25s}
.logo-slot:hover{transform:translateY(-4px);border-color:#7fa275;box-shadow:0 18px 35px #020c1738}
.logo-slot:hover:before{opacity:1}
.logo-slot span{position:relative;font:600 1.25rem "Oswald",sans-serif;letter-spacing:.18em;color:#d7e3ed}
.logo-slot small{position:relative;color:#7891a7;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.logo-slot img{position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:cover}
.references-section{position:relative;background:linear-gradient(160deg,#0a2038,#102f4f)}
.quote-mark{height:90px;color:#a7c99a2b;font:600 8.5rem/.8 Georgia,serif}
.references-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px;align-items:stretch}
.reference-card{position:relative;margin:0;padding:30px;border:1px solid #2d4f6f;border-radius:20px;background:linear-gradient(145deg,#14395b,#0d2946);box-shadow:0 22px 50px #020c172b;transition:.25s}
.reference-card:hover{transform:translateY(-5px);border-color:#789a70}
.reference-card.featured{border-color:#789a706b;background:linear-gradient(145deg,#194567,#123a5a);box-shadow:0 28px 65px #020c1745,0 0 0 1px #a7c99a12}
.stars{display:flex;gap:5px;color:#a7c99a;font-size:.78rem}
.reference-card blockquote{min-height:126px;margin:22px 0 28px;color:#d3deE8;font-size:1rem;line-height:1.75}
.reference-card footer{display:flex;align-items:center;gap:13px;padding-top:20px;border-top:1px solid #ffffff12}
.client-avatar{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:50%;background:#a7c99a1c;color:#a7c99a}
.reference-card footer strong,.reference-card footer span{display:block}
.reference-card footer strong{color:#f4f8fc;font-size:.86rem}
.reference-card footer span{color:#7f96aa;font-size:.72rem}

@media(max-width:820px){.clients-heading,.references-head{align-items:flex-start;flex-direction:column}.logos-grid{grid-template-columns:repeat(2,1fr)}.references-grid{grid-template-columns:1fr}.reference-card blockquote{min-height:auto}.quote-mark{display:none}}
@media(max-width:480px){.logos-grid{grid-template-columns:1fr}.logo-slot{min-height:110px}}

/* Filtros del portafolio */
.portfolio-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}
.filter-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 17px;border:1px solid #315273;border-radius:999px;background:#0b2946;color:#aebfd0;font-size:.82rem;font-weight:700;transition:transform .2s,border-color .2s,background .2s,color .2s,box-shadow .2s}
.filter-button:hover{transform:translateY(-2px);border-color:#719068;color:#fff}
.filter-button.active{border-color:#a7c99a;background:linear-gradient(135deg,#a7c99a,#82ab76);color:#09223c;box-shadow:0 10px 25px #020c1738}
.filter-button i{font-size:.78rem}
.work:first-child{grid-row:auto}
.work.is-featured{grid-row:1/3}
.work[hidden]{display:none}
.portfolio.filtered{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-template-rows:340px}
.portfolio.filtered .work.is-featured{grid-row:auto}
.work.filter-enter{animation:portfolioIn .38s ease both}
@keyframes portfolioIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

@media(max-width:760px){.portfolio-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px;scrollbar-width:thin}.filter-button{flex:none}.work.is-featured{grid-column:1/-1;grid-row:auto}.portfolio.filtered{grid-template-columns:repeat(2,1fr);grid-template-rows:260px}}
@media(max-width:480px){.portfolio.filtered{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:260px}.work.is-featured{grid-column:auto}}

/* Iconografía y redes de la navegación */
.nav-shell{overflow-y:auto}
.main-nav{flex:1;min-height:0}
.main-nav>a:before{display:none}
.main-nav>a>i{width:22px;margin-right:12px;color:#87a9c6;font-size:.92rem;text-align:center;transition:color .2s,transform .2s}
.main-nav>a:hover>i,.main-nav>a.active>i{color:var(--sage);transform:scale(1.08)}
.main-nav>a.active{box-shadow:inset 3px 0 0 var(--sage),0 8px 20px #020c171f}
.sidebar-social{margin-top:auto;padding:25px 10px 0}
.sidebar-social>span{display:block;margin-bottom:12px;color:#7894ae;font:500 .64rem "Oswald",sans-serif;letter-spacing:.16em;text-transform:uppercase}
.sidebar-social>div{display:flex;gap:10px}
.main-nav .social-link{width:39px;height:39px;min-height:39px;display:grid;place-items:center;padding:0;border:1px solid #ffffff17;border-radius:11px;background:#ffffff09;color:#b7cadb;transition:transform .2s,border-color .2s,background .2s,color .2s}
.main-nav .social-link:before{display:none}
.main-nav .social-link i{margin:0;font-size:.95rem}
.main-nav .social-link:hover{transform:translateY(-3px);border-color:#a7c99a5c;background:#a7c99a18;color:#bde0b0}
.header-cta{margin-top:52px}

@media(max-width:1020px){.nav-shell{overflow:visible}.main-nav{flex:none;min-height:auto}.main-nav.open{max-height:calc(100vh - 100px);overflow-y:auto}.sidebar-social{margin-top:14px;padding:18px 12px 2px;border-top:1px solid #ffffff14}.sidebar-social>div{gap:12px}.main-nav .social-link{display:grid;padding:0}.header-cta{margin-top:0}}

/* Navegación premium contraíble */
body{padding-left:280px;transition:padding-left .32s ease}
.site-header{width:280px;overflow:visible;transition:width .32s ease,box-shadow .32s ease}
.site-header:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffff0d 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(180deg,#000,transparent 75%);pointer-events:none}
.nav-shell{position:relative;z-index:1;padding:25px 20px 22px;overflow:visible}
.brand{width:100%;height:82px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;padding:10px 16px;border:1px solid #ffffff12;border-radius:18px;background:linear-gradient(145deg,#ffffff0b,#ffffff03);box-shadow:inset 0 1px 0 #ffffff0d}
.brand img{height:58px}
.brand:after{content:"GTM";display:none;color:#dce8f3;font:600 1rem "Oswald",sans-serif;letter-spacing:.12em}
.sidebar-collapse{position:absolute;top:92px;right:-14px;z-index:4;width:30px;height:30px;display:grid;place-items:center;border:1px solid #496a89;border-radius:50%;background:#123b60;color:#bcd0e1;box-shadow:0 8px 20px #020c1747;font-size:.7rem;transition:transform .2s,background .2s,color .2s}
.sidebar-collapse:hover{transform:scale(1.08);background:var(--sage);color:#08213a}
.main-nav{gap:5px}
.main-nav:before{display:none}
.nav-group-label{display:block;margin:4px 12px 7px;color:#7894ae;font:500 .63rem "Oswald",sans-serif;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap}
.nav-group-label.second{margin-top:15px}
.main-nav>a{min-height:49px;padding:5px 10px;border-radius:13px}
.main-nav>a>i{width:36px;height:36px;display:grid;place-items:center;flex:none;margin-right:11px;border:1px solid #ffffff12;border-radius:10px;background:#ffffff08;color:#8eacc7;font-size:.82rem;box-shadow:inset 0 1px 0 #ffffff08}
.main-nav>a:hover>i,.main-nav>a.active>i{border-color:#a7c99a3d;background:#a7c99a16;color:var(--sage);box-shadow:0 7px 16px #020c172e,inset 0 1px 0 #ffffff12}
.main-nav>a.active{background:linear-gradient(90deg,#315fa945,#a7c99a12);box-shadow:inset 3px 0 0 var(--sage),0 10px 22px #020c1726}
.sidebar-social{padding:18px 10px 0}
.main-nav .social-link{width:38px;height:38px;min-height:38px;border-radius:12px}
.header-cta{display:flex;min-height:74px;margin-top:14px;padding:10px;border:1px solid #a7c99a42;border-radius:17px;background:linear-gradient(135deg,#a7c99a,#7fac73);color:#08213a;box-shadow:0 15px 32px #020c1742}
.header-cta:before{display:none}
.cta-menu-icon{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:12px;background:#092b455c;color:#eff8eb;font-size:1.15rem}
.cta-menu-copy{display:grid;gap:1px;min-width:0;text-align:left;line-height:1.2}
.cta-menu-copy small{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.7}
.cta-menu-copy strong{font-size:.78rem;white-space:nowrap}
.cta-menu-arrow{margin-left:auto;font-size:.72rem}
.header-cta:hover{background:linear-gradient(135deg,#bddbb1,#95bd89)}

body.sidebar-collapsed{padding-left:88px}
body.sidebar-collapsed .site-header{width:88px}
body.sidebar-collapsed .nav-shell{padding-inline:12px}
body.sidebar-collapsed .brand{height:62px;padding:8px;margin-bottom:28px}
body.sidebar-collapsed .brand img{display:none}
body.sidebar-collapsed .brand:after{display:block}
body.sidebar-collapsed .sidebar-collapse{top:76px}
body.sidebar-collapsed .sidebar-collapse i{transform:rotate(180deg)}
body.sidebar-collapsed .nav-group-label,body.sidebar-collapsed .main-nav>a span,body.sidebar-collapsed .sidebar-social>span{display:none}
body.sidebar-collapsed .main-nav>a{width:52px;min-height:50px;justify-content:center;padding:6px;margin-inline:auto}
body.sidebar-collapsed .main-nav>a>i{margin:0}
body.sidebar-collapsed .sidebar-social{padding:18px 0 0}
body.sidebar-collapsed .sidebar-social>div{flex-direction:column;align-items:center}
body.sidebar-collapsed .header-cta{width:52px;height:52px;min-height:52px;justify-content:center;padding:6px;margin-inline:auto;border-radius:14px}
body.sidebar-collapsed .cta-menu-copy,body.sidebar-collapsed .cta-menu-arrow{display:none}

@media(max-width:1020px){body,body.sidebar-collapsed{padding-left:0}.site-header,body.sidebar-collapsed .site-header{width:auto}.site-header:before{display:none}.nav-shell,body.sidebar-collapsed .nav-shell{padding:0}.brand,body.sidebar-collapsed .brand{width:145px;height:auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none}.brand img,body.sidebar-collapsed .brand img{display:block;height:53px}.brand:after,body.sidebar-collapsed .brand:after{display:none}.sidebar-collapse{display:none}.main-nav.open{gap:5px}.nav-group-label,body.sidebar-collapsed .nav-group-label{display:block}.main-nav>a,body.sidebar-collapsed .main-nav>a{width:auto;min-height:48px;justify-content:flex-start;padding:5px 10px;margin:0}.main-nav>a span,body.sidebar-collapsed .main-nav>a span{display:inline}.main-nav>a>i,body.sidebar-collapsed .main-nav>a>i{margin-right:11px}.sidebar-social,body.sidebar-collapsed .sidebar-social{padding:18px 12px 2px}.sidebar-social>span,body.sidebar-collapsed .sidebar-social>span{display:block}.sidebar-social>div,body.sidebar-collapsed .sidebar-social>div{flex-direction:row;align-items:initial}.header-cta{display:none}}
@media(max-width:760px){.brand,body.sidebar-collapsed .brand{width:132px}.brand img,body.sidebar-collapsed .brand img{height:46px}}

/* Navegación editorial de marca */
body{padding-left:248px}
.site-header{width:248px;background:linear-gradient(180deg,#0b2b4b 0%,#08213b 55%,#061a30 100%);border-right:1px solid #ffffff10;box-shadow:14px 0 45px #020d1829}
.site-header:before{display:block;background:linear-gradient(150deg,#ffffff08 0 1px,transparent 1px 22px);background-size:22px 22px;mask-image:linear-gradient(180deg,#00000070,transparent 62%);opacity:.38}
.nav-shell{padding:38px 27px 28px}
.brand-block{position:relative;padding-bottom:35px;margin-bottom:30px}
.brand-block:after{content:"";position:absolute;left:0;bottom:0;width:38px;height:2px;background:var(--sage)}
.brand{width:168px;height:auto;justify-content:flex-start;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.brand img{height:61px}
.brand-block>span{display:block;margin-top:12px;color:#8ea7bd;font:500 .59rem "Oswald",sans-serif;letter-spacing:.13em;text-transform:uppercase}
.main-nav{gap:0}
.main-nav>a{position:relative;min-height:48px;padding:7px 0;border:0;border-radius:0;background:transparent;color:#aebfd0;font:500 .94rem "Oswald",sans-serif;letter-spacing:.035em;box-shadow:none;transition:color .2s,transform .2s}
.main-nav>a:after{content:"";position:absolute;left:-27px;top:50%;width:0;height:1px;background:var(--sage);transition:width .25s}
.main-nav>a:hover,.main-nav>a.active{border:0;background:transparent;color:#fff;box-shadow:none;transform:translateX(5px)}
.main-nav>a:hover:after,.main-nav>a.active:after{width:18px}
.main-nav>a>i{width:20px;height:auto;display:block;margin-right:13px;border:0;border-radius:0;background:transparent;color:#6687a3;font-size:.78rem;box-shadow:none}
.main-nav>a:hover>i,.main-nav>a.active>i{border:0;background:transparent;color:var(--sage);box-shadow:none;transform:none}
.sidebar-social{margin-top:auto;padding:24px 0 0;border-top:1px solid #ffffff10}
.sidebar-social>span{margin-bottom:13px;color:#718da6}
.main-nav .social-link{width:34px;height:34px;min-height:34px;border:0;border-radius:50%;background:#ffffff09;color:#9fb3c5}
.main-nav .social-link:hover{border:0;background:var(--sage);color:#09223c;transform:translateY(-3px)}
.header-cta{min-height:46px;margin-top:22px;padding:0 14px;border:1px solid #a7c99a73;border-radius:0;background:transparent;color:#c5dfba;box-shadow:none;font:500 .75rem "Oswald",sans-serif;letter-spacing:.05em;text-transform:uppercase}
.header-cta:hover{border-color:var(--sage);background:var(--sage);color:#08213a;box-shadow:none}
.header-cta i{margin-left:auto;font-size:.68rem}
.sidebar-collapse,.nav-group-label{display:none!important}

@media(max-width:1020px){body{padding-left:0}.site-header{width:auto}.site-header:before{display:none}.nav-shell{padding:0}.brand-block{padding:0;margin:0}.brand-block:after,.brand-block>span{display:none}.brand{width:145px}.brand img{height:53px}.main-nav.open{padding:22px 20px}.main-nav>a{padding-inline:4px}.main-nav>a:after{left:-20px}.sidebar-social{margin-top:16px}.header-cta{display:none}}
@media(max-width:760px){.brand{width:132px}.brand img{height:46px}}

/* Franja verde de navegación activa */
.main-nav{width:calc(100% + 54px);margin-left:-27px}
.main-nav>a{width:100%;min-height:50px;margin:0;padding:7px 27px;overflow:hidden;isolation:isolate;transition:color .22s ease,background-color .22s ease,box-shadow .22s ease}
.main-nav>a:before{content:"";position:absolute;inset:0;width:auto;height:auto;display:block;margin:0;border:0;border-radius:0;background:linear-gradient(90deg,#5f8958 0%,#78a56d 55%,#8db881 100%);transform:scaleX(0);transform-origin:left center;transition:transform .28s cubic-bezier(.2,.75,.25,1);z-index:-1}
.main-nav>a:after{display:none}
.main-nav>a:hover,.main-nav>a.active{background:transparent;color:#092b4a;box-shadow:none;transform:none}
.main-nav>a:hover:before,.main-nav>a.active:before{transform:scaleX(1)}
.main-nav>a:hover>i,.main-nav>a.active>i{color:#092b4a}
.main-nav>a span{position:relative}
.sidebar-social{margin-left:27px;margin-right:27px}

@media(max-width:1020px){.main-nav{width:auto;margin-left:0}.main-nav>a{width:100%;margin-inline:0;padding:8px 13px;border-radius:10px}.main-nav>a:hover,.main-nav>a.active{box-shadow:none}.sidebar-social{margin-left:0;margin-right:0}}

/* Hero con una sola imagen */
.hero-visual .photo-main{inset:0 12px;border-color:#b8d8aa}
.hero-badge{right:0;bottom:0;width:210px;text-decoration:none;transition:transform .22s ease,background .22s ease,border-color .22s ease}
.hero-badge:hover{transform:translateY(-4px);background:#0b3153f5;border-color:#a7c99a75}
.hero-badge strong{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hero-badge strong i{font-size:.75rem}
@media(max-width:760px){.hero-visual .photo-main{inset:0}.hero-badge{right:0;bottom:0;width:190px}}

/* Acceso editorial al portafolio */
.hero-showcase{position:absolute;right:0;bottom:0;width:285px;min-height:104px;display:flex;align-items:center;gap:16px;padding:18px 18px 18px 22px;overflow:hidden;border:1px solid #ffffff26;border-left:4px solid var(--sage);border-radius:4px 18px 18px 4px;background:linear-gradient(125deg,#071e36f5,#123e65ed);color:#fff;box-shadow:0 20px 45px #020c1757;backdrop-filter:blur(14px);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.hero-showcase:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#a7c99a10,transparent 48%);pointer-events:none}
.showcase-copy{position:relative;display:grid;gap:6px;line-height:1.18}
.showcase-copy small{color:var(--sage);font:500 .64rem "Oswald",sans-serif;letter-spacing:.17em;text-transform:uppercase}
.showcase-copy strong{font:500 1rem "Oswald",sans-serif;letter-spacing:.01em}
.showcase-arrow{position:relative;width:40px;height:40px;display:grid;place-items:center;flex:none;border:1px solid #a7c99a55;border-radius:50%;color:var(--sage);transition:background .22s ease,color .22s ease,transform .22s ease}
.hero-showcase:hover{transform:translateY(-5px);border-color:#a7c99a73;box-shadow:0 26px 55px #020c176b}
.hero-showcase:hover .showcase-arrow{background:var(--sage);color:#092b4a;transform:translateX(3px)}
@media(max-width:760px){.hero-showcase{right:0;bottom:0;width:250px;min-height:92px;padding:15px 15px 15px 18px}.showcase-copy strong{font-size:.9rem}.showcase-arrow{width:36px;height:36px}}

/* Fotografías por servicio */
.service{min-height:430px;padding:0 0 27px}
.service-photo{height:178px;background-repeat:no-repeat;background-size:100% 100%,cover;background-position:center;transition:filter .3s ease,transform .45s ease}
.service-photo-1{background-image:linear-gradient(180deg,transparent 55%,#0e2d4eb8),url('../assets/images/servicio-1.jpg')}
.service-photo-2{background-image:linear-gradient(180deg,transparent 55%,#0e2d4eb8),url('../assets/images/servicio-2.jpg')}
.service-photo-3{background-image:linear-gradient(180deg,transparent 55%,#0e2d4eb8),url('../assets/images/servicio-3.jpg')}
.service-photo-4{background-image:linear-gradient(180deg,transparent 55%,#0e2d4eb8),url('../assets/images/servicio-4.jpg')}
.service-photo-5{background-image:linear-gradient(180deg,transparent 55%,#0e2d4eb8),url('../assets/images/servicio-5.jpg')}
.service-photo-6{background-image:linear-gradient(180deg,transparent 55%,#0e2d4eb8),url('../assets/images/servicio-6.jpg')}
.service:hover .service-photo{filter:brightness(1.08) saturate(1.05)}
.service-num{z-index:3;top:17px;right:19px;color:#fff;font-size:2.25rem;text-shadow:0 3px 14px #020c17cc}
.service-icon{position:absolute;z-index:3;top:150px;left:25px;border:3px solid #12385a;background:#a7c99a;color:#092b4a;box-shadow:0 10px 24px #020c1752}
.service h3{margin:34px 25px 9px}
.service p{margin:0 25px}
.service>a{margin-left:25px;margin-right:25px}
@media(max-width:480px){.service{min-height:410px}.service-photo{height:165px}.service-icon{top:137px}}

/* Formulario de testimonios */
.references-actions{display:flex;align-items:center;gap:24px}
.add-testimonial{min-height:46px;display:inline-flex;align-items:center;gap:9px;padding:0 18px;border:1px solid #a7c99a6b;border-radius:999px;background:#a7c99a12;color:#c3dfb8;font-weight:700;transition:transform .2s,background .2s,color .2s}
.add-testimonial:hover{transform:translateY(-2px);background:var(--sage);color:#092b4a}
.client-avatar{overflow:hidden}
.client-avatar img{width:100%;height:100%;object-fit:cover}
.testimonial-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.testimonial-modal.open{opacity:1;visibility:visible}
.modal-backdrop{position:absolute;inset:0;background:#020d18d9;backdrop-filter:blur(8px)}
.testimonial-dialog{position:relative;width:min(650px,100%);max-height:calc(100vh - 44px);overflow-y:auto;padding:38px;border:1px solid #3a5d7d;border-radius:24px;background:linear-gradient(145deg,#12395b,#0a243e);color:#eef5fc;box-shadow:0 35px 90px #020811b8;transform:translateY(18px) scale(.98);transition:transform .25s}
.testimonial-modal.open .testimonial-dialog{transform:none}
.testimonial-dialog h2{margin:0;font:500 2.3rem/1.1 "Oswald",sans-serif}
.testimonial-dialog>p{margin:10px 0 25px;color:#aebfd0}
.modal-close{position:absolute;top:16px;right:16px;width:39px;height:39px;display:grid;place-items:center;border:1px solid #ffffff1a;border-radius:50%;background:#ffffff0a;color:#dce8f3}
.modal-close:hover{background:#a7c99a;color:#092b4a}
.testimonial-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.testimonial-fields .field label{color:#dce8f3}
.photo-upload{display:flex!important;align-items:center;gap:14px;padding:12px;border:1px dashed #557795;border-radius:14px;background:#071e35;cursor:pointer}
.photo-preview{width:58px;height:58px;display:grid;place-items:center;flex:none;overflow:hidden;border-radius:50%;background:#a7c99a16;color:var(--sage);font-size:1.15rem}
.photo-preview img{width:100%;height:100%;object-fit:cover}
.photo-upload strong,.photo-upload small{display:block}
.photo-upload small{margin-top:3px;color:#7892a9;font-size:.7rem}
.file-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;opacity:0;pointer-events:none}
.testimonial-submit{width:100%;min-height:52px;margin-top:20px;border:0;border-radius:12px;background:var(--sage);color:#092b4a;font-weight:800}
.testimonial-submit:hover{background:#bdd9b2}
.testimonial-storage-note{display:flex;justify-content:center;align-items:center;gap:7px;margin:12px 0 0!important;color:#7892a9!important;font-size:.72rem;text-align:center}
body.modal-open{overflow:hidden}
@media(max-width:820px){.references-actions{width:100%;justify-content:space-between}.add-testimonial{order:1}.testimonial-fields{grid-template-columns:1fr}.testimonial-fields .full{grid-column:auto}}
@media(max-width:520px){.references-actions{align-items:flex-start;flex-direction:column}.testimonial-dialog{padding:30px 20px}.testimonial-dialog h2{font-size:2rem}}

/* Carrusel animado de testimonios */
.references-actions{flex-wrap:wrap;justify-content:flex-end}
.carousel-controls{display:flex;gap:8px}
.carousel-controls button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #557695;border-radius:50%;background:#ffffff08;color:#c1d2e1;transition:transform .2s,background .2s,color .2s,border-color .2s}
.carousel-controls button:hover{transform:translateY(-2px);border-color:var(--sage);background:var(--sage);color:#092b4a}
.references-grid{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 22px}
.references-grid::-webkit-scrollbar{display:none}
.reference-card{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start}
.reference-card.featured{transform:none}
.reference-card.featured:hover{transform:translateY(-5px)}
@media(max-width:980px){.reference-card{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:680px){.references-actions{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center}.quote-mark{display:none}.add-testimonial{grid-column:1/-1;width:100%;justify-content:center;order:2}.reference-card{flex-basis:88%}}

/* Paleta viva corporativa */
body{background:#071e3d}
.site-header,.site-header.scrolled{background:linear-gradient(180deg,#0d3564 0%,#08284d 58%,#061b35 100%);border-right-color:#32c6c82b;box-shadow:18px 0 55px #020c193d}
.brand-block:after{background:#9ed56b;box-shadow:0 0 16px #9ed56b66}
.brand-block>span{color:#9ebbd4}
.hero{background:radial-gradient(circle at 80% 16%,#9ed56b38,transparent 26%),radial-gradient(circle at 18% 78%,#32c6c82e,transparent 28%),linear-gradient(128deg,#0d3564 0%,#2878d0 55%,#14549b 100%)}
.hero:after{background:#0d3564}
.hero h1 span,.kicker,.hero-points i{color:#b3e57f}
.hero-visual .photo-main{border-color:#9ed56b;box-shadow:0 35px 85px #020c196b,0 0 32px #32c6c824}
.primary,.header-cta,.submit,.testimonial-submit{background:#9ed56b;color:#071e3d}
.primary:hover,.header-cta:hover,.submit:hover,.testimonial-submit:hover{background:#b7eb82}
.outline{border-color:#74dce0;background:#0a3b7166}
.section{background:#0d3564}
.section.soft,.soft{background:#071e3d}
.title{color:#f2f7fa}
.intro,.service p,.checks li,.step p,.faq-a p{color:#b9cad9}
.tag{color:#9ed56b}
.service{border-color:#2b6498;background:linear-gradient(145deg,#134a80,#0d3b6c);box-shadow:0 20px 48px #020c192e}
.service:hover{border-color:#32c6c8;box-shadow:0 28px 65px #020c1957,0 0 24px #32c6c819}
.service-icon{border-color:#134a80;background:#9ed56b;color:#071e3d}
.service h3,.step h3,.checks strong{color:#f2f7fa}
.service a,.text-link{color:#53d7da}
.clients-section{background:linear-gradient(155deg,#061b35,#0b315d)}
.logo-slot{border-color:#2b6498;background:linear-gradient(145deg,#134a80,#0b3865)}
.logo-slot:hover{border-color:#32c6c8;box-shadow:0 18px 38px #020c1947,0 0 20px #32c6c81f}
.media-note{background:#0d4a7f;border-color:#9ed56b52}
.portfolio{border-color:#32c6c829;background:#051b35;box-shadow:0 30px 75px #020b1552}
.filter-button{border-color:#2b6498;background:#0c3a6a;color:#c2d4e3}
.filter-button:hover{border-color:#32c6c8}
.filter-button.active{border-color:#9ed56b;background:linear-gradient(135deg,#9ed56b,#75ba4e);color:#071e3d}
.process{border-color:#2b6498;background:linear-gradient(145deg,#134a80,#0a315b);box-shadow:0 25px 60px #020c193d}
.step-num{border-color:#9ed56b;background:#9ed56b;color:#071e3d}
.benefits{background:radial-gradient(circle at 76% 18%,#32c6c826,transparent 34%),linear-gradient(145deg,#05162b,#072a50)}
.benefit{border-color:#2878d04a;background:linear-gradient(145deg,#134a8066,#0d35643d)}
.benefit:hover{border-color:#32c6c8}
.benefit i{color:#9ed56b}
.references-section{background:radial-gradient(circle at 8% 20%,#32c6c81f,transparent 28%),linear-gradient(160deg,#071e3d,#0d4376)}
.reference-card,.reference-card.featured{border-color:#2b6498;background:linear-gradient(145deg,#134a80,#0b3763);box-shadow:0 24px 55px #020c1947}
.reference-card:hover,.reference-card.featured:hover{border-color:#32c6c8}
.stars{color:#b0e37b}
.add-testimonial,.carousel-controls button{border-color:#32c6c86b;color:#75e3e5;background:#32c6c80d}
.add-testimonial:hover,.carousel-controls button:hover{border-color:#9ed56b;background:#9ed56b;color:#071e3d}
.faq-list,.faq-item{border-color:#2b6498}
.faq-q{color:#f2f7fa}
.faq-q i{background:#32c6c81c;color:#54d7da}
.quote-section{background:radial-gradient(circle at 85% 10%,#9ed56b33,transparent 30%),linear-gradient(135deg,#0a315b,#2878d0)}
.quote-shell{border-color:#32c6c82e;background:#0d3b6b;box-shadow:0 35px 90px #020b1675}
.quote-copy{background:linear-gradient(150deg,#0d4a7f,#071e3d)}
.quote-form{background:#0d3b6b}
.field label{color:#e2edf6}
.field input,.field select,.field textarea{border-color:#2b6498;background:#082b50;color:#f2f7fa}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#32c6c8;box-shadow:0 0 0 4px #32c6c81c}
.testimonial-dialog{border-color:#32c6c85c;background:linear-gradient(145deg,#0d4a7f,#071e3d)}
.photo-upload{border-color:#32c6c85c;background:#082b50}
.site-footer{background:#041326;border-top-color:#32c6c81f}
.main-nav>a:before{background:linear-gradient(90deg,#75ba4e 0%,#9ed56b 62%,#b7e985 100%)}
.main-nav>a:hover,.main-nav>a.active,.main-nav>a:hover>i,.main-nav>a.active>i{color:#071e3d}
.main-nav .social-link:hover{background:#32c6c8;color:#071e3d}

/* Paleta textil cálida: ciruela, coral y ámbar */
:root{--navy:#25142f;--deep:#170d21;--blue:#d84f78;--sage:#ff745f;--sage-d:#d85748;--ink:#2b182f;--muted:#d8c3d6;--line:#70456f;--soft:#21132d;--shadow:0 22px 60px rgba(15,6,23,.42);--radius:22px;--max:1180px}
body{background:#1a0f25}
.site-header,.site-header.scrolled{background:linear-gradient(180deg,#3a1d45 0%,#281432 58%,#170d21 100%);border-right-color:#f2b84b2b;box-shadow:18px 0 55px #0c061245}
.site-header:before{background:linear-gradient(150deg,#f2b84b12 0 1px,transparent 1px 22px);background-size:22px 22px}
.brand-block:after{background:#f2b84b;box-shadow:0 0 16px #f2b84b66}
.brand-block>span{color:#c9abc8}
.hero{background:radial-gradient(circle at 82% 16%,#f2b84b36,transparent 25%),radial-gradient(circle at 16% 78%,#d84f782e,transparent 30%),linear-gradient(128deg,#4a2355 0%,#7b2f5d 52%,#b8455e 100%)}
.hero:after{background:#3a1d45}
.hero h1 span,.kicker,.hero-points i{color:#f7c85f}
.hero-visual .photo-main{border-color:#f2b84b;box-shadow:0 35px 85px #10071978,0 0 34px #ff745f24}
.primary,.header-cta,.submit,.testimonial-submit{background:#ff745f;color:#25142f}
.primary:hover,.header-cta:hover,.submit:hover,.testimonial-submit:hover{background:#ff927e}
.outline{border-color:#f2b84b99;background:#4b204d73}
.outline:hover{background:#f2b84b24}
.section{background:#3a1d45}
.section.soft,.soft{background:#21132d}
.title{color:#fff4e8}
.intro,.service p,.checks li,.step p,.faq-a p{color:#d8c3d6}
.tag{color:#f2b84b}
.service{border-color:#70456f;background:linear-gradient(145deg,#542853,#351a42);box-shadow:0 20px 48px #10071945}
.service:hover{border-color:#ff745f;box-shadow:0 28px 65px #10071966,0 0 24px #ff745f21}
.service-icon{border-color:#542853;background:#f2b84b;color:#2b182f}
.service h3,.step h3,.checks strong{color:#fff4e8}
.service a,.text-link{color:#ff987f}
.clients-section{background:linear-gradient(155deg,#170d21,#351940)}
.logo-slot{border-color:#70456f;background:linear-gradient(145deg,#542853,#30183b)}
.logo-slot:hover{border-color:#f2b84b;box-shadow:0 18px 38px #10071957,0 0 20px #f2b84b24}
.logo-slot:before{background:radial-gradient(circle at 50% 0,#f2b84b1b,transparent 58%)}
.media-note{background:#5a284f;border-color:#f2b84b66}
.media-note i{color:#f2b84b}
.checks i{background:#ff745f20;color:#ff9b88}
.portfolio{border-color:#f2b84b24;background:#170d21;box-shadow:0 30px 75px #10071966}
.filter-button{border-color:#70456f;background:#371a42;color:#dbc7d9}
.filter-button:hover{border-color:#ff745f}
.filter-button.active{border-color:#f2b84b;background:linear-gradient(135deg,#f2b84b,#e19b36);color:#2b182f}
.process{border-color:#70456f;background:linear-gradient(145deg,#542853,#2c1738);box-shadow:0 25px 60px #10071952}
.step-num{border-color:#f2b84b;background:#f2b84b;color:#2b182f}
.step:not(:last-child):after{background:#80527c}
.benefits{background:radial-gradient(circle at 76% 18%,#ff745f2b,transparent 34%),linear-gradient(145deg,#170d21,#32153a)}
.benefit{border-color:#9b4e7045;background:linear-gradient(145deg,#6a2c514d,#3a1d453d)}
.benefit:hover{border-color:#f2b84b}
.benefit i{color:#f2b84b}
.references-section{background:radial-gradient(circle at 8% 20%,#f2b84b1c,transparent 28%),linear-gradient(160deg,#21132d,#55224d)}
.reference-card,.reference-card.featured{border-color:#70456f;background:linear-gradient(145deg,#542853,#32183e);box-shadow:0 24px 55px #1007195c}
.reference-card:hover,.reference-card.featured:hover{border-color:#ff745f}
.stars{color:#f2b84b}
.client-avatar{background:#ff745f20;color:#ff917f}
.add-testimonial,.carousel-controls button{border-color:#f2b84b70;color:#f6c95f;background:#f2b84b0d}
.add-testimonial:hover,.carousel-controls button:hover{border-color:#ff745f;background:#ff745f;color:#2b182f}
.faq-list,.faq-item{border-color:#70456f}
.faq-q{color:#fff4e8}
.faq-q i{background:#f2b84b18;color:#f2b84b}
.quote-section{background:radial-gradient(circle at 85% 10%,#f2b84b33,transparent 30%),linear-gradient(135deg,#351940,#b3455c)}
.quote-shell{border-color:#f2b84b2e;background:#47204a;box-shadow:0 35px 90px #10071980}
.quote-copy{background:linear-gradient(150deg,#67294f,#21132d)}
.quote-form{background:#47204a}
.quote-feature i{background:#f2b84b1c;color:#f2b84b}
.field label{color:#f7e8ef}
.field input,.field select,.field textarea{border-color:#70456f;background:#2c1738;color:#fff4e8}
.field input::placeholder,.field textarea::placeholder{color:#a98da8}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#ff745f;box-shadow:0 0 0 4px #ff745f20}
.testimonial-dialog{border-color:#f2b84b5c;background:linear-gradient(145deg,#5b274f,#21132d)}
.photo-upload{border-color:#f2b84b52;background:#2c1738}
.photo-preview{background:#f2b84b18;color:#f2b84b}
.site-footer{background:#100818;border-top-color:#f2b84b1f}
.main-nav>a:before{background:linear-gradient(90deg,#d85748 0%,#ff745f 58%,#ff9a7e 100%)}
.main-nav>a:hover,.main-nav>a.active,.main-nav>a:hover>i,.main-nav>a.active>i{color:#2b182f}
.main-nav .social-link:hover{background:#f2b84b;color:#2b182f}
.floating{border-color:#3a1d45}

/* Tema principal: morado eléctrico y amarillo vivo */
:root{--navy:#36006b;--deep:#1c003d;--blue:#a100ff;--sage:#fff000;--sage-d:#d4bd00;--ink:#30005c;--muted:#e5d8f2;--line:#7a35bd;--soft:#25004f;--shadow:0 22px 60px rgba(20,0,48,.5);--radius:22px;--max:1180px}
body{background:#25004f}
.site-header,.site-header.scrolled{background:linear-gradient(180deg,#5a00aa 0%,#3a0078 58%,#24004d 100%);border-right-color:#fff00038;box-shadow:18px 0 58px #17003270}
.site-header:before{background:linear-gradient(150deg,#fff0001c 0 1px,transparent 1px 22px);background-size:22px 22px;opacity:.52}
.brand-block:after{background:#fff000;box-shadow:0 0 20px #fff000a3}
.brand-block>span{color:#e5d8f2}
.hero{background:radial-gradient(circle at 82% 16%,#fff00057,transparent 25%),radial-gradient(circle at 15% 80%,#d500ff57,transparent 30%),linear-gradient(128deg,#5500b5 0%,#7c00e8 48%,#a100ff 100%)}
.hero:before{background-image:radial-gradient(#fff00052 1.2px,transparent 1.3px)}
.hero:after{background:#4b0092}
.hero h1 span,.kicker,.hero-points i{color:#fff200;text-shadow:0 0 22px #fff00038}
.hero-lead,.hero-points{color:#f4eaff}
.hero-visual .photo-main{border-color:#fff000;box-shadow:0 35px 90px #1a003e8c,0 0 38px #fff00036}
.primary,.header-cta,.submit,.testimonial-submit{background:linear-gradient(135deg,#ffdf00,#fff700);color:#350066;box-shadow:0 14px 34px #1a003e75,0 0 24px #fff00033}
.primary:hover,.header-cta:hover,.submit:hover,.testimonial-submit:hover{background:#fff86b;box-shadow:0 18px 40px #1a003e85,0 0 34px #fff00052}
.outline{border-color:#fff000b3;background:#4a00936b;color:#fff}
.outline:hover{background:#fff0002e;border-color:#fff000}
.section{background:#4b0092}
.section.soft,.soft{background:#25004f}
.title{color:#fffef0}
.intro,.service p,.checks li,.step p,.faq-a p{color:#e5d8f2}
.tag{color:#fff000;text-shadow:0 0 14px #fff0002e}
.service{border-color:#823cc8;background:linear-gradient(145deg,#6814b3,#3a0075);box-shadow:0 22px 52px #19003d63}
.service:hover{border-color:#fff000;box-shadow:0 30px 70px #19003d80,0 0 30px #fff0002b}
.service-icon{border-color:#6814b3;background:#fff000;color:#350066;box-shadow:0 10px 25px #18003875,0 0 18px #fff00038}
.service h3,.step h3,.checks strong{color:#fffef0}
.service a,.text-link{color:#ffef55}
.clients-section{background:radial-gradient(circle at 88% 15%,#fff00024,transparent 28%),linear-gradient(155deg,#24004d,#5900a6)}
.logo-slot{border-color:#823cc8;background:linear-gradient(145deg,#6814b3,#3d0079)}
.logo-slot:hover{border-color:#fff000;box-shadow:0 20px 42px #19003d80,0 0 26px #fff00038}
.logo-slot:before{background:radial-gradient(circle at 50% 0,#fff0002b,transparent 58%)}
.logo-slot span{color:#fffef0}
.logo-slot small{color:#d7c1ec}
.media-note{background:#6800b8;border-color:#fff00080;box-shadow:0 22px 45px #19003d70}
.media-note i{color:#fff000}
.checks i{background:#fff00024;color:#fff000}
.portfolio{border-color:#fff00036;background:#1c003d;box-shadow:0 32px 80px #13002e8c}
.work{border-color:#a05ce0}
.filter-button{border-color:#823cc8;background:#3c0077;color:#eadfff}
.filter-button:hover{border-color:#fff000;color:#fff}
.filter-button.active{border-color:#fff000;background:linear-gradient(135deg,#ffdf00,#fff700);color:#350066;box-shadow:0 10px 27px #18003875,0 0 18px #fff00038}
.process{border-color:#823cc8;background:linear-gradient(145deg,#6814b3,#34006c);box-shadow:0 28px 68px #19003d73}
.step-num{border-color:#fff000;background:#fff000;color:#350066;box-shadow:0 10px 26px #1700357a,0 0 18px #fff00038}
.step:not(:last-child):after{background:#a75be0}
.benefits{background:radial-gradient(circle at 76% 18%,#fff0002e,transparent 34%),linear-gradient(145deg,#1c003d,#50009b)}
.benefit{border-color:#a850e054;background:linear-gradient(145deg,#8619d94d,#4b00923d)}
.benefit:hover{border-color:#fff000}
.benefit i{color:#fff000}
.references-section{background:radial-gradient(circle at 8% 20%,#fff00029,transparent 28%),linear-gradient(160deg,#25004f,#7000c5)}
.reference-card,.reference-card.featured{border-color:#823cc8;background:linear-gradient(145deg,#6814b3,#3b0075);box-shadow:0 26px 62px #19003d75}
.reference-card:hover,.reference-card.featured:hover{border-color:#fff000;box-shadow:0 30px 70px #19003d85,0 0 24px #fff0002b}
.stars{color:#fff000}
.client-avatar{background:#fff00022;color:#fff000}
.add-testimonial,.carousel-controls button{border-color:#fff0009c;color:#fff000;background:#fff00012}
.add-testimonial:hover,.carousel-controls button:hover{border-color:#fff000;background:#fff000;color:#350066;box-shadow:0 0 24px #fff00045}
.faq-list,.faq-item{border-color:#823cc8}
.faq-q{color:#fffef0}
.faq-q i{background:#fff00021;color:#fff000}
.quote-section{background:radial-gradient(circle at 85% 10%,#fff00052,transparent 30%),linear-gradient(135deg,#4a0090,#a100ff)}
.quote-shell{border-color:#fff00040;background:#5600a0;box-shadow:0 38px 95px #19003d94}
.quote-copy{background:linear-gradient(150deg,#7200c2,#280052)}
.quote-form{background:#5600a0}
.quote-feature i{background:#fff00024;color:#fff000}
.field label{color:#f6efff}
.field input,.field select,.field textarea{border-color:#8b42ca;background:#35006b;color:#fffef0}
.field input::placeholder,.field textarea::placeholder{color:#bd9dd7}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#fff000;box-shadow:0 0 0 4px #fff00024}
.testimonial-dialog{border-color:#fff00080;background:linear-gradient(145deg,#7000bd,#2a0057);box-shadow:0 38px 95px #13002eb3}
.photo-upload{border-color:#fff00070;background:#35006b}
.photo-preview{background:#fff00021;color:#fff000}
.site-footer{background:#16002f;border-top-color:#fff0002e}
.main-nav>a:before{background:linear-gradient(90deg,#ffcf00 0%,#fff000 55%,#fff86b 100%)}
.main-nav>a:hover,.main-nav>a.active,.main-nav>a:hover>i,.main-nav>a.active>i{color:#350066}
.main-nav .social-link{border-color:#fff00042;color:#ffef65;background:#fff0000d}
.main-nav .social-link:hover{background:#fff000;color:#350066;box-shadow:0 0 22px #fff00052}
.floating{border-color:#4b0092;box-shadow:0 16px 38px #19003d7a}

/* Tema profesional para bordado e impresión */
:root{--navy:#2b1745;--deep:#17151d;--blue:#76558e;--sage:#d8a92e;--sage-d:#b58924;--ink:#24172c;--muted:#cfc3d5;--line:#5b4269;--soft:#21172b;--shadow:0 22px 60px rgba(16,10,21,.38);--radius:22px;--max:1180px}
body{background:#21172b}
.site-header,.site-header.scrolled{background:linear-gradient(180deg,#35204d 0%,#291a39 58%,#17151d 100%);border-right-color:#d8a92e2b;box-shadow:18px 0 52px #100a153d}
.site-header:before{background:linear-gradient(150deg,#d8a92e12 0 1px,transparent 1px 22px);background-size:22px 22px;opacity:.4}
.brand-block:after{background:#d8a92e;box-shadow:0 0 14px #d8a92e52}
.brand-block>span{color:#bbaec2}
.hero{background:radial-gradient(circle at 82% 16%,#d8a92e2e,transparent 26%),radial-gradient(circle at 15% 80%,#76558e38,transparent 31%),linear-gradient(128deg,#2b1745 0%,#51306f 52%,#3b244f 100%)}
.hero:before{background-image:radial-gradient(#ffffff22 1px,transparent 1.1px)}
.hero:after{background:#39264b}
.hero h1 span,.kicker,.hero-points i{color:#f2c94c;text-shadow:none}
.hero-lead,.hero-points{color:#e3d9e8}
.hero-visual .photo-main{border-color:#d8a92e;box-shadow:0 35px 82px #100a155e,0 0 22px #d8a92e1f}
.primary,.header-cta,.submit,.testimonial-submit{background:linear-gradient(135deg,#d8a92e,#f2c94c);color:#2b1745;box-shadow:0 14px 32px #100a1547}
.primary:hover,.header-cta:hover,.submit:hover,.testimonial-submit:hover{background:#f2cf62;box-shadow:0 18px 38px #100a155c}
.outline{border-color:#d8a92e7d;background:#2b17456b;color:#fff}
.outline:hover{background:#d8a92e20;border-color:#d8a92e}
.section{background:#39264b}
.section.soft,.soft{background:#21172b}
.title{color:#eee7f2}
.intro,.service p,.checks li,.step p,.faq-a p{color:#cfc3d5}
.tag{color:#e2b53c;text-shadow:none}
.service{border-color:#5b4269;background:linear-gradient(145deg,#49305c,#30213f);box-shadow:0 20px 48px #100a153b}
.service:hover{border-color:#d8a92e;box-shadow:0 28px 62px #100a1557,0 0 18px #d8a92e1c}
.service-icon{border-color:#49305c;background:#d8a92e;color:#2b1745;box-shadow:0 10px 24px #100a1552}
.service h3,.step h3,.checks strong{color:#eee7f2}
.service a,.text-link{color:#e4bd54}
.clients-section{background:linear-gradient(155deg,#1c1424,#352046)}
.logo-slot{border-color:#5b4269;background:linear-gradient(145deg,#49305c,#2c1d39)}
.logo-slot:hover{border-color:#d8a92e;box-shadow:0 18px 38px #100a1552,0 0 16px #d8a92e1f}
.logo-slot:before{background:radial-gradient(circle at 50% 0,#d8a92e18,transparent 58%)}
.logo-slot span{color:#eee7f2}
.logo-slot small{color:#a997b2}
.media-note{background:#4b315d;border-color:#d8a92e52;box-shadow:0 20px 40px #100a1552}
.media-note i{color:#d8a92e}
.checks i{background:#d8a92e1d;color:#e4bd54}
.portfolio{border-color:#d8a92e24;background:#19131f;box-shadow:0 30px 72px #100a155c}
.work{border-color:#6a5077}
.filter-button{border-color:#5b4269;background:#30213f;color:#d6cadb}
.filter-button:hover{border-color:#d8a92e;color:#fff}
.filter-button.active{border-color:#d8a92e;background:linear-gradient(135deg,#d8a92e,#f2c94c);color:#2b1745;box-shadow:0 10px 24px #100a1547}
.process{border-color:#5b4269;background:linear-gradient(145deg,#49305c,#2c1e39);box-shadow:0 25px 58px #100a1547}
.step-num{border-color:#d8a92e;background:#d8a92e;color:#2b1745;box-shadow:0 10px 24px #100a1552}
.step:not(:last-child):after{background:#765d82}
.benefits{background:radial-gradient(circle at 76% 18%,#d8a92e1c,transparent 34%),linear-gradient(145deg,#17151d,#30203e)}
.benefit{border-color:#76558e42;background:linear-gradient(145deg,#51306f38,#39264b35)}
.benefit:hover{border-color:#d8a92e}
.benefit i{color:#d8a92e}
.references-section{background:radial-gradient(circle at 8% 20%,#d8a92e18,transparent 28%),linear-gradient(160deg,#21172b,#49305c)}
.reference-card,.reference-card.featured{border-color:#5b4269;background:linear-gradient(145deg,#49305c,#30213f);box-shadow:0 24px 54px #100a1552}
.reference-card:hover,.reference-card.featured:hover{border-color:#d8a92e;box-shadow:0 28px 62px #100a1561}
.stars{color:#e6b93f}
.client-avatar{background:#d8a92e1d;color:#e4bd54}
.add-testimonial,.carousel-controls button{border-color:#d8a92e70;color:#e5bc4c;background:#d8a92e0d}
.add-testimonial:hover,.carousel-controls button:hover{border-color:#d8a92e;background:#d8a92e;color:#2b1745;box-shadow:none}
.faq-list,.faq-item{border-color:#5b4269}
.faq-q{color:#eee7f2}
.faq-q i{background:#d8a92e18;color:#d8a92e}
.quote-section{background:radial-gradient(circle at 85% 10%,#d8a92e29,transparent 30%),linear-gradient(135deg,#30203e,#62427a)}
.quote-shell{border-color:#d8a92e2e;background:#49305c;box-shadow:0 35px 85px #100a1566}
.quote-copy{background:linear-gradient(150deg,#51306f,#21172b)}
.quote-form{background:#49305c}
.quote-feature i{background:#d8a92e1c;color:#d8a92e}
.field label{color:#eee7f2}
.field input,.field select,.field textarea{border-color:#6a5077;background:#2c1e39;color:#eee7f2}
.field input::placeholder,.field textarea::placeholder{color:#a997b2}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#d8a92e;box-shadow:0 0 0 4px #d8a92e1a}
.testimonial-dialog{border-color:#d8a92e52;background:linear-gradient(145deg,#51306f,#21172b);box-shadow:0 35px 88px #100a157a}
.photo-upload{border-color:#d8a92e4d;background:#2c1e39}
.photo-preview{background:#d8a92e18;color:#d8a92e}
.site-footer{background:#141019;border-top-color:#d8a92e1c}
.main-nav>a:before{background:linear-gradient(90deg,#bf9222 0%,#d8a92e 58%,#f2c94c 100%)}
.main-nav>a:hover,.main-nav>a.active,.main-nav>a:hover>i,.main-nav>a.active>i{color:#2b1745}
.main-nav .social-link{border-color:#d8a92e38;color:#e4bd54;background:#d8a92e0a}
.main-nav .social-link:hover{background:#d8a92e;color:#2b1745;box-shadow:none}
.floating{border-color:#39264b;box-shadow:0 15px 35px #100a155c}

/* Fondos orgánicos: luz ambiental y grano muy sutil */
#servicios,#clientes,#soluciones,#portafolio,#proceso,.benefits,.references-section,#preguntas,.quote-section{position:relative;isolation:isolate;overflow:hidden}
#servicios>.container,#clientes>.container,#soluciones>.container,#portafolio>.container,#proceso>.container,.benefits>.container,.references-section>.container,#preguntas>.container,.quote-section>.container{position:relative;z-index:2}
#servicios:before,#clientes:before,#soluciones:before,#portafolio:before,#proceso:before,.benefits:before,.references-section:before,#preguntas:before,.quote-section:before{content:"";position:absolute;z-index:0;inset:-18%;pointer-events:none;filter:blur(24px);transform:scale(1.04)}
#servicios:after,#clientes:after,#soluciones:after,#portafolio:after,#proceso:after,.benefits:after,.references-section:after,#preguntas:after,.quote-section:after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background-image:radial-gradient(#ffffff 0.5px,transparent .75px);background-size:5px 5px;opacity:.035;mix-blend-mode:soft-light}

#servicios:before{background:radial-gradient(ellipse at 86% 20%,#d8a92e6b 0%,#d8a92e20 27%,transparent 55%),radial-gradient(ellipse at 8% 88%,#76558e8c 0%,#76558e25 30%,transparent 57%),radial-gradient(ellipse at 52% 45%,#51306f7a,transparent 58%)}
#clientes:before{background:radial-gradient(ellipse at 5% 30%,#d8a92e57 0%,#d8a92e16 30%,transparent 54%),radial-gradient(ellipse at 92% 78%,#76558e98 0%,#76558e2b 31%,transparent 59%),radial-gradient(ellipse at 48% 48%,#3f27536b,transparent 62%)}
#soluciones:before{background:radial-gradient(ellipse at 82% 28%,#76558e9c 0%,#76558e2e 31%,transparent 58%),radial-gradient(ellipse at 12% 84%,#d8a92e55 0%,#d8a92e18 28%,transparent 55%),radial-gradient(ellipse at 50% 54%,#51306f70,transparent 62%)}
#portafolio:before{background:radial-gradient(ellipse at 12% 20%,#d8a92e66 0%,#d8a92e1d 29%,transparent 55%),radial-gradient(ellipse at 91% 83%,#76558e91 0%,#76558e28 31%,transparent 58%),radial-gradient(ellipse at 52% 50%,#4b2c6275,transparent 64%)}
#proceso:before{background:radial-gradient(ellipse at 88% 70%,#d8a92e5c 0%,#d8a92e17 28%,transparent 54%),radial-gradient(ellipse at 8% 18%,#76558e92 0%,#76558e27 32%,transparent 58%),radial-gradient(ellipse at 48% 52%,#39234d6b,transparent 62%)}
.benefits:before{background:radial-gradient(ellipse at 80% 15%,#d8a92e62 0%,#d8a92e1c 29%,transparent 55%),radial-gradient(ellipse at 5% 90%,#76558e7d 0%,#76558e22 31%,transparent 58%),radial-gradient(ellipse at 48% 48%,#30203e70,transparent 64%)}
.references-section:before{background:radial-gradient(ellipse at 8% 18%,#d8a92e5e 0%,#d8a92e1b 28%,transparent 54%),radial-gradient(ellipse at 92% 82%,#76558e91 0%,#76558e29 31%,transparent 58%),radial-gradient(ellipse at 50% 48%,#51306f69,transparent 62%)}
#preguntas:before{background:radial-gradient(ellipse at 85% 22%,#76558e95 0%,#76558e28 31%,transparent 57%),radial-gradient(ellipse at 10% 86%,#d8a92e55 0%,#d8a92e17 28%,transparent 54%),radial-gradient(ellipse at 48% 50%,#49305c70,transparent 63%)}
.quote-section:before{background:radial-gradient(ellipse at 78% 8%,#f2c94c72 0%,#d8a92e22 28%,transparent 54%),radial-gradient(ellipse at 5% 92%,#76558e9e 0%,#76558e2d 32%,transparent 59%),radial-gradient(ellipse at 52% 52%,#62427a75,transparent 64%)}

@media(max-width:820px){
  #servicios:before,#clientes:before,#soluciones:before,#portafolio:before,#proceso:before,.benefits:before,.references-section:before,#preguntas:before,.quote-section:before{inset:-10%;filter:blur(20px);opacity:.8;transform:none}
  #servicios:after,#clientes:after,#soluciones:after,#portafolio:after,#proceso:after,.benefits:after,.references-section:after,#preguntas:after,.quote-section:after{opacity:.025}
}

/* Ajustes de portada y logotipo */
.hero:after{display:none}
.brand-block:after{display:none}
.brand{width:198px}
.brand img{height:76px}
@media(max-width:1020px){.brand{width:165px}.brand img{height:60px}}
@media(max-width:760px){.brand{width:150px}.brand img{height:54px}}

/* Adaptación responsive final */
@media(max-width:1020px){
  html{scroll-padding-top:84px}
  body{padding-left:0}
  .site-header,.site-header.scrolled{inset:0 0 auto;width:100%;height:auto}
  .nav-shell{width:min(var(--max),calc(100% - 32px));min-height:82px;padding:0;overflow:visible}
  .brand-block{min-width:0;padding:0;margin:0}
  .menu-toggle{width:48px;height:48px;display:grid;place-items:center;flex:none;margin-left:auto;font-size:1.05rem;touch-action:manipulation}
  .main-nav.open{inset:82px 12px auto;max-height:calc(100dvh - 94px);display:flex;flex-direction:column;gap:4px;padding:16px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #d8a92e38;border-radius:16px;background:#21172bf7;box-shadow:0 24px 65px #100a15a6;backdrop-filter:blur(18px)}
  .main-nav.open>a{width:100%;min-height:50px;padding:8px 12px;border-radius:10px}
  .main-nav.open .sidebar-social{width:100%;margin-top:8px;padding:14px 10px 2px}
  .hero{min-height:auto}
  .hero-grid{grid-template-columns:1fr;gap:34px;padding:124px 0 76px}
  .hero-copy{max-width:760px}
  .hero h1{font-size:clamp(3.4rem,9vw,5.3rem)}
  .hero-visual{width:100%;max-width:720px;min-height:500px;margin:auto}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .solution-grid{gap:44px}
  .portfolio{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:320px;grid-auto-rows:250px}
  .work:first-child{grid-column:1/-1;grid-row:auto}
  .process{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 16px}
  .step,.step:first-child,.step:last-child{padding:0 18px}
  .step:after{display:none}
  .quote-shell{grid-template-columns:1fr}
}

@media(max-width:820px){
  .section,.quote-section{padding:76px 0}
  .title{font-size:clamp(2.15rem,7.5vw,3.15rem)}
  .intro{font-size:1rem}
  .clients-heading,.portfolio-head,.references-head{align-items:flex-start;flex-direction:column}
  .solution-grid,.faq-layout{grid-template-columns:1fr;gap:38px}
  .solution-media{width:100%;max-width:620px;margin:auto}
  .faq-side{position:static}
  .benefit-grid{grid-template-columns:1fr}
  .benefit-lead{padding-right:0}
  .references-actions{width:100%}
  .quote-copy,.quote-form{padding:38px 30px}
  .testimonial-fields{grid-template-columns:1fr}
  .testimonial-fields .full{grid-column:auto}
}

@media(max-width:640px){
  html{scroll-padding-top:76px}
  .container{width:calc(100% - 28px)}
  .nav-shell{width:calc(100% - 28px);min-height:76px}
  .brand{width:150px}
  .brand img{height:54px}
  .main-nav.open{inset:76px 10px auto;max-height:calc(100dvh - 86px);padding:14px}
  .hero-grid{gap:28px;padding:108px 0 64px}
  .hero h1{font-size:clamp(2.85rem,13vw,4.2rem);line-height:.96}
  .hero-lead{margin-top:20px;font-size:1rem}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}
  .hero-actions .button{width:100%;padding:0 14px}
  .hero-points{display:grid;gap:9px;margin-top:24px}
  .hero-visual{min-height:0;aspect-ratio:4/3}
  .hero-visual .photo-main{inset:0;border-width:3px;border-radius:22px}
  .services-grid{grid-template-columns:1fr;gap:16px;margin-top:34px}
  .service{min-height:400px}
  .service-photo{height:170px}
  .service-icon{top:142px}
  .solution-media{padding:0 18px 38px 0}
  .solution-media>img{border-radius:20px}
  .media-note{width:min(230px,85%);padding:18px}
  .portfolio{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:270px;gap:14px;margin-top:34px;padding:10px;border-radius:20px}
  .work,.work:first-child,.work:last-child{grid-column:auto;grid-row:auto}
  .process{grid-template-columns:1fr;gap:18px;margin-top:36px;padding:20px}
  .step,.step:first-child,.step:last-child{padding:16px;border-bottom:1px solid #ffffff12}
  .step:last-child{border-bottom:0}
  .step h3{margin-top:15px}
  .logos-grid{grid-template-columns:1fr;gap:12px;margin-top:32px;padding:10px;border-radius:20px}
  .logo-slot{min-height:0}
  .references-head{gap:20px}
  .references-actions{display:grid;grid-template-columns:1fr auto;gap:12px}
  .add-testimonial{grid-column:1/-1;width:100%;justify-content:center;order:2}
  .reference-card{flex-basis:92%;padding:24px}
  .faq-q{min-height:54px;padding:18px 0}
  .faq-a p{padding-right:0}
  .quote-shell{border-radius:20px}
  .quote-copy,.quote-form{padding:30px 20px}
  .quote-form{grid-template-columns:1fr;gap:15px}
  .full,.submit,.form-note{grid-column:auto}
  .field input,.field select,.field textarea{min-height:50px;font-size:16px}
  .field textarea{min-height:130px}
  .submit{min-height:54px}
  .testimonial-modal{padding:12px}
  .testimonial-dialog{width:100%;max-height:calc(100dvh - 24px);padding:30px 18px;border-radius:20px}
  .footer-shell{flex-direction:column;text-align:center}
  .footer-links{gap:12px 16px}
  .copyright{text-align:center}
  .floating{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:54px;height:54px}
}

@media(max-width:420px){
  .container{width:calc(100% - 24px)}
  .nav-shell{width:calc(100% - 24px)}
  .brand{width:138px}
  .brand img{height:50px}
  .menu-toggle{width:46px;height:46px}
  .hero h1{font-size:clamp(2.55rem,13vw,3.45rem)}
  .hero-actions{grid-template-columns:1fr}
  .tag{font-size:.72rem;letter-spacing:.11em}
  .title{font-size:clamp(2rem,10vw,2.65rem)}
  .service{min-height:390px}
  .portfolio{grid-auto-rows:245px}
  .reference-card{flex-basis:96%}
  .references-actions{grid-template-columns:1fr}
  .carousel-controls{justify-content:flex-start}
  .add-testimonial{grid-column:auto}
  .quote-copy h2{font-size:2.2rem}
}

@media(hover:none){
  .service:hover,.logo-slot:hover,.reference-card:hover,.button:hover,.floating:hover{transform:none}
}

@supports(padding:max(0px)){
  @media(max-width:1020px){.nav-shell{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}
}

/* Mascota de Grupo Textil Madero */
.hero-mascot{position:absolute;right:-3%;bottom:-2%;z-index:5;width:min(48%,310px);height:auto;pointer-events:none;filter:drop-shadow(0 24px 24px #100a1575)}
.mascot-greeting{position:absolute;top:22px;right:0;z-index:6;width:210px;padding:15px 18px;border:1px solid #d8a92e75;border-radius:18px 18px 4px 18px;background:#21172bea;color:#fff;box-shadow:0 18px 38px #100a156b;backdrop-filter:blur(12px)}
.mascot-greeting:after{content:"";position:absolute;right:22px;bottom:-10px;width:20px;height:20px;border-right:1px solid #d8a92e75;border-bottom:1px solid #d8a92e75;background:#21172bea;transform:rotate(45deg)}
.mascot-greeting strong,.mascot-greeting span{position:relative;z-index:1;display:block}
.mascot-greeting strong{color:#f2c94c;font:600 1.2rem "Oswald",sans-serif}
.mascot-greeting span{margin-top:2px;color:#eee7f2;font-size:.82rem;line-height:1.35}
.quote-mascot{position:relative;display:flex;align-items:center;gap:16px;margin-top:30px;padding:16px 18px 16px 12px;border:1px solid #d8a92e38;border-radius:18px;background:#ffffff0b;box-shadow:inset 0 1px 0 #ffffff0d}
.quote-mascot img{width:112px;height:132px;flex:none;object-fit:contain;filter:drop-shadow(0 14px 14px #100a156b)}
.quote-mascot strong,.quote-mascot span{display:block}
.quote-mascot strong{color:#f2c94c;font:600 1.08rem "Oswald",sans-serif}
.quote-mascot span{margin-top:5px;color:#ded3e4;font-size:.8rem;line-height:1.45}

@media(max-width:1020px){
  .hero-mascot{right:1%;width:min(43%,300px)}
  .mascot-greeting{right:4%;width:205px}
  .quote-mascot{max-width:520px}
}

@media(max-width:640px){
  .hero-mascot{right:-2%;bottom:-1%;width:45%}
  .mascot-greeting{top:12px;right:auto;left:12px;width:175px;padding:12px 14px}
  .mascot-greeting:after{right:18px}
  .mascot-greeting strong{font-size:1.05rem}
  .mascot-greeting span{font-size:.74rem}
  .quote-mascot{gap:12px;margin-top:24px;padding:13px 14px 13px 8px}
  .quote-mascot img{width:88px;height:106px}
}

@media(max-width:380px){
  .hero-mascot{width:47%}
  .mascot-greeting{width:155px}
  .quote-mascot{align-items:flex-start}
  .quote-mascot img{width:74px;height:92px}
  .quote-mascot span{font-size:.75rem}
}

/* Mascota protagonista en portada */
.mascot-stage{display:grid;place-items:center;isolation:isolate}
.mascot-stage .hero-mascot{right:50%;bottom:-5%;z-index:3;width:auto;height:108%;max-width:92%;transform:translateX(50%);object-fit:contain;filter:drop-shadow(0 28px 24px #100a158c)}

@media(max-width:1020px){
  .mascot-stage .hero-mascot{right:50%;bottom:-4%;width:auto;height:104%;max-width:88%;transform:translateX(50%)}
}

@media(max-width:640px){
  .mascot-stage .hero-mascot{right:50%;bottom:-6%;width:auto;height:112%;max-width:88%;transform:translateX(50%)}
}

/* Paleta oficial inspirada en la mascota */
:root{--navy:#063b48;--deep:#041f29;--blue:#1d63e9;--sage:#a7d84d;--sage-d:#42b96b;--ink:#eaf8f5;--muted:#b9d7d5;--line:#16879f;--soft:#052d38;--shadow:0 22px 60px rgba(1,21,28,.42);--mascot-petrol:#066878;--mascot-cyan:#12a3b8;--mascot-blue:#1457e6;--mascot-blue-deep:#073fc2;--mascot-jade:#2eae62;--mascot-mint:#73ce87;--mascot-lime:#b7df55;--mascot-blush:#f2a3aa}
body{background:#052d38;color:#eaf8f5}
.site-header,.site-header.scrolled{background:linear-gradient(180deg,#075067 0%,#063845 58%,#041f29 100%);border-right-color:#42b96b38;box-shadow:18px 0 52px #01151c61}
.site-header:before{background:linear-gradient(150deg,#a7d84d12 0 1px,transparent 1px 22px);background-size:22px 22px}
.hero{background:radial-gradient(circle at 82% 15%,#a7d84d4a,transparent 26%),radial-gradient(circle at 14% 82%,#1d63e94d,transparent 31%),linear-gradient(128deg,#064758 0%,#078aa3 48%,#1667bc 100%)}
.hero h1 span,.kicker,.hero-points i{color:#b9e85d}
.hero-lead,.hero-points{color:#e2f4f2}
.primary,.header-cta,.submit,.testimonial-submit{background:linear-gradient(135deg,#a7d84d,#42b96b);color:#042832;box-shadow:0 14px 32px #01151c61}
.primary:hover,.header-cta:hover,.submit:hover,.testimonial-submit:hover{background:linear-gradient(135deg,#c2eb73,#5fd184);box-shadow:0 18px 38px #01151c75}
.outline{border-color:#7cd8e5;background:#06475880;color:#fff}
.outline:hover{border-color:#a7d84d;background:#42b96b22}
.section{background:#084b59}
.section.soft,.soft{background:#052d38}
.title{color:#effbf8}
.intro,.service p,.checks li,.step p,.faq-a p{color:#b9d7d5}
.tag{color:#a7d84d}
.service{border-color:#147b91;background:linear-gradient(145deg,#0a6072,#063c4c);box-shadow:0 20px 48px #01151c47}
.service:hover{border-color:#a7d84d;box-shadow:0 28px 62px #01151c61,0 0 20px #42b96b2e}
.service-icon{border-color:#0a6072;background:linear-gradient(135deg,#a7d84d,#42b96b);color:#04303b;box-shadow:0 10px 24px #01151c61}
.service h3,.step h3,.checks strong{color:#effbf8}
.service a,.text-link{color:#76d68e}
.clients-section{background:linear-gradient(155deg,#042832,#075266)}
.logo-slot{border-color:#16879f;background:linear-gradient(145deg,#087087,#064554)}
.logo-slot:hover{border-color:#a7d84d;box-shadow:0 18px 38px #01151c66,0 0 18px #a7d84d2b}
.media-note{background:#075d70;border-color:#a7d84d66;box-shadow:0 20px 40px #01151c66}
.media-note i{color:#a7d84d}
.checks i{background:#42b96b24;color:#83df9b}
.portfolio{border-color:#42b96b3d;background:#031e27;box-shadow:0 30px 72px #01151c75}
.work{background:#042832}
.process{border-color:#16879f;background:linear-gradient(145deg,#087087,#063e4d);box-shadow:0 25px 58px #01151c61}
.step-num{border-color:#a7d84d;background:linear-gradient(135deg,#a7d84d,#42b96b);color:#04303b;box-shadow:0 10px 24px #01151c66}
.step:not(:last-child):after{background:#3b96a8}
.benefits{background:linear-gradient(145deg,#031e27,#064554)}
.benefit{border-color:#16879f52;background:linear-gradient(145deg,#08708738,#1d63e91f)}
.benefit:hover{border-color:#a7d84d}
.benefit i{color:#a7d84d}
.references-section{background:linear-gradient(160deg,#052d38,#087087)}
.reference-card,.reference-card.featured{border-color:#16879f;background:linear-gradient(145deg,#087087,#063e4d);box-shadow:0 24px 54px #01151c66}
.reference-card:hover,.reference-card.featured:hover{border-color:#a7d84d;box-shadow:0 28px 62px #01151c75}
.stars{color:#b9e85d}
.client-avatar{background:#42b96b25;color:#83df9b}
.add-testimonial,.carousel-controls button{border-color:#42b96b85;color:#9be5ac;background:#42b96b12}
.add-testimonial:hover,.carousel-controls button:hover{border-color:#a7d84d;background:#a7d84d;color:#04303b}
.faq-list,.faq-item{border-color:#16879f}
.faq-q{color:#effbf8}
.faq-q i{background:#42b96b24;color:#a7d84d}
.quote-section{background:radial-gradient(circle at 84% 8%,#a7d84d45,transparent 29%),linear-gradient(135deg,#064554,#145bb6)}
.quote-shell{border-color:#42b96b4a;background:#087087;box-shadow:0 35px 85px #01151c80}
.quote-copy{background:linear-gradient(150deg,#087087,#042832)}
.quote-form{background:#075266}
.quote-feature i{background:#42b96b24;color:#a7d84d}
.field label{color:#effbf8}
.field input,.field select,.field textarea{border-color:#16879f;background:#043946;color:#effbf8}
.field input::placeholder,.field textarea::placeholder{color:#8bb8b9}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#a7d84d;box-shadow:0 0 0 4px #a7d84d24}
.testimonial-dialog{border-color:#42b96b66;background:linear-gradient(145deg,#087087,#042832);box-shadow:0 35px 88px #01151c91}
.photo-upload{border-color:#42b96b5c;background:#043946}
.photo-preview{background:#42b96b24;color:#a7d84d}
.site-footer{background:#031920;border-top-color:#42b96b2e}
.main-nav>a:before{background:linear-gradient(90deg,#1d63e9 0%,#078aa3 48%,#42b96b 100%)}
.main-nav>a:hover,.main-nav>a.active,.main-nav>a:hover>i,.main-nav>a.active>i{color:#effbf8}
.main-nav .social-link{border-color:#42b96b4a;color:#9be5ac;background:#42b96b0d}
.main-nav .social-link:hover{background:#a7d84d;color:#04303b}
.floating{border-color:#063e4d;box-shadow:0 15px 35px #01151c75}
.quote-mascot{border-color:#42b96b52;background:#ffffff0b}
.quote-mascot strong{color:#b9e85d}
.quote-mascot span{color:#d7efeb}
.mascot-stage .hero-mascot{filter:drop-shadow(0 28px 24px #01151c99)}

/* Iluminación orgánica con los colores de la mascota */
#servicios:before{background:radial-gradient(ellipse at 86% 20%,#a7d84d70 0%,#a7d84d20 27%,transparent 55%),radial-gradient(ellipse at 8% 88%,#1d63e98c 0%,#1d63e925 30%,transparent 57%),radial-gradient(ellipse at 52% 45%,#078aa37a,transparent 58%)}
#clientes:before{background:radial-gradient(ellipse at 5% 30%,#42b96b68 0%,#42b96b1b 30%,transparent 54%),radial-gradient(ellipse at 92% 78%,#1d63e998 0%,#1d63e92b 31%,transparent 59%),radial-gradient(ellipse at 48% 48%,#078aa36b,transparent 62%)}
#soluciones:before{background:radial-gradient(ellipse at 82% 28%,#1d63e99c 0%,#1d63e92e 31%,transparent 58%),radial-gradient(ellipse at 12% 84%,#a7d84d66 0%,#a7d84d1b 28%,transparent 55%),radial-gradient(ellipse at 50% 54%,#078aa370,transparent 62%)}
#portafolio:before{background:radial-gradient(ellipse at 12% 20%,#a7d84d70 0%,#a7d84d20 29%,transparent 55%),radial-gradient(ellipse at 91% 83%,#1d63e991 0%,#1d63e928 31%,transparent 58%),radial-gradient(ellipse at 52% 50%,#078aa375,transparent 64%)}
#proceso:before{background:radial-gradient(ellipse at 88% 70%,#42b96b70 0%,#42b96b1d 28%,transparent 54%),radial-gradient(ellipse at 8% 18%,#1d63e992 0%,#1d63e927 32%,transparent 58%),radial-gradient(ellipse at 48% 52%,#078aa36b,transparent 62%)}
.benefits:before{background:radial-gradient(ellipse at 80% 15%,#a7d84d72 0%,#a7d84d20 29%,transparent 55%),radial-gradient(ellipse at 5% 90%,#1d63e97d 0%,#1d63e922 31%,transparent 58%),radial-gradient(ellipse at 48% 48%,#078aa370,transparent 64%)}
.references-section:before{background:radial-gradient(ellipse at 8% 18%,#42b96b70 0%,#42b96b1e 28%,transparent 54%),radial-gradient(ellipse at 92% 82%,#1d63e991 0%,#1d63e929 31%,transparent 58%),radial-gradient(ellipse at 50% 48%,#078aa369,transparent 62%)}
#preguntas:before{background:radial-gradient(ellipse at 85% 22%,#1d63e995 0%,#1d63e928 31%,transparent 57%),radial-gradient(ellipse at 10% 86%,#a7d84d65 0%,#a7d84d1a 28%,transparent 54%),radial-gradient(ellipse at 48% 50%,#078aa370,transparent 63%)}
.quote-section:before{background:radial-gradient(ellipse at 78% 8%,#a7d84d7d 0%,#a7d84d25 28%,transparent 54%),radial-gradient(ellipse at 5% 92%,#1d63e99e 0%,#1d63e92d 32%,transparent 59%),radial-gradient(ellipse at 52% 52%,#078aa375,transparent 64%)}

@media(max-width:1020px){.main-nav.open{border-color:#42b96b4d;background:#042832f7}}

/* Tonos secundarios presentes en la mascota */
.hero{background:radial-gradient(circle at 84% 14%,#b7df5552,transparent 25%),radial-gradient(circle at 66% 82%,#f2a3aa2b,transparent 19%),radial-gradient(circle at 13% 80%,#1457e65c,transparent 31%),linear-gradient(128deg,#066878 0%,#12a3b8 45%,#1457e6 100%)}
.main-nav>a:before{background:linear-gradient(90deg,#073fc2 0%,#1457e6 28%,#12a3b8 57%,#2eae62 78%,#b7df55 100%)}
.primary,.header-cta,.submit,.testimonial-submit{background:linear-gradient(135deg,#b7df55 0%,#73ce87 50%,#2eae62 100%)}
.service:nth-child(4n+1) .service-icon{background:linear-gradient(135deg,#12a3b8,#1457e6);color:#fff}
.service:nth-child(4n+2) .service-icon{background:linear-gradient(135deg,#b7df55,#73ce87);color:#04303b}
.service:nth-child(4n+3) .service-icon{background:linear-gradient(135deg,#1457e6,#073fc2);color:#fff}
.service:nth-child(4n) .service-icon{background:linear-gradient(135deg,#f2a3aa,#b7df55);color:#04303b}
#servicios .tag{color:#b7df55}
#clientes .tag{color:#73ce87}
#soluciones .tag{color:#12a3b8}
#portafolio .tag{color:#71a0ff}
#proceso .tag{color:#f2a3aa}
.benefits .tag{color:#b7df55}
.references-section .tag{color:#73ce87}
#preguntas .tag{color:#12a3b8}
.quote-section .tag{color:#b7df55}
.step:nth-child(4n+1) .step-num{background:linear-gradient(135deg,#12a3b8,#1457e6);color:#fff}
.step:nth-child(4n+2) .step-num{background:linear-gradient(135deg,#73ce87,#2eae62);color:#04303b}
.step:nth-child(4n+3) .step-num{background:linear-gradient(135deg,#1457e6,#073fc2);color:#fff}
.step:nth-child(4n) .step-num{background:linear-gradient(135deg,#f2a3aa,#b7df55);color:#04303b}
.benefit:nth-child(4n+2) i{color:#12a3b8}
.benefit:nth-child(4n+3) i{color:#73ce87}
.benefit:nth-child(4n) i{color:#f2a3aa}
.reference-card:nth-child(3n+1){border-top-color:#12a3b8}
.reference-card:nth-child(3n+2){border-top-color:#73ce87}
.reference-card:nth-child(3n){border-top-color:#f2a3aa}
.stars{color:#b7df55}
.add-testimonial{border-color:#73ce8785;color:#a2e4ae}
.carousel-controls button:first-child{border-color:#12a3b880;color:#74d9e7}
.carousel-controls button:last-child{border-color:#1457e680;color:#8eb0ff}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#12a3b8;box-shadow:0 0 0 4px #12a3b824}
.quote-mascot strong{color:#b7df55}
.quote-mascot{border-color:#73ce875c}
#clientes:before{background:radial-gradient(ellipse at 5% 30%,#73ce8770 0%,#2eae621c 30%,transparent 54%),radial-gradient(ellipse at 92% 78%,#1457e69e 0%,#073fc22e 31%,transparent 59%),radial-gradient(ellipse at 48% 48%,#12a3b875,transparent 62%)}
.references-section:before{background:radial-gradient(ellipse at 8% 18%,#73ce8778 0%,#2eae6220 28%,transparent 54%),radial-gradient(ellipse at 92% 82%,#1457e69b 0%,#073fc22c 31%,transparent 58%),radial-gradient(ellipse at 52% 42%,#f2a3aa30,transparent 36%),radial-gradient(ellipse at 50% 48%,#12a3b86b,transparent 62%)}
.quote-section:before{background:radial-gradient(ellipse at 78% 8%,#b7df5582 0%,#73ce8728 28%,transparent 54%),radial-gradient(ellipse at 5% 92%,#1457e6a3 0%,#073fc230 32%,transparent 59%),radial-gradient(ellipse at 86% 82%,#f2a3aa32,transparent 30%),radial-gradient(ellipse at 52% 52%,#12a3b87a,transparent 64%)}

/* Fotografía difusa de bordado en la portada */
.hero:before{content:"";position:absolute;inset:-10px;z-index:0;background:linear-gradient(112deg,#041f29f0 0%,#066878e6 42%,#12a3b8d6 68%,#1457e6e8 100%),url('../assets/images/fondo-bordado-industrial.jpeg') center center/cover no-repeat;background-blend-mode:multiply;filter:blur(2px) saturate(1.05) contrast(.9);transform:scale(1.02);opacity:1;-webkit-mask-image:none;mask-image:none;pointer-events:none}
.hero:after{content:"";display:block;position:absolute;inset:0;z-index:1;width:auto;height:auto;background:radial-gradient(circle at 82% 14%,#b7df55aa,transparent 33%),radial-gradient(circle at 12% 84%,#1457e6a3,transparent 38%),linear-gradient(105deg,#041f29c7 0%,#0668788f 48%,#12a3b8a3 72%,#1457e6b5 100%);clip-path:none;pointer-events:none}
.hero-grid{position:relative;z-index:2}

@media(max-width:640px){
  .hero:before{inset:-8px;background-position:42% center;filter:blur(1.5px) saturate(.9) contrast(.98);transform:scale(1.025);opacity:.96}
  .hero:after{background:radial-gradient(circle at 78% 16%,#b7df5599,transparent 32%),linear-gradient(180deg,#041f29df 0%,#066878c2 48%,#1457e6d1 100%)}
}

/* Mascota grande, recortada al ras de la portada */
@media(min-width:1021px){
  .hero-grid{min-height:100vh;padding-top:118px;padding-bottom:0;align-items:center}
  .hero-copy{align-self:center;padding-bottom:48px}
  .mascot-stage{align-self:end;height:calc(100vh - 92px);min-height:650px}
  .mascot-stage .hero-mascot{right:auto;left:50%;bottom:5%;width:auto;height:102%;max-width:90%;transform:translateX(-50%)}
}

@media(max-width:1020px){
  .hero-grid{padding-bottom:0}
  .mascot-stage{align-self:end}
  .mascot-stage .hero-mascot{right:auto;left:50%;bottom:5%;width:auto;height:100%;max-width:88%;transform:translateX(-50%)}
}

@media(max-width:640px){
  .mascot-stage .hero-mascot{right:auto;left:50%;bottom:4%;width:auto;height:104%;max-width:90%;transform:translateX(-50%)}
}
