
:root{--bg:#0c0c0b;--surface:#151513;--surface2:#1c1b18;--ink:#f3efe7;--muted:#aaa59c;--line:#34312d;--accent:#b72c2c;--accent2:#d64a40;--paper:#f1ece2;--paper2:#e6deD0;--dark:#11100e;--shadow:0 20px 70px rgba(0,0,0,.24);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{width:min(var(--max),calc(100% - 42px));margin:auto}.serif,h1,h2,h3{font-family:Georgia,"Times New Roman",serif}.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:8px;z-index:999}.skip:focus{left:8px;top:8px}.topbar{height:76px;position:sticky;top:0;z-index:80;background:rgba(12,12,11,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.05em;white-space:nowrap}.brand img{width:36px;height:36px}.brand span b{color:#e14b43}.navlinks{display:flex;align-items:center;gap:22px;font-size:.88rem;color:#ddd9d0}.navlinks a:hover,.navlinks a:focus-visible{color:#fff}.nav-cta{padding:11px 16px;border:1px solid #bd3c37;color:#fff}.nav-cta:hover,.nav-cta:focus-visible{background:var(--accent)}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.4rem}.hero{min-height:76vh;display:flex;align-items:end;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.04)}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,6,.95) 0%,rgba(7,7,6,.76) 51%,rgba(7,7,6,.18) 100%),linear-gradient(0deg,rgba(7,7,6,.88) 0%,transparent 55%)}.hero-content{position:relative;padding:118px 0 78px;max-width:920px}.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.22em;color:#e45349;font-size:.75rem;font-weight:800}.eyebrow:before{content:"";width:34px;height:1px;background:currentColor}.hero h1{font-size:clamp(3rem,6.2vw,6.2rem);line-height:.97;letter-spacing:-.045em;margin:20px 0 22px}.hero .brandline{font-family:Georgia,serif;color:#d8d0c5;font-size:clamp(1.25rem,2.5vw,2rem);margin:0 0 13px}.hero p{font-size:1.12rem;color:#d2cec6;max-width:760px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:.76rem;cursor:pointer}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover,.btn-primary:focus-visible{background:#d33a32}.btn-ghost:hover,.btn-ghost:focus-visible{border-color:#ddd}.trustbar{background:var(--paper);color:#25231f}.trustgrid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #cec5b7}.trust{padding:27px 30px;border-right:1px solid #cec5b7}.trust strong{display:block;font-family:Georgia,serif;font-size:1.25rem}.trust span{font-size:.84rem;color:#6b655d}.section{padding:92px 0}.section-paper{background:var(--paper);color:#24211e}.section-soft{background:var(--surface)}.section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.75fr);gap:50px;align-items:end;margin-bottom:42px}.section-head h2{font-size:clamp(2.45rem,5vw,4.4rem);line-height:1;letter-spacing:-.035em;margin:8px 0 0}.section-head p{color:#716b62;margin:0}.section:not(.section-paper) .section-head p{color:var(--muted)}.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;color:var(--accent)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cdc4b5;border-left:1px solid #cdc4b5}.service-card{padding:30px;border-right:1px solid #cdc4b5;border-bottom:1px solid #cdc4b5;min-height:255px;display:flex;flex-direction:column;transition:.25s}.service-card:hover{background:#e8dfd0}.service-no{font-size:.7rem;letter-spacing:.15em;color:#887f73}.service-card h3{font-size:1.72rem;line-height:1.12;margin:30px 0 10px}.service-card p{color:#70685f;margin:0 0 22px}.arrow{margin-top:auto;font-weight:800;color:#9a2b2b}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:.25s}.project-card:hover{transform:translateY(-4px);border-color:#5a5550}.project-image{aspect-ratio:4/3;background:#0a0a09;display:grid;place-items:center;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:contain;transition:transform .35s}.project-card:hover img{transform:scale(1.015)}.project-body{padding:22px}.project-meta{display:flex;gap:8px;flex-wrap:wrap;color:#b2aca2;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.project-card h3{font-size:1.5rem;line-height:1.1;margin:10px 0 8px}.project-body p{color:#aaa49a;font-size:.9rem}.rental-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.rental{display:grid;grid-template-columns:190px 1fr;background:#191816;border:1px solid var(--line);min-height:230px}.rental-media{background:#0a0a09;display:grid;place-items:center;padding:8px}.rental img{width:100%;height:100%;object-fit:contain}.rental-copy{padding:24px}.rental h3{font-size:1.55rem;margin:6px 0}.rental p{color:var(--muted);font-size:.9rem}.process{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}.step{padding:24px 22px;border-right:1px solid var(--line)}.step:last-child{border-right:0}.step-num{color:#df5147;font-size:.72rem;letter-spacing:.13em}.step strong{display:block;margin-top:14px;font-size:1rem}.step p{font-size:.83rem;color:var(--muted)}.coverage-box{display:grid;grid-template-columns:1.1fr .9fr;background:#191816;border:1px solid var(--line)}.coverage-copy{padding:46px}.coverage-copy h2{font-size:3.05rem;line-height:1.03;margin:10px 0 18px}.coverage-copy p{color:#b0aaa0}.coverage-list{padding:34px;border-left:1px solid var(--line);display:grid;grid-template-columns:repeat(2,1fr);gap:7px 18px;align-content:center}.coverage-list a{font-size:.85rem;color:#c7c1b7;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}.coverage-list a:hover{color:#fff}.quote{font-family:Georgia,serif;font-size:clamp(1.55rem,3vw,2.4rem);line-height:1.3;margin:0}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}.team{padding:16px;border:1px solid var(--line);background:#151412}.team b{display:block}.team span{color:var(--muted);font-size:.84rem}.contact-band{background:var(--accent);color:#fff;padding:60px 0}.contact-band .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}.contact-band h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1;margin:0}.contact-band p{opacity:.9}.contact-band .btn{border-color:#fff;background:#fff;color:#8e2020}.footer{background:#080807;border-top:1px solid #24221f;padding:58px 0 30px}.footer-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr .75fr;gap:44px}.footer h4{font-family:inherit;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;color:#98938a}.footer a{display:block;color:#c3bdb3;margin:7px 0;font-size:.86rem}.footer a:hover,.footer a:focus-visible{color:#fff}.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid #24221f;display:flex;justify-content:space-between;gap:20px;color:#918b82;font-size:.75rem}.page-hero{padding:100px 0 58px;background:linear-gradient(135deg,#11100e,#1c1916);border-bottom:1px solid var(--line)}.breadcrumbs{font-size:.76rem;color:#8c877f;margin-bottom:26px}.breadcrumbs a{color:#c8c1b7}.page-hero h1{font-size:clamp(2.7rem,5.7vw,5.2rem);line-height:1;letter-spacing:-.04em;margin:0 0 20px;max-width:980px}.page-hero p{max-width:820px;color:#beb7ad;font-size:1.07rem}.content-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.62fr);gap:70px}.prose{font-size:1.02rem;color:#c8c2b9}.prose h2{color:#fff;font-size:2.2rem;line-height:1.1;margin:44px 0 16px}.prose h3{color:#fff;font-size:1.45rem}.prose ul{padding-left:18px}.prose li{margin:8px 0}.sidebar{border-left:1px solid var(--line);padding-left:30px}.fact{padding:15px 0;border-bottom:1px solid var(--line)}.fact span{display:block;color:#8d887f;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.fact strong{display:block;margin-top:4px}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:28px 0}.feature{border:1px solid var(--line);padding:18px;background:#171614}.feature strong{display:block}.feature p{margin:5px 0 0;color:var(--muted);font-size:.86rem}.area-note{padding:18px 20px;border-left:3px solid var(--accent);background:#171614;color:#bdb6ad;font-size:.86rem;margin:24px 0}.region-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.region-link{border:1px solid var(--line);padding:18px;background:#161513}.region-link:hover{border-color:#6a6258}.region-link strong{display:block}.region-link span{color:var(--muted);font-size:.78rem}.form-card{background:var(--paper);color:#292620;padding:34px;box-shadow:var(--shadow)}.field{margin-bottom:16px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{display:block;font-size:.78rem;font-weight:800;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;border:1px solid #c9c0b2;background:#fbf8f2;padding:12px 13px;color:#222;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:#8f2a28;box-shadow:0 0 0 3px rgba(183,44,44,.12)}.field small{display:block;color:#746d63;margin-top:5px;font-size:.74rem}.check{display:flex;gap:9px;align-items:flex-start;font-size:.76rem;color:#6f675e}.check input{margin-top:4px}.status{padding:12px 14px;margin-bottom:16px;font-size:.86rem}.status-error{background:#fde3e0;color:#7d201a}.hp{position:absolute!important;left:-9999px!important}.mini-cta{padding:26px;border:1px solid var(--line);background:#171614;margin-top:30px}.mini-cta h3{margin-top:0}.legal{max-width:880px}.legal h2{margin-top:38px}.muted{color:var(--muted)}
/* Project detail: show full images, never crop */
.project-hero{padding:92px 0 54px;background:#11100e;border-bottom:1px solid var(--line)}.project-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:52px;align-items:center}.project-hero h1{font-size:clamp(2.7rem,5vw,5.1rem);line-height:1;letter-spacing:-.04em;margin:14px 0 16px}.project-hero p{color:#bdb6ac}.project-hero-media{background:#070706;border:1px solid var(--line);min-height:360px;display:grid;place-items:center;padding:16px}.project-hero-media img{width:100%;height:auto;max-height:70vh;object-fit:contain}.project-gallery{columns:2;column-gap:16px;margin-top:32px}.gallery-item{break-inside:avoid;margin:0 0 16px;border:1px solid var(--line);background:#090908;cursor:zoom-in}.gallery-item img{width:100%;height:auto;object-fit:contain}.gallery-caption{padding:9px 12px;color:#8f8a82;font-size:.75rem}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:200;display:none;align-items:center;justify-content:center;padding:28px}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:92vh;width:auto;height:auto;object-fit:contain}.lightbox button{position:absolute;top:18px;right:20px;background:#fff;color:#111;border:0;width:42px;height:42px;font-size:1.4rem;cursor:pointer}.edit-note{padding:16px 18px;border:1px dashed #5a554e;color:#aaa49b;font-size:.82rem;background:#12110f}.reference-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.reference{border:1px solid var(--line);padding:17px;background:#141310}.reference b{display:block}.reference span{color:var(--muted);font-size:.8rem}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.solution-card{border:1px solid var(--line);padding:25px;background:#151412;min-height:220px;display:flex;flex-direction:column}.solution-card h3{font-size:1.55rem;margin:10px 0}.solution-card p{color:var(--muted);font-size:.9rem}.solution-card .arrow{color:#e6584d}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.tag{border:1px solid var(--line);padding:7px 10px;font-size:.78rem;color:#c7c1b7;background:#151412}.faq{border-top:1px solid var(--line);margin-top:30px}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:750}.faq p{color:var(--muted)}
:focus-visible{outline:3px solid #f1b0aa;outline-offset:3px}
@media(max-width:1000px){.navlinks{display:none;position:absolute;top:76px;left:0;right:0;background:#0d0d0c;padding:20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}.menu-btn{display:block}.section-head,.content-grid,.coverage-box,.contact-band .wrap,.footer-grid,.project-hero-grid{grid-template-columns:1fr}.services-grid,.project-grid,.solution-grid{grid-template-columns:repeat(2,1fr)}.process{grid-template-columns:repeat(2,1fr)}.step{border-bottom:1px solid var(--line)}.coverage-list{border-left:0;border-top:1px solid var(--line)}.region-links{grid-template-columns:repeat(2,1fr)}.sidebar{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.project-hero-media{min-height:280px}.reference-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.wrap{width:min(100% - 28px,var(--max))}.hero{min-height:720px}.hero-content{padding:104px 0 54px}.hero-media:after{background:linear-gradient(0deg,rgba(7,7,6,.96) 0%,rgba(7,7,6,.67) 68%,rgba(7,7,6,.35) 100%)}.trustgrid{grid-template-columns:1fr;border-left:0}.trust{border-right:0;border-bottom:1px solid #cec5b7}.services-grid,.project-grid,.rental-grid,.region-links,.team-grid,.feature-list,.solution-grid{grid-template-columns:1fr}.rental{grid-template-columns:1fr}.rental-media{height:230px}.section{padding:66px 0}.section-head{gap:20px;margin-bottom:30px}.process{grid-template-columns:1fr}.step{border-right:0}.coverage-list{grid-template-columns:1fr}.coverage-copy{padding:28px}.footer-bottom{flex-direction:column}.brand span{font-size:.84rem}.field-row{grid-template-columns:1fr}.project-gallery{columns:1}.reference-strip{grid-template-columns:1fr}}

/* ===== Revisión 3.1: limpieza visual y responsive ===== */
/* Las soluciones institucionales deben leerse como tarjetas independientes. */
.solution-grid{align-items:stretch}
.solution-card{position:relative;gap:0;border:1px solid #3b3833;background:#171614;padding:28px;min-height:250px;transition:border-color .2s ease,transform .2s ease,background .2s ease}
.solution-card:hover,.solution-card:focus-visible{border-color:#6a6258;background:#1b1a17;transform:translateY(-2px)}
.solution-card .kicker{display:block;margin:0 0 18px;color:#df5147;line-height:1.35}
.solution-card h3{margin:0 0 14px;font-size:1.6rem;line-height:1.12}
.solution-card p{margin:0 0 22px;line-height:1.65}
.solution-card .arrow{display:block;margin-top:auto;padding-top:12px;color:#e6584d;letter-spacing:.02em}

/* Itinerantes: imagen y texto son bloques reales, sin superposición ni recorte forzado. */
.rental-grid{align-items:stretch}
.rental{grid-template-columns:minmax(220px,40%) 1fr;min-height:310px;overflow:hidden;transition:border-color .2s ease,transform .2s ease}
.rental:hover,.rental:focus-visible{border-color:#5c5650;transform:translateY(-2px)}
.rental-media{padding:0;overflow:hidden;background:#090908;display:flex;align-items:center;justify-content:center}
.rental-media img{width:100%;height:100%;max-height:460px;object-fit:contain;background:#090908}
.rental-copy{padding:30px;display:flex;flex-direction:column;align-items:flex-start}
.rental-copy .kicker{margin-bottom:12px}
.rental-copy h3{margin:0 0 14px;line-height:1.12}
.rental-copy p{margin:0 0 22px;line-height:1.65}
.rental-copy .arrow{margin-top:auto}

/* Tras retirar bloques repetitivos, suavizamos el salto entre secciones. */
.hero + .section{padding-top:82px}

@media(max-width:1000px){
  .solution-card{min-height:230px}
  .rental{grid-template-columns:minmax(190px,36%) 1fr}
}
@media(max-width:650px){
  .hero{min-height:auto}
  .hero-content{padding:88px 0 52px}
  .hero h1{font-size:clamp(2.7rem,14vw,4.25rem);line-height:.98}
  .solution-card{min-height:0;padding:24px}
  .solution-card .kicker{margin-bottom:14px}
  .rental{display:block;min-height:0}
  .rental-media{height:auto;padding:0;border-bottom:1px solid var(--line)}
  .rental-media img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
  .rental-copy{padding:24px}
  .rental-copy .arrow{margin-top:4px}
}
