/* Home only: layout and breakpoints from the published Home. */
*,::before,::after { box-sizing:border-box; border:0 solid; }
html { line-height:1.5; -webkit-text-size-adjust:100%; tab-size:4; }
body { margin:0; }
a { color:inherit; text-decoration:inherit; }
button,input,textarea { font:inherit; letter-spacing:inherit; color:inherit; background:transparent; border-radius:0; }
button,input[type=button],input[type=submit] { appearance:button; }
img,svg { display:block; vertical-align:middle; }
img { max-width:100%; height:auto; }
h1,h2,h3 { font-size:inherit; font-weight:inherit; }
ol,ul { list-style:none; margin:0; padding:0; }
small { font-size:80%; }
.antialiased { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
#soluciones .solutionGrid article#interiores-corporativos { color:#fff;grid-column:1/-1;align-items:center;min-height:360px;display:flex;position:relative;overflow:hidden }
#soluciones #interiores-corporativos .photoCrop { height:100%;position:absolute;inset:0 }
#soluciones #interiores-corporativos .photoCrop img { filter:none;object-position:center;transform:scale(1) }
#soluciones #interiores-corporativos .photoCrop:after { content:"";background:linear-gradient(90deg,#102334d9,#1023348c 60%,#10233440);position:absolute;inset:0 }
#soluciones #interiores-corporativos .solutionBody { z-index:1;padding:40px;position:relative }
#soluciones #interiores-corporativos .index { color:#a8bad0 }
#soluciones #interiores-corporativos .solutionBody h3 { color:#fff;font-size:clamp(2rem,3.2vw,3.2rem) }
#soluciones #interiores-corporativos .solutionBody p { color:#f6f8fa;max-width:480px;min-height:0 }
#soluciones #interiores-corporativos .futureCTA { border-color:#a8bad0 }
@media (width<=767px) {
#soluciones .solutionGrid article#interiores-corporativos { min-height:300px }
#soluciones #interiores-corporativos .solutionBody { padding:30px 22px }
#soluciones #interiores-corporativos .solutionBody h3 { font-size:2rem }
}
#que-hacemos .workScope { margin:0 0 26px }
:root { --background:#fafbfc;--foreground:#102334;--primary:#1968ce;--navy:#102334;--muted:#5e6b78;--rule:#d5dce1;--radius:0rem }
* { box-sizing:border-box }
html { scroll-behavior:smooth;scroll-padding-top:24px }
body { background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline:2px solid var(--primary);outline-offset:5px }
.shell { width:min(1180px,100% - 64px);margin-inline:auto }
h1, h2, h3, p { margin:0 }
h1, h2 { letter-spacing:-.06em;font-weight:650 }
h2 { font-size:clamp(2.8rem,4.7vw,4.8rem);line-height:1.03 }
.eyebrow, .index { text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700 }
.eyebrow { color:var(--muted) }
.index { color:var(--primary) }
.moment { padding-block:100px }
.sectionLead { grid-template-columns:1fr 2fr;align-items:start;gap:32px;display:grid }
.leadText { color:var(--muted);max-width:620px;margin-top:28px;font-size:1.12rem;line-height:1.65 }
.button { background:var(--primary);color:#fff;cursor:pointer;border:0;justify-content:center;align-items:center;min-height:56px;padding:17px 24px;font:700 1rem Arial,Helvetica,sans-serif;text-decoration:none;transition:background .2s;display:inline-flex }
.button:hover { background:#185ab0 }
.textLink, .contactEmail { color:inherit;border-bottom:1px solid;padding-bottom:10px;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex }
.textLink:hover, .contactEmail:hover { color:#90bafa }
.dark { background:var(--navy);color:#f6f8fa }
.dark .eyebrow, .dark .index { color:#a8bad0 }
.dark .leadText { color:#bec9d3 }
.waysGrid { border-top:1px solid #405365;border-bottom:1px solid #405365;grid-template-columns:1fr 1fr;margin:58px 0 30px;display:grid }
.waysGrid article { padding:26px 50px 36px 0 }
.waysGrid article+article { border-left:1px solid #405365;padding-left:50px }
.waysGrid h3 { letter-spacing:-.045em;max-width:430px;margin:30px 0 18px;font-size:clamp(1.7rem,2.45vw,2.5rem);font-weight:500;line-height:1.12 }
.waysGrid p { color:#bec9d3;max-width:420px;font-size:1.06rem;line-height:1.6 }
.solutions { padding-bottom:76px }
.solutionGrid { grid-template-columns:1fr 1fr;gap:32px;margin-top:56px;display:grid }
.solutionGrid article { min-width:0 }
.photoCrop { background:#d7dce0;position:relative;overflow:hidden }
.photoCrop img { object-fit:cover;filter:saturate(.35);width:100%;height:100%;transform:translateY(var(--photoOffset,0px)) scale(1.045);transition:scale 1s;display:block }
.solutionGrid .photoCrop { height:360px }
.solutionGrid .photoCrop:hover img { scale:1.025 }
.solutionBody { padding-top:25px }
.solutionBody h3 { letter-spacing:-.05em;margin:15px 0 12px;font-size:clamp(1.75rem,2.6vw,2.6rem);font-weight:500 }
.solutionBody p { color:var(--muted);max-width:480px;min-height:52px;line-height:1.6 }
.futureCTA { color:inherit;border-bottom:1px solid #8f9dad;margin-top:24px;padding-bottom:9px;font-size:.95rem;font-weight:700;display:inline-block }
.about .sectionLead { grid-template-columns:1fr 2.4fr }
.numbers { border-top:1px solid #405365;grid-template-columns:repeat(3,1fr);margin-top:58px;display:grid }
.numbers>div { border-right:1px solid #405365;padding:28px 30px 18px 0 }
.numbers>div:last-child { border-right:0 }
.numbers strong { letter-spacing:-.065em;font-size:clamp(3.3rem,5.3vw,5.5rem);font-weight:500;line-height:1;display:block }
.numbers strong span { letter-spacing:-.04em;font-size:1.8rem }
.numbers p { color:#bec9d3;margin-top:12px;font-size:1rem }
.futureStrip { color:#8fa1b4;letter-spacing:.14em;border-top:1px solid #405365;justify-content:space-between;align-items:end;height:46px;margin-top:36px;font-size:.7rem;display:flex }
.method { padding-block:85px }
.method h2 { font-size:clamp(2.6rem,4.3vw,4.2rem) }
.steps { grid-template-columns:repeat(5,1fr);margin:50px 0 0;padding:0;list-style:none;display:grid }
.steps li { border-top:1px solid #98a7b6;padding:20px 15px 10px 0 }
.steps li+li { border-left:1px solid var(--rule);padding-left:20px }
.stepNumber { letter-spacing:.12em;color:var(--primary);font-size:.75rem }
.steps h3 { letter-spacing:-.03em;margin-top:30px;font-size:clamp(1rem,1.7vw,1.4rem);font-weight:500 }
.contact { isolation:isolate;padding-block:100px;position:relative }
.contactPhoto { z-index:-1;position:absolute;inset:0 }
.contactPhoto img { object-position:center;filter:saturate(.25);transform:none }
.contactPhoto:after { content:"";background:linear-gradient(90deg,#102334e8,#102334f2 65%);position:absolute;inset:0 }
.contactInner { grid-template-columns:.9fr 1.1fr;align-items:start;gap:9%;display:grid }
.contact h2 { margin-top:25px;font-size:clamp(3.5rem,6vw,6rem);line-height:.97 }
.contactIntro { color:#d0d9e2;max-width:330px;margin:30px 0;font-size:1.1rem;line-height:1.65 }
.contactEmail { overflow-wrap:anywhere;font-weight:400 }
.contactForm { grid-template-columns:1fr 1fr;align-content:start;gap:26px 22px;display:grid }
.contactForm label { flex-direction:column;gap:8px;font-size:.875rem;font-weight:700;display:flex }
.contactForm .full { grid-column:1/-1 }
.contactForm input:not([type=file]), .contactForm textarea { color:#fff;resize:vertical;background:0 0;border:0;border-bottom:1px solid #91a2b5;border-radius:0;width:100%;padding:10px 0;font:1rem Arial,Helvetica,sans-serif }
.contactForm input[type=file] { max-width:100%;font-size:.875rem;font-weight:400 }
.contactForm input::file-selector-button { color:#102334;font:inherit;cursor:pointer;background:#f5f7fa;border:0;margin-right:10px;padding:10px }
.fileLabel { border-top:1px solid #52677b;padding-top:20px }
.fileLabel small { color:#bac8d6;font-size:.75rem;font-weight:400;line-height:1.4 }
.contactForm button { justify-self:start }
.formNotice { color:#d4dce5;grid-column:1/-1;font-size:.95rem;line-height:1.5 }
footer { grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;padding:34px 0 45px;display:grid }
footer p, footer small { color:var(--muted);font-size:.875rem }
footer small { text-align:right }
.motionReady .reveal { opacity:0;transition:opacity .7s,translate .7s cubic-bezier(.2,.6,.3,1);translate:0 16px }
.motionReady .reveal.isVisible { opacity:1;translate:0 }
.motionReady .waysGrid article:nth-child(2), .motionReady .solutionGrid article:nth-child(2) { transition-delay:.1s }
.motionReady .steps li:nth-child(2) { transition-delay:60ms }
.motionReady .steps li:nth-child(3) { transition-delay:.12s }
.motionReady .steps li:nth-child(4) { transition-delay:.18s }
.motionReady .steps li:nth-child(5) { transition-delay:.24s }
@media (width<=1000px) {
.contactInner { gap:5% }
.sectionLead { grid-template-columns:1fr 2.4fr }
.solutionGrid .photoCrop { height:300px }
}
@media (width<=767px) {
.shell { width:calc(100% - 36px) }
.moment { padding-block:65px }
.sectionLead, .about .sectionLead { display:block }
.sectionLead .eyebrow { margin-bottom:24px }
h2 { font-size:clamp(2.4rem,8.6vw,3.8rem) }
.leadText { margin-top:24px;font-size:1.05rem }
.waysGrid { grid-template-columns:1fr;margin-top:36px }
.waysGrid article, .waysGrid article+article { border-left:0;padding:24px 0 30px }
.waysGrid article+article { border-top:1px solid #405365 }
.waysGrid h3 { margin:22px 0 14px;font-size:1.8rem }
.solutionGrid { grid-template-columns:1fr;gap:45px;margin-top:38px }
.solutionGrid .photoCrop { height:270px }
.solutionBody p { min-height:0 }
.solutionBody { padding-top:20px }
.solutionBody h3 { font-size:2rem }
.solutionGrid .photoCrop:hover img { scale:1 }
.photoCrop .motionPhoto { transform:scale(1.02) }
.numbers { margin-top:38px }
.numbers>div { padding:22px 12px 12px }
.numbers>div:first-child { padding-left:0 }
.numbers strong { font-size:clamp(2.4rem,10vw,4rem) }
.numbers strong span { margin-top:7px;font-size:1rem;display:block }
.numbers p { overflow-wrap:anywhere;font-size:.875rem }
.futureStrip { gap:20px;font-size:.6rem;line-height:1.5 }
.futureStrip span:last-child { text-align:right }
.method h2 { font-size:clamp(2.3rem,8.5vw,3.5rem) }
.steps { grid-template-columns:1fr;margin-top:32px }
.steps li, .steps li+li { border-left:0;align-items:center;gap:25px;padding:16px 0;display:flex }
.steps h3 { margin:0;font-size:1.2rem }
.stepNumber { min-width:24px }
.contactInner { display:block }
.contact h2 { font-size:clamp(3rem,11vw,5rem) }
.contactIntro { margin:24px 0 }
.formWrap { margin-top:45px }
.contactPhoto:after { background:#102334ed }
.contactForm { gap:23px 18px }
.motionReady .reveal { translate:0 10px;transition-delay:0s!important }
footer { grid-template-columns:1fr;gap:14px }
footer small { text-align:left }
}
@media (width<=420px) {
.contactForm { grid-template-columns:1fr }
.contactForm .full { grid-column:auto }
.contactEmail { font-size:.95rem }
.numbers strong { font-size:2.5rem }
}
@media (prefers-reduced-motion:reduce) {
html { scroll-behavior:auto }
* { transition:none!important;animation:none!important }
.motionReady .reveal { opacity:1;translate:none }
.photoCrop .motionPhoto { transform:scale(1.02) }
}
.heroScene { background:var(--navy);height:140svh;position:relative }
.heroStage { isolation:isolate;color:#fafbfc;height:100svh;position:sticky;top:0;overflow:hidden }
.heroPhotograph { z-index:-2;position:absolute;inset:0;overflow:hidden }
.heroPhotograph img { object-fit:cover;object-position:100% center;transform-origin:0 0;will-change:transform;width:100%;height:100%;display:block;position:absolute;top:0;left:0 }
.heroShade { z-index:-1;background:linear-gradient(90deg,#0a1c2deb 0%,#0a1c2dd4 27%,#0a1c2d7a 46%,#0a1c2d14 65%,#0000 80%);position:absolute;inset:0 }
.heroSceneContent { align-items:center;height:100%;display:flex;position:relative }
.heroSceneCopy { width:min(660px,57%);opacity:var(--heroCopyOpacity,1);transform:translateY(var(--heroCopyOffset,0px)) }
.heroSceneCopy h1 { letter-spacing:-.065em;color:#fafbfc;font-size:clamp(3.5rem,7vw,6.9rem);line-height:.94 }
.heroSceneCopy>p { color:#f1f4f7;max-width:490px;margin:30px 0;font-size:1.15rem;line-height:1.65 }
.heroCTA { color:#fff;border-bottom:1px solid #afbed0;align-items:center;gap:30px;min-height:48px;padding-bottom:9px;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex }
.heroCTA span { color:#91b9ef;font-size:1.4rem;transition:translate .2s }
.heroCTA:hover span { translate:3px }
.heroCTA:focus-visible { outline-color:#fff }
@media (width>=768px) and (height<=650px) {
.heroSceneCopy h1 { font-size:clamp(3rem,6vw,5.5rem) }
.heroSceneCopy>p { margin:20px 0;font-size:1.05rem }
}
@media (width<=767px) {
.heroScene { height:auto }
.heroStage { height:calc(100svh - 130px);min-height:560px;max-height:740px;position:relative }
.heroPhotograph img { object-position:66% center;will-change:auto }
.heroShade { background:linear-gradient(90deg,#0a1c2de6 0%,#0a1c2dcc 55%,#0a1c2d9e 82%,#0a1c2d1a 100%) }
.heroSceneContent { align-items:center }
.heroSceneCopy { opacity:1;width:100%;max-width:530px;padding-bottom:45px;transform:none }
.heroSceneCopy h1 { font-size:clamp(3.3rem,12vw,5.3rem) }
.heroSceneCopy>p { max-width:380px;margin:24px 0;font-size:1.05rem;line-height:1.6 }
.heroCTA { gap:24px }
}
@media (prefers-reduced-motion:reduce) {
.heroScene { height:auto }
.heroStage { height:calc(100svh - 90px);min-height:560px;position:relative }
.heroPhotograph img { object-position:65% center;will-change:auto;transform:none!important }
.heroSceneCopy { opacity:1;transform:none }
}
.heroPhotograph img { aspect-ratio:1672/941;object-fit:fill;width:max(108%,177.683svh);max-width:none;height:auto;top:50%;left:auto;right:0;transform:translateY(-50%) }
.heroShade { background:linear-gradient(90deg,#0a1c2dbd 0%,#0a1c2da1 25%,#0a1c2d85 40%,#0a1c2d2e 48%,#0000 56%) }
.heroStage:before { content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0a1c2d57,#0000);height:150px;position:absolute;inset:0 0 auto }
.heroNav { z-index:2;justify-content:space-between;align-items:center;gap:28px;display:flex;position:absolute;top:18px;left:0;right:0 }
.approvedBrand { mix-blend-mode:screen;flex:none;width:320px;display:block }
.approvedBrand img { filter:grayscale()invert()contrast(6);width:100%;height:auto;display:block }
.heroNav nav { flex-wrap:wrap;justify-content:flex-end;gap:clamp(18px,2.1vw,30px);display:flex }
.heroNav nav a { color:#fff;text-shadow:0 1px 6px #10233490;font-size:.9rem;font-weight:600;text-decoration:none }
.heroNav nav a:hover { color:#d0e2f9 }
.approvedFooterBrand { width:min(300px,100%);display:block }
.approvedFooterBrand img { width:100%;height:auto;display:block }
.whatsAppContact { margin-top:24px }
.whatsAppLink { color:#fff;background:0 0;border:0;align-items:center;gap:10px;padding:8px 0;font:500 1rem Arial,Helvetica,sans-serif;text-decoration:none;display:inline-flex }
.whatsAppLink:disabled { opacity:1;cursor:default }
.whatsAppFloating { right:max(26px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));z-index:20;background:var(--navy);border:1px solid #8198b5;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:background .2s;display:flex;position:fixed;box-shadow:0 3px 12px #071b3326 }
.whatsAppFloating img { width:27px;height:27px }
.whatsAppFloating:disabled { opacity:1;cursor:default }
@media (width<=1000px) and (width>=768px) {
.approvedBrand { width:265px }
.heroNav nav { gap:14px }
.heroNav nav a { font-size:.875rem }
}
@media (width<=767px) {
.heroStage { height:100svh;min-height:620px;max-height:840px }
.heroNav { display:block;top:16px }
.approvedBrand { width:265px }
.heroNav nav { justify-content:flex-start;gap:12px 20px;margin-top:12px }
.heroNav nav a { font-size:.875rem }
.heroSceneCopy { padding-top:110px;padding-bottom:0 }
.heroPhotograph img { aspect-ratio:auto;object-fit:cover;object-position:66% center;width:100%;height:100%;top:0;left:0;right:auto;transform:none }
.heroShade { background:linear-gradient(90deg,#0a1c2dbd,#0a1c2da8 55%,#0a1c2d80 82%,#0a1c2d0a) }
.whatsAppFloating { width:50px;height:50px;right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom)) }
.whatsAppFloating img { width:25px;height:25px }
}
@media (prefers-reduced-motion:reduce) {
.heroStage { height:100svh }
.heroPhotograph img { aspect-ratio:auto;object-fit:cover;object-position:65% center;width:100%;height:100%;top:0;left:0;right:auto;transform:none!important }
}
.approvedBrand { mix-blend-mode:normal;box-shadow:none;background:0 0;border:0 }
.approvedBrand img, .approvedFooterBrand img { filter:none;box-shadow:none;background:0 0;border:0 }
.heroPhotograph img { aspect-ratio:auto;object-fit:cover;object-position:center;transform-origin:50%;width:100%;height:100%;top:0;left:0;right:auto;transform:scale(1) }
@media (hover:hover) and (pointer:fine) {
.steps li { transform-origin:0;transition:transform .28s cubic-bezier(.2,.6,.3,1),border-color .28s }
.steps li h3 { transition:font-weight .28s }
.steps li:hover { border-top-color:var(--primary);transform:translate(7px)scale(1.025) }
.steps li:hover h3 { font-weight:600 }
}
@media (width<=767px) {
.heroPhotograph img { object-position:66% center;transform:none }
}
@media (prefers-reduced-motion:reduce) {
.heroPhotograph img { object-position:center;transform:none!important }
.steps li:hover { transform:none }
}
.solutionBody .solutionContentLink { color:inherit;cursor:pointer;text-decoration:none;display:block }
.solutionBody .solutionContentLink h3 { transition:color .2s }
@media (hover:hover) and (pointer:fine) {
.solutionBody .solutionContentLink:hover h3 { color:var(--primary) }
#metodo .steps li { isolation:isolate;position:relative }
#metodo .steps li:before { content:"";z-index:-1;pointer-events:none;opacity:0;background:#eee;transition:opacity .28s cubic-bezier(.2,.6,.3,1);position:absolute;inset:0 }
#metodo .steps li:hover:before { opacity:1 }
}
.about .numbers { text-align:center;grid-template-columns:1fr }
.about .numbers>div { padding-inline:0 }
.about .numbers strong { font-size:clamp(4.5rem,7vw,7rem) }
.about .numbers strong span { font-size:clamp(1.8rem,2.6vw,2.6rem);display:inline }
.about .numbers p { font-size:1rem }
.heroNav nav{align-items:baseline}.heroNav nav>a,.heroNav .solutionsTrigger{line-height:1.4}.heroNav .solutionsMenu{flex-direction:column;align-self:baseline;display:flex;position:relative}.heroNav .solutionsTrigger{appearance:none;color:#fff;font:inherit;text-shadow:0 1px 6px #10233490;cursor:pointer;background:0 0;border:0;padding:0;font-size:.9rem;font-weight:600;line-height:1.4;transition:color .18s}.heroNav .solutionsTrigger:hover,.heroNav .solutionsTrigger[aria-expanded=true]{color:#d0e2f9}.heroNav .solutionsPanel{background:var(--navy);opacity:0;visibility:hidden;pointer-events:none;border:1px solid #405365;min-width:250px;padding:8px 20px;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;top:calc(100% + 12px);right:0;transform:translateY(-4px)}.heroNav .solutionsMenu[data-open=true] .solutionsPanel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.heroNav .solutionsMenu[data-open=true]:after{content:"";height:14px;position:absolute;top:100%;left:0;right:0}.heroNav .solutionsPanel a{white-space:nowrap;text-shadow:none;padding:13px 0;display:block}.heroNav .solutionsPanel a+a{border-top:1px solid #405365}.heroNav .solutionsTrigger:focus-visible,.heroNav .solutionsPanel a:focus-visible{outline-offset:4px;outline:1px solid}@media (width<=1000px){.heroNav .solutionsTrigger{font-size:.875rem}}@media (width<=1000px),(pointer:coarse){.heroNav .solutionsMenu[data-open=true]{flex-basis:100%;width:100%}.heroNav .solutionsPanel{border:0;min-width:0;max-height:0;margin-top:0;padding:0 16px;transition:opacity .18s,max-height .18s,margin-top .18s,padding .18s,visibility .18s;position:static;overflow:hidden;transform:none}.heroNav .solutionsMenu[data-open=true] .solutionsPanel{border:1px solid #405365;max-height:220px;margin-top:12px;padding:8px 16px}.heroNav .solutionsMenu[data-open=true]:after{display:none}.heroNav .solutionsPanel a{padding:14px 0}}@media (prefers-reduced-motion:reduce){.heroNav .solutionsPanel,.heroNav .solutionsTrigger{transition:none}}
