:root{
  --navy:#07152f;--navy2:#0b2148;--blue:#1f4e8c;--gold:#d1ad5c;--gold2:#f0d88f;
  --ink:#111827;--muted:#667085;--soft:#f6f8fb;--line:#e6eaf0;--white:#fff;
  --green:#25d366;--teal:#128c7e;--max:1280px;--radius:24px;
  --shadow:0 24px 70px rgba(7,21,47,.12);--shadow2:0 14px 40px rgba(7,21,47,.09);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.65;background:#fff;-webkit-font-smoothing:antialiased}body::selection{background:var(--gold);color:var(--navy)}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 44px));margin:auto}
.header{position:fixed;inset:0 0 auto;z-index:5000;background:rgba(255,255,255,.82);backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid rgba(15,23,42,.08);transition:.3s}.header.scrolled{background:rgba(255,255,255,.96);box-shadow:0 12px 40px rgba(7,21,47,.09)}.nav{min-height:88px;display:flex;align-items:center;gap:32px}.logo{height:72px;width:auto;object-fit:contain}.menu{margin-left:auto;display:flex;align-items:center;gap:7px}.menu a{position:relative;padding:12px 11px;font-size:.78rem;font-weight:850;letter-spacing:.01em;color:#344054;transition:.2s}.menu a:not(.cta)::after{content:"";position:absolute;left:11px;right:11px;bottom:5px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:.22s}.menu a:hover,.menu a.active{color:var(--navy)}.menu a:hover::after,.menu a.active::after{transform:scaleX(1)}.menu .cta{margin-left:9px;color:#fff!important;padding:13px 19px;border-radius:13px}.menu-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px 12px;color:var(--navy);font-size:1.25rem;cursor:pointer}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 20px;border-radius:13px;border:1px solid transparent;font-size:.82rem;font-weight:900;letter-spacing:.01em;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.btn:hover{transform:translateY(-3px)}.primary{background:var(--navy);color:#fff;box-shadow:0 12px 28px rgba(7,21,47,.18)}.primary:hover{box-shadow:0 18px 35px rgba(7,21,47,.25)}.gold{background:linear-gradient(135deg,var(--gold),#b58a34);color:#fff;box-shadow:0 14px 30px rgba(177,132,44,.25)}.light{background:#fff;color:var(--navy);border-color:#d9dfe8}.ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.22)}
.gj-hero-art{position:relative;margin-top:88px;background:var(--navy);overflow:hidden;border-bottom:1px solid rgba(209,173,92,.28);display:flex;justify-content:center;align-items:center}.gj-hero-art>img{width:auto;height:auto;max-width:100%;max-height:min(760px,calc(100svh - 112px));object-fit:contain;object-position:center;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.gj-hero-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,21,47,.02) 45%,rgba(7,21,47,.24) 100%)}.gj-hero-art.is-hover>img{transform:scale(1.012)}
.gj-hero-actions{position:absolute;right:5%;bottom:5%;z-index:2;display:flex;gap:12px}.gj-hero-actions .btn{min-width:190px}.hero-trust{background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.hero-trust .container{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:0}.trust-item{padding:22px 22px;border-right:1px solid rgba(255,255,255,.1)}.trust-item:first-child{padding-left:0}.trust-item:last-child{border-right:0}.trust-item small{display:block;color:rgba(255,255,255,.52);font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.trust-item strong{display:block;margin-top:4px;font-size:.9rem;color:#fff}
.section{padding:112px 0}.soft{background:var(--soft)}.dark{background:var(--navy);color:#fff}.head{max-width:820px;margin-bottom:50px}.head.center{text-align:center;margin-left:auto;margin-right:auto}.eyebrow{font-size:.67rem;letter-spacing:.2em;text-transform:uppercase;font-weight:950;color:var(--gold);margin-bottom:13px}.head h2,.head h1{font-size:clamp(2rem,4vw,3.35rem);line-height:1.06;letter-spacing:-.045em;color:var(--navy);margin:0 0 16px}.dark .head h2{color:#fff}.head p{color:var(--muted);margin:0;max-width:760px}.dark .head p{color:rgba(255,255,255,.7)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:29px;box-shadow:0 7px 28px rgba(7,21,47,.045);transition:transform .3s,box-shadow .3s,border-color .3s}.card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:rgba(209,173,92,.38)}.card h3{color:var(--navy);margin:13px 0 8px}.card p{color:var(--muted);font-size:.9rem}.num{font-size:.68rem;letter-spacing:.16em;font-weight:950;color:var(--gold)}.service-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eaf0ff;color:var(--blue);font-weight:950}.gold-icon{background:#fff6df;color:#9b762b}.cyan-icon{background:#e4f7fb;color:#0c7591}.green-icon{background:#e8f7ef;color:#16804b}.link{font-size:.8rem;font-weight:900;color:var(--blue)}
.gj-intro .head h1{font-size:clamp(2.1rem,4.5vw,3.5rem)}.gj-value-image{position:relative;min-height:540px;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);background:#0a1838}.gj-value-image img{width:100%;height:100%;min-height:540px;object-fit:cover}.gj-image-tag{position:absolute;left:22px;right:22px;bottom:22px;padding:17px 19px;border-radius:16px;background:rgba(7,20,47,.86);color:#fff;border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(10px)}.gj-image-tag strong{display:block;color:var(--gold2)}.gj-image-tag span{font-size:.8rem;color:rgba(255,255,255,.75)}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.checks{display:grid;gap:13px;margin:27px 0}.check{display:flex;gap:12px}.check i{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#eef2ff;color:var(--blue);font-style:normal;font-weight:950;flex:none}
.gj-feature{padding:30px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));min-height:200px;transition:.3s}.gj-feature:hover{transform:translateY(-7px);border-color:rgba(209,173,92,.35);background:linear-gradient(145deg,rgba(209,173,92,.09),rgba(255,255,255,.03))}.gj-feature span{color:var(--gold);font-weight:950}.gj-feature h3{color:#fff;margin:15px 0 8px}.gj-feature p{color:rgba(255,255,255,.68);font-size:.88rem;margin:0}
.gj-sector{display:block;padding:27px 27px;border:1px solid var(--line);border-radius:20px;background:#fff;transition:.3s;min-height:155px}.gj-sector:hover{transform:translateY(-7px);box-shadow:var(--shadow2);border-color:rgba(209,173,92,.4)}.gj-sector span{display:block;color:var(--gold);font-size:.68rem;font-weight:950;margin-bottom:13px}.gj-sector strong{display:block;color:var(--navy);font-size:1.06rem;margin-bottom:6px}.gj-sector small{display:block;color:var(--muted);line-height:1.55}
.gj-evidence-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.gj-evidence{margin:0;border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 8px 28px rgba(7,21,47,.06)}.gj-evidence img{width:100%;height:260px;object-fit:cover;transition:.6s}.gj-evidence:hover img{transform:scale(1.06)}.gj-evidence figcaption{padding:15px 17px;font-weight:850;color:var(--navy);font-size:.82rem}.center-actions{display:flex;justify-content:center;margin-top:32px}
.gj-process{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:start}.gj-process .head{margin:0}.gj-process-list{display:grid;gap:0}.gj-step{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:start;padding:21px 0;border-bottom:1px solid var(--line)}.gj-step>b{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:.72rem;box-shadow:0 8px 20px rgba(7,21,47,.15)}.gj-step h3{margin:0 0 4px;color:var(--navy)}.gj-step p{margin:0;color:var(--muted);font-size:.88rem}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--shadow2)}.stat{padding:31px 24px;text-align:center;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;color:var(--navy);font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.05em}.stat span{display:block;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850;margin-top:4px}
.gj-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:60px 64px;border:1px solid rgba(255,255,255,.14);border-radius:30px;background:linear-gradient(125deg,#0c224c,#1a3b78);box-shadow:0 25px 70px rgba(7,21,47,.25);position:relative;overflow:hidden}.gj-cta::after{content:"";position:absolute;width:420px;height:420px;right:-210px;top:-210px;border:1px solid rgba(209,173,92,.24);border-radius:50%}.gj-cta>*{position:relative;z-index:1}.gj-cta h2{color:#fff;font-size:clamp(2rem,3.7vw,3.15rem);margin:0 0 10px;line-height:1.04}.gj-cta p{color:rgba(255,255,255,.72);margin:0;max-width:650px}.gj-knowledge{background:#f7f8fb}
.page-hero{height:min(68vh,680px);min-height:420px;padding:0;background:var(--navy) url('../images/grupo-jimm-hero.png') center center/contain no-repeat;color:#fff;position:relative;overflow:hidden;display:flex;align-items:flex-end}.page-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,13,38,0) 58%,rgba(5,13,38,.72) 100%);pointer-events:none}.page-hero>.container{position:relative;z-index:2;width:min(var(--max),calc(100% - 44px));padding:0 0 48px}.page-hero::after{content:"";position:absolute;width:540px;height:540px;right:-220px;top:-230px;border:1px solid rgba(209,173,92,.22);border-radius:50%}.page-hero h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.02;margin:0 0 15px;letter-spacing:-.05em;max-width:900px}.page-hero p{max-width:800px;color:rgba(255,255,255,.78)}.crumb{font-size:.7rem;color:rgba(255,255,255,.62);margin-bottom:15px;letter-spacing:.08em;text-transform:uppercase;font-weight:850}
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;transition:.3s}.project:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.project-img{height:245px;background:linear-gradient(135deg,#111a3e,#617097)}.project-img.real{background:linear-gradient(135deg,rgba(8,20,51,.15),rgba(8,20,51,.55)),url('../images/grupo-jimm-hero.png') center/cover}.project-body{padding:25px}.project-body h3{margin:0 0 8px;color:var(--navy)}.project-body p{color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px}.contact-card,.form-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:31px;box-shadow:var(--shadow2)}.contact-item{padding:17px 0;border-bottom:1px solid var(--line)}.contact-item:last-child{border:0}.contact-item small{display:block;color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.contact-item a{color:var(--navy);font-weight:900}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.77rem;font-weight:900;color:#344054}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #d8dee8;border-radius:12px;background:#fff;color:var(--ink);outline:none}.field textarea{min-height:145px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(209,173,92,.14)}.status{min-height:24px;margin-top:12px;color:var(--muted);font-size:.82rem}
.list-columns{columns:2;column-gap:50px}.list-columns li{break-inside:avoid;margin:9px 0;color:#475467}
.footer{background:#050d21;color:#aeb9ce;padding:60px 0 23px}.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.1fr;gap:36px;align-items:start}.footer-brand{display:flex;gap:18px;align-items:flex-start}.footer-logo-card{display:block;background:#fff;border-radius:14px;padding:5px;flex:0 0 104px;width:104px;height:104px}.footer-brand-logo{width:100%!important;height:100%!important;object-fit:contain}.footer-brand-copy{max-width:340px}.footer-brand-copy p{margin:0;font-size:.8rem;line-height:1.75}.footer h3{color:var(--gold2);margin:0 0 12px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.footer a{display:block;padding:4px 0}.footer a:hover{color:#fff}.footer-contact a{display:flex;gap:8px;align-items:flex-start}.footer-contact strong{color:#fff}.bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:.73rem}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.reveal:nth-child(2){transition-delay:.05s}.reveal:nth-child(3){transition-delay:.1s}.reveal:nth-child(4){transition-delay:.15s}
@media(max-width:1050px){.menu{gap:1px}.menu a{padding:11px 8px}.menu a:not(.cta)::after{left:8px;right:8px}.grid4{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(2,1fr)}.gj-evidence-grid{grid-template-columns:repeat(2,1fr)}.gj-process{grid-template-columns:1fr;gap:38px}.gj-cta{padding:48px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-contact{grid-column:2/-1}.hero-trust .container{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}}
@media(max-width:820px){.container{width:min(var(--max),calc(100% - 32px))}.nav{min-height:76px}.logo{height:62px}.menu-toggle{display:block}.menu{position:absolute;top:76px;left:16px;right:16px;margin:0;padding:12px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.25s}.menu.open{opacity:1;visibility:visible;transform:none}.menu a{padding:13px 14px;border-radius:10px}.menu a:not(.cta)::after{display:none}.menu a:hover,.menu a.active{background:#f5f7fa}.menu .cta{margin:5px 0 0;text-align:center}.gj-hero-art{margin-top:76px}.gj-hero-art>img{width:auto;height:auto;max-width:100%;max-height:none;object-fit:contain}.gj-hero-actions{position:relative;right:auto;bottom:auto;padding:13px;background:var(--navy);display:flex;justify-content:center}.gj-hero-actions .btn{flex:1;min-width:0}.split{grid-template-columns:1fr;gap:40px}.gj-value-image,.gj-value-image img{min-height:390px}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat{border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:1/-1}.gj-cta{flex-direction:column;align-items:flex-start}.page-hero{height:min(62vh,560px);min-height:300px}.page-hero>.container{padding-bottom:28px}.contact-grid{grid-template-columns:1fr}}
@media(max-width:560px){.section{padding:82px 0}.grid4,.grid3,.gj-evidence-grid{grid-template-columns:1fr}.gj-hero-actions{display:grid;grid-template-columns:1fr}.hero-trust .container{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);padding:16px 0}.trust-item:last-child{border-bottom:0}.gj-value-image,.gj-value-image img{min-height:320px}.stats{grid-template-columns:1fr}.stat{border-right:0}.stat:last-child{border-bottom:0}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-contact{grid-column:auto}.footer-logo-card{width:88px;height:88px;flex-basis:88px}.bottom{flex-direction:column}page-hero{height:min(58vh,430px);min-height:240px}.page-hero>.container{padding-bottom:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1!important;transform:none!important}}
.service-showcase{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{position:relative;min-height:390px;border-radius:24px;overflow:hidden;background:var(--navy);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow2);transition:.35s}.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.6s}.service-card:hover img{transform:scale(1.06)}.service-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,21,47,.05) 15%,rgba(7,21,47,.38) 43%,rgba(7,21,47,.96) 100%)}.service-card-content{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px;color:#fff}.service-card .num{color:var(--gold2)}.service-card h3{font-size:1.35rem;margin:8px 0 7px;color:#fff}.service-card p{font-size:.83rem;color:rgba(255,255,255,.75);margin:0 0 14px}.service-card .link{color:#fff}.service-card .service-arrow{display:inline-flex;width:35px;height:35px;border-radius:50%;align-items:center;justify-content:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}
@media(max-width:1050px){.service-showcase{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.service-showcase{grid-template-columns:1fr}.service-card{min-height:340px}}

/* =========================================================
   GRUPO JIMM — STESSO STRUCTURE MASTER
   Structural recreation inspired by the reference architecture.
   Original JIMM content/assets only.
   ========================================================= */
.gj-topbar{height:34px;background:#07152f;color:#fff;font-size:.68rem;letter-spacing:.06em}.gj-topbar .container{height:100%;display:flex;align-items:center;justify-content:space-between}.gj-top-left,.gj-top-right{display:flex;align-items:center;gap:22px}.gj-top-left span:first-child{font-weight:900;color:#d1ad5c}.gj-top-left span+span{color:rgba(255,255,255,.55)}.gj-top-right a{color:rgba(255,255,255,.72);transition:.2s}.gj-top-right a:hover{color:#fff}.gj-top-right .top-quote{color:#fff;font-weight:900}.stesso-master-home .header{top:34px}.stesso-master-home .gj-topbar + .header{top:34px}
.gj-st-hero{position:relative;min-height:690px;margin-top:122px;overflow:hidden;background:#07152f}.gj-st-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.gj-st-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,14,34,.96) 0%,rgba(5,14,34,.83) 28%,rgba(5,14,34,.35) 58%,rgba(5,14,34,.06) 100%),linear-gradient(0deg,rgba(5,14,34,.4),transparent 40%)}.gj-st-hero-content{position:relative;z-index:2;min-height:690px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:35px}.gj-st-kicker{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:#f0d88f;font-weight:900;margin-bottom:17px}.gj-st-hero h1{color:#fff;font-size:clamp(3rem,6vw,6.2rem);line-height:.94;letter-spacing:-.065em;margin:0 0 25px;max-width:850px}.gj-st-hero h1 em{font-style:normal;color:#fff}.gj-st-hero p{max-width:620px;color:rgba(255,255,255,.82);font-size:1.08rem;line-height:1.65;margin:0 0 30px}.gj-st-actions{display:flex;gap:12px}.gj-st-actions .btn{min-width:190px}.gj-st-intro{background:#fff}.gj-st-narrow{text-align:center;max-width:900px}.gj-st-narrow h2,.gj-st-section-head h2,.gj-st-process-intro h2,.gj-st-different-head h2{font-size:clamp(2.2rem,4.2vw,4rem);line-height:1.02;letter-spacing:-.055em;color:#07152f;margin:0 0 20px}.gj-st-narrow p{max-width:760px;margin:0 auto;color:#667085;font-size:1rem}.gj-st-proof{display:grid;grid-template-columns:repeat(3,1fr);margin:52px auto 0;max-width:850px;border-top:1px solid #e6eaf0;border-bottom:1px solid #e6eaf0}.gj-st-proof>div{padding:28px 20px;border-right:1px solid #e6eaf0}.gj-st-proof>div:last-child{border-right:0}.gj-st-proof strong{display:block;color:#07152f;font-size:2.6rem;line-height:1;letter-spacing:-.06em}.gj-st-proof span{display:block;margin-top:8px;color:#667085;font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.gj-st-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}.gj-st-section-head h2{font-size:clamp(2.1rem,3.8vw,3.5rem);max-width:800px;margin-bottom:0}.gj-st-section-head.center{display:block;text-align:center;max-width:850px;margin-left:auto;margin-right:auto}.gj-st-section-head.center h2{margin-left:auto;margin-right:auto}.gj-st-section-head.center p{color:#667085;max-width:700px;margin:16px auto 0}.gj-st-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gj-st-service{background:#fff;border:1px solid #e4e8ef;overflow:hidden;transition:.35s;box-shadow:0 8px 28px rgba(7,21,47,.05)}.gj-st-service:hover{transform:translateY(-8px);box-shadow:0 25px 65px rgba(7,21,47,.13);border-color:rgba(209,173,92,.45)}.gj-st-service-image{height:240px;overflow:hidden;background:#0b2148}.gj-st-service-image img{width:100%;height:100%;object-fit:cover;transition:.65s}.gj-st-service:hover .gj-st-service-image img{transform:scale(1.07)}.gj-st-service-body{padding:23px 22px 25px}.gj-st-service-body>span{font-size:.68rem;color:#d1ad5c;font-weight:950;letter-spacing:.14em}.gj-st-service-body h3{font-size:1.45rem;color:#07152f;margin:8px 0 8px}.gj-st-service-body p{font-size:.83rem;color:#667085;min-height:67px;margin:0 0 17px}.gj-st-service-body b{font-size:.75rem;color:#1f4e8c}.gj-st-service-body i{font-style:normal;margin-left:6px}.gj-st-banner{background:#07152f;color:#fff;overflow:hidden}.gj-st-banner .container{display:grid;grid-template-columns:1fr 1fr;min-height:500px}.gj-st-banner-copy{display:flex;flex-direction:column;justify-content:center;padding:80px 70px 80px 0}.gj-st-banner-copy h2{font-size:clamp(2.2rem,4vw,4.1rem);line-height:1;letter-spacing:-.055em;margin:0 0 18px;color:#fff}.gj-st-banner-copy p{color:rgba(255,255,255,.7);max-width:570px;margin:0 0 28px}.gj-st-banner-visual{position:relative;min-height:500px}.gj-st-banner-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07152f 0%,rgba(7,21,47,.2) 30%,transparent 100%);z-index:1}.gj-st-banner-visual img{width:100%;height:100%;object-fit:cover}.gj-st-sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dfe4eb;border:1px solid #dfe4eb}.sector-tile{position:relative;background:#fff;padding:31px 30px 34px;min-height:175px;transition:.3s}.sector-tile:hover{background:#07152f;color:#fff}.sector-tile strong{display:block;font-size:1.25rem;color:#07152f;margin-bottom:9px}.sector-tile span{display:block;color:#667085;font-size:.84rem;max-width:320px}.sector-tile i{position:absolute;right:25px;bottom:23px;font-style:normal;color:#d1ad5c;font-weight:900}.sector-tile:hover strong{color:#fff}.sector-tile:hover span{color:rgba(255,255,255,.65)}.gj-st-quote-box{display:grid;grid-template-columns:.72fr 1.28fr;background:#fff;border:1px solid #e2e7ee;box-shadow:0 20px 65px rgba(7,21,47,.08)}.gj-st-quote-side{padding:50px 45px;background:#07152f;color:#fff}.gj-st-quote-side>span{color:#d1ad5c;font-size:.7rem;font-weight:950;letter-spacing:.15em}.gj-st-quote-side h3{font-size:2rem;line-height:1.05;margin:17px 0 13px}.gj-st-quote-side p{color:rgba(255,255,255,.68);font-size:.88rem}.gj-st-quote-side ul{list-style:none;padding:15px 0 0;margin:0;border-top:1px solid rgba(255,255,255,.14)}.gj-st-quote-side li{padding:7px 0;color:rgba(255,255,255,.82);font-size:.8rem}.gj-st-quote-side li:before{content:"✓";color:#d1ad5c;font-weight:900;margin-right:9px}.gj-st-form{padding:45px}.gj-st-form .btn{margin-top:17px}.gj-st-process{background:#fff}.gj-st-process .container{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}.gj-st-process-intro p{color:#667085;max-width:460px}.gj-st-process-cards{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e3e7ed}.process-card{padding:27px 25px 30px;border-right:1px solid #e3e7ed;border-bottom:1px solid #e3e7ed;min-height:190px}.process-card:nth-child(even){border-right:0}.process-card span{color:#d1ad5c;font-size:.68rem;font-weight:950;letter-spacing:.15em}.process-card h3{color:#07152f;margin:14px 0 7px;font-size:1.25rem}.process-card p{color:#667085;font-size:.84rem;margin:0}.gj-st-blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.blog-card{background:#fff;border:1px solid #e4e8ef;transition:.3s;overflow:hidden}.blog-card:hover{transform:translateY(-7px);box-shadow:0 20px 55px rgba(7,21,47,.11)}.blog-image{height:205px;overflow:hidden;background:#07152f}.blog-image img{width:100%;height:100%;object-fit:cover;transition:.6s}.blog-card:hover .blog-image img{transform:scale(1.06)}.blog-card .blog-meta{padding:20px 20px 0;color:#d1ad5c;font-size:.64rem;letter-spacing:.15em;font-weight:950}.blog-card h3{padding:0 20px;margin:8px 0;color:#07152f;font-size:1.08rem;line-height:1.2}.blog-card p{padding:0 20px 22px;color:#667085;font-size:.82rem;margin:0}.gj-st-different{padding:105px 0;background:#07152f;color:#fff}.gj-st-different-head{text-align:center;max-width:800px;margin:0 auto 48px}.gj-st-different-head h2{color:#fff}.gj-st-different-head p{color:rgba(255,255,255,.68)}.gj-st-values{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12)}.value-card{padding:32px 28px;min-height:200px;background:#07152f;border:1px solid rgba(255,255,255,.06);transition:.3s}.value-card:hover{background:#0b2148}.value-card b{color:#d1ad5c;font-size:.68rem;letter-spacing:.15em}.value-card strong{display:block;color:#fff;font-size:1.2rem;margin:20px 0 7px}.value-card span{color:rgba(255,255,255,.62);font-size:.82rem;line-height:1.5}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quote-card{background:#fff;border:1px solid #e4e8ef;padding:34px 30px;min-height:250px;position:relative}.quote-mark{font-size:3.8rem;color:#d1ad5c;line-height:.8;font-family:Georgia,serif}.quote-card p{color:#475467;font-size:.92rem;line-height:1.65;margin:14px 0 25px}.quote-card strong{display:block;color:#07152f;font-size:.82rem}.quote-card span{color:#98a2b3;font-size:.72rem}.gj-st-testimonials{background:#f7f8fb}
@media(max-width:1050px){.gj-top-right{gap:12px}.gj-st-service-grid{grid-template-columns:repeat(2,1fr)}.gj-st-blog-grid{grid-template-columns:repeat(2,1fr)}.gj-st-values{grid-template-columns:repeat(2,1fr)}.gj-st-banner .container{grid-template-columns:1fr}.gj-st-banner-copy{padding:75px 0}.gj-st-banner-visual{min-height:400px}.gj-st-process .container{grid-template-columns:1fr;gap:35px}.gj-st-quote-box{grid-template-columns:1fr}.gj-st-quote-side{padding:42px}.quote-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.gj-topbar{display:none}.stesso-master-home .header{top:0}.gj-st-hero{margin-top:76px;min-height:650px}.gj-st-hero-content{min-height:650px}.gj-st-hero h1{font-size:clamp(2.8rem,11vw,5rem)}.gj-st-section-head{align-items:flex-start;flex-direction:column}.gj-st-section-head .btn{align-self:flex-start}.gj-st-sector-grid{grid-template-columns:1fr 1fr}.gj-st-proof{grid-template-columns:1fr}.gj-st-proof>div{border-right:0;border-bottom:1px solid #e6eaf0}.gj-st-proof>div:last-child{border-bottom:0}.gj-st-form{padding:32px}}
@media(max-width:560px){.gj-st-hero{min-height:650px}.gj-st-hero-content{min-height:650px;padding-bottom:35px}.gj-st-hero p{font-size:.92rem}.gj-st-actions{display:grid;width:100%}.gj-st-actions .btn{width:100%}.gj-st-service-grid,.gj-st-blog-grid,.quote-grid{grid-template-columns:1fr}.gj-st-sector-grid{grid-template-columns:1fr}.gj-st-banner-copy{padding:65px 0}.gj-st-banner-visual{min-height:300px}.gj-st-process-cards{grid-template-columns:1fr}.process-card,.process-card:nth-child(even){border-right:0}.gj-st-values{grid-template-columns:1fr}.gj-st-quote-side{padding:32px 25px}.gj-st-form{padding:25px}.gj-st-narrow h2,.gj-st-section-head h2,.gj-st-process-intro h2,.gj-st-different-head h2{font-size:2.2rem}}

/* Hero principal — imagen oficial a escala completa. */
.gj-st-hero{background:var(--navy);display:flex;justify-content:center;align-items:center;overflow:hidden;}
.gj-st-hero>img{display:block;width:auto;height:auto;max-width:100%;max-height:min(68vh,680px);object-fit:contain;object-position:center;margin:0 auto;}
@media(max-width:820px){.gj-st-hero>img{max-height:58vh;max-width:100%;}.gj-st-hero-content{display:none!important;}}
@media(max-width:560px){.gj-st-hero>img{max-height:52vh;}}
.gj-construction-hero::before,.gj-cleaning-hero::before{background-position:center center;background-size:contain;background-repeat:no-repeat;}


/* =========================================================
   GRUPO JIMM — PREMIUM MASTER V10
   Global image-only hero + exact five-item main navigation
   ========================================================= */
.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow .3s ease,background .3s ease}
.header.scrolled{box-shadow:0 12px 35px rgba(7,21,47,.10);background:rgba(255,255,255,.985)}
.menu{align-items:center}
.menu>a{text-transform:uppercase;letter-spacing:.055em;font-size:.73rem;font-weight:900}
.menu>a:not(.cta){padding:10px 4px}
.menu>a:not(.cta)::after{content:"";display:block;height:2px;width:0;margin-top:7px;background:#d1ad5c;transition:width .25s ease}
.menu>a:not(.cta):hover::after,.menu>a.active::after{width:100%}
.menu .cta{text-transform:uppercase;letter-spacing:.035em;padding:14px 22px;border-radius:12px;box-shadow:0 10px 28px rgba(7,21,47,.16)}

.gj-global-hero{width:100%;background:#07152f;display:flex;justify-content:center;align-items:center;overflow:hidden;line-height:0;border:0}
.gj-global-hero img{display:block;width:auto;height:min(680px,calc(100svh - 120px));max-width:100%;object-fit:contain;object-position:center;margin:0 auto}
.gj-global-hero::after{content:none}

/* Keep the page content visually separated from the hero without adding text over it. */
.gj-global-hero + .section,.gj-global-hero + section{scroll-margin-top:80px}

@media(max-width:1100px){
  .menu{gap:18px}
  .menu>a:not(.cta){font-size:.68rem}
  .gj-global-hero img{height:min(620px,calc(100svh - 100px));max-height:none;width:auto;max-width:100%}
}
@media(max-width:820px){
  .header{position:sticky;top:0}
  .menu{background:#fff;box-shadow:0 20px 45px rgba(7,21,47,.14)}
  .gj-global-hero img{width:100%;height:auto;max-height:none}
}
@media(max-width:560px){
  .gj-global-hero img{width:100%;height:auto}
  .menu .cta{width:100%;text-align:center}
}

/* =========================================================
   Encabezado y marca — configuración corporativa.
   ========================================================= */

/* Premium dark floating navigation: removes the visually heavy white bar. */
.header{
  position:sticky!important;
  top:0!important;
  z-index:10000!important;
  background:rgba(7,21,47,.96)!important;
  border-bottom:1px solid rgba(209,173,92,.28)!important;
  box-shadow:0 10px 32px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(16px) saturate(140%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(140%)!important;
}
.header.scrolled{
  background:rgba(5,15,35,.985)!important;
  box-shadow:0 14px 40px rgba(0,0,0,.24)!important;
}
.header .logo{
  display:block;
  height:64px!important;
  width:auto!important;
  object-fit:contain!important;
  filter:brightness(0) invert(1)!important;
}
.header .menu>a:not(.cta){color:rgba(255,255,255,.82)!important}
.header .menu>a:not(.cta):hover,.header .menu>a.active{color:#fff!important}
.header .menu>a:not(.cta)::after{background:#d1ad5c!important}
.header .menu-toggle{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.18)!important;
  color:#fff!important;
}

/* The logo itself is transparent; no white card/container is allowed around it. */
.footer-logo-card{
  display:block!important;
  width:104px!important;
  height:104px!important;
  flex:0 0 104px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.footer-brand-logo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  filter:brightness(0) invert(1)!important;
}


/* =========================================================
   GRUPO JIMM — WHATSAPP
   Single authoritative implementation.
   ========================================================= */
.wa-stack{position:fixed;right:22px;bottom:22px;z-index:11000;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.wa-stack .wa{position:relative;box-sizing:border-box;width:58px;height:58px;flex:0 0 58px;padding:4px;display:flex;flex-direction:row-reverse;align-items:center;justify-content:flex-start;gap:10px;border-radius:31px;border:2px solid rgba(255,255,255,.96);background:#25D366;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.30);text-decoration:none;overflow:visible;white-space:nowrap;pointer-events:auto;transition:transform .18s ease,box-shadow .18s ease}
.wa-stack .wa.secondary{background:#18b7d0}
.wa-stack .wa:hover,.wa-stack .wa:focus-visible{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.38);outline:none}
.wa-stack .wa-icon{flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:transparent}
.wa-stack .wa-icon svg{display:block;width:31px;height:31px;fill:#fff;color:#fff}
.wa-stack .wa .wa-label{position:absolute;right:62px;top:50%;transform:translate(8px,-50%);display:block;width:max-content;max-width:290px;min-height:42px;box-sizing:border-box;padding:11px 16px;border-radius:22px;background:#07142f;color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 30px rgba(0,0,0,.36);font-family:inherit;font-size:14px;font-weight:800;line-height:1.2;letter-spacing:.005em;white-space:nowrap;text-align:right;opacity:0;visibility:hidden;pointer-events:none;z-index:2;transition:opacity .16s ease,transform .2s ease,visibility 0s linear .2s}
.wa-stack .wa:hover .wa-label,.wa-stack .wa:focus-visible .wa-label{opacity:1;visibility:visible;transform:translate(0,-50%);transition:opacity .16s ease,transform .2s ease,visibility 0s linear 0s}
@media(max-width:560px){
  .wa-stack{right:12px;bottom:12px;gap:8px}
  .wa-stack .wa{width:52px;height:52px;flex-basis:52px;padding:3px}
  .wa-stack .wa-icon{flex-basis:44px;width:44px;height:44px}
  .wa-stack .wa-icon svg{width:27px;height:27px}
  .wa-stack .wa .wa-label{right:55px;max-width:230px;min-height:38px;padding:9px 12px;border-radius:19px;font-size:12px;white-space:normal;text-align:right}
}

/* V23 HOME LITE — página de inicio simplificada y orientada al cliente */
.home-lite-intro{background:#fff;padding:76px 0 72px}.home-lite-intro-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.home-lite-intro h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:.98;letter-spacing:-.055em;color:#07152f;margin:0;max-width:760px}.home-lite-intro-copy{max-width:500px}.home-lite-intro-copy p{font-size:1.05rem;line-height:1.7;color:#667085;margin:0 0 24px}.home-lite-heading{max-width:760px;margin-bottom:38px}.home-lite-heading h2,.home-lite-why h2,.home-lite-cta h2{font-size:clamp(2.1rem,4vw,3.5rem);line-height:1.02;letter-spacing:-.05em;color:#07152f;margin:0 0 12px}.home-lite-heading p{color:#667085;margin:0}.home-lite-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.home-lite-card{position:relative;background:#fff;border:1px solid #e4e8ef;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.home-lite-card:hover{transform:translateY(-7px);box-shadow:0 22px 55px rgba(7,21,47,.12);border-color:rgba(209,173,92,.55)}.home-lite-number{position:absolute;z-index:2;top:14px;left:14px;background:#07152f;color:#d1ad5c;padding:7px 9px;font-size:.65rem;font-weight:900;letter-spacing:.12em}.home-lite-image{height:190px;background:#07152f;overflow:hidden}.home-lite-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.home-lite-card:hover .home-lite-image img{transform:scale(1.05)}.home-lite-card-body{padding:22px 21px 24px}.home-lite-card-body h3{color:#07152f;font-size:1.35rem;margin:0 0 8px}.home-lite-card-body p{color:#667085;font-size:.82rem;line-height:1.55;min-height:65px;margin:0 0 17px}.home-lite-card-body span{color:#1f4e8c;font-size:.75rem;font-weight:900}.home-lite-why{background:#fff}.home-lite-why-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.home-lite-why h2{margin-bottom:17px}.home-lite-why> .container p,.home-lite-why-layout>div>p{color:#667085;line-height:1.7;max-width:590px;margin:0 0 24px}.text-link{color:#1f4e8c;font-weight:900;font-size:.8rem}.home-lite-benefits{border-top:1px solid #e3e7ed}.home-lite-benefit{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid #e3e7ed}.home-lite-benefit>b{color:#d1ad5c;font-size:.7rem;letter-spacing:.13em}.home-lite-benefit h3{color:#07152f;margin:0 0 5px;font-size:1.1rem}.home-lite-benefit p{color:#667085!important;margin:0!important;font-size:.82rem;line-height:1.5!important}.home-lite-cta{background:#07152f;color:#fff;padding:72px 0}.home-lite-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.home-lite-cta h2{color:#fff;max-width:760px;margin-bottom:10px}.home-lite-cta p{color:rgba(255,255,255,.68);margin:0}.home-lite-cta .eyebrow{color:#d1ad5c}
@media(max-width:1050px){.home-lite-grid{grid-template-columns:repeat(2,1fr)}.home-lite-intro-inner{gap:40px}.home-lite-why-layout{gap:55px}}
@media(max-width:820px){.home-lite-intro{padding:60px 0}.home-lite-intro-inner,.home-lite-why-layout{grid-template-columns:1fr;gap:32px}.home-lite-cta-inner{align-items:flex-start;flex-direction:column}.home-lite-image{height:220px}}
@media(max-width:560px){.home-lite-grid{grid-template-columns:1fr}.home-lite-image{height:210px}.home-lite-intro h1{font-size:2.55rem}.home-lite-benefit{grid-template-columns:42px 1fr}.home-lite-cta{padding:58px 0}}
