.cp-site{
  --canvas:#E9E7E2;
  --panel:#F3F2EE;
  --deep:#4A433C;
  --deep-2:#544C44;
  --accent:#A8613A;
  --accent-hover:#8F4F2C;
  --accent-light:#E9AE80;
  --accent-muted:rgba(168,97,58,.28);
  --text-secondary:#4F5954;
  --text-primary:#1B2420;
  --line:#8E948F;
  --on-deep:#EEEAE2;
  --on-deep-2:#CFC6BA;
  --display:"Josefin Sans",system-ui,sans-serif;
  --body:"Manrope",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --tshadow:0 1px 2px rgba(5,8,6,.95),0 3px 12px rgba(5,8,6,.78),0 10px 44px rgba(5,8,6,.8);
  --gutter:clamp(16px,4vw,56px);
}.cp-site *{box-sizing:border-box;margin:0;padding:0}.cp-site{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth}.cp-site{overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text-primary);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;animation:pageIn .9s var(--ease-out) both}
@keyframes pageIn{from{opacity:0}to{opacity:1}}.cp-site img{display:block;max-width:100%}.cp-site a{color:inherit}.cp-site :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.cp-site .skip{position:absolute;left:-999px;top:8px;background:var(--deep);color:var(--on-deep);padding:10px 16px;z-index:100}.cp-site .skip:focus{left:8px}.cp-site .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cp-site /* the environment: one fixed layer behind everything */
.env{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:var(--canvas)}.cp-site .env::before{content:"";position:absolute;width:70vmax;height:70vmax;left:-10vmax;top:-20vmax;border-radius:50%;background:radial-gradient(circle,rgba(201,132,85,.13),rgba(201,132,85,0) 65%);animation:drift 74s var(--ease-io) -20s infinite alternate}.cp-site .env::after{content:"";position:absolute;inset:0;opacity:.32;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .3 0 0 0 0 .28 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(60vw,70vh)}}.cp-site .btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:var(--body);font-weight:600;font-size:15px;letter-spacing:.02em;text-decoration:none;padding:15px 26px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:background-color .35s var(--ease-out),color .35s var(--ease-out),border-color .35s var(--ease-out),transform .35s var(--ease-out)}.cp-site .btn-primary{background:var(--accent);color:#fff}.cp-site .btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px)}.cp-site .btn-ghost{color:#fff;border-color:rgba(255,255,255,.6)}.cp-site .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}.cp-site .btn-line{color:var(--text-primary);border-color:var(--text-primary)}.cp-site .btn-line:hover{background:var(--text-primary);color:var(--canvas)}
@media (pointer:coarse){.cp-site .btn{min-height:44px}}.cp-site .label{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.cp-site /* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--gutter);color:#fff;transition:background-color .5s var(--ease-out),color .5s var(--ease-out),padding .5s var(--ease-out)}.cp-site .nav.solid{background:rgba(233,231,226,.9);backdrop-filter:blur(14px);color:var(--text-primary);padding-top:12px;padding-bottom:12px}.cp-site .brand{position:relative;display:block;text-decoration:none;line-height:0}.cp-site .brand img{height:60px;width:auto;transition:opacity .5s var(--ease-out)}.cp-site .brand .logo-dark{position:absolute;left:0;top:0;opacity:0}.cp-site .nav.solid .brand .logo-dark{opacity:1}.cp-site .nav.solid .brand .logo-light{opacity:0}.cp-site .wa{display:inline-flex;align-items:center;gap:8px;font-weight:600}.cp-site .wa svg{width:20px;height:20px;flex:none}.cp-site .nav-links .wa::after{display:none}.cp-site .wa span{border-bottom:1px solid transparent;transition:border-color .4s var(--ease-out)}.cp-site .wa:hover span{border-color:currentColor}.cp-site .nav-links{display:flex;align-items:center;gap:30px;list-style:none}.cp-site .nav-links a{font-size:14px;text-decoration:none;letter-spacing:.04em;position:relative;padding:6px 0}.cp-site .nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out)}.cp-site .nav-links a:hover::after{transform:scaleX(1)}.cp-site .nav .btn{padding:11px 20px;font-size:14px}.cp-site .nav:not(.solid) .btn-primary{background:rgba(168,97,58,.92)}
@media (max-width:1100px){.cp-site .nav-links{gap:22px}}
@media (max-width:980px){.cp-site .nav-links li:not(.keep){display:none}}
@media (max-width:560px){.cp-site .nav{padding-top:12px;padding-bottom:12px}.cp-site .nav-links .cta{display:none}.cp-site .brand img{height:50px}.cp-site .wa{font-size:14px;padding:9px 14px!important;border:1px solid currentColor;border-radius:999px;min-height:44px}}.cp-site /* hero */
.hero{position:relative;height:500vh;background:var(--deep)}.cp-site .stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}.cp-site .poster,.cp-site .stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center}.cp-site .stage video{opacity:0;transition:opacity .8s var(--ease-out);will-change:transform;transform:translateZ(0)}.cp-site .stage.video-ready video{opacity:1}.cp-site .stage.video-failed video{display:none}.cp-site .scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(8,12,10,.5),rgba(8,12,10,0) 20%),linear-gradient(90deg,rgba(8,12,10,.5) 0%,rgba(8,12,10,.32) 34%,rgba(8,12,10,0) 60%),radial-gradient(ellipse 120% 90% at 50% 45%,rgba(8,12,10,0) 35%,rgba(8,12,10,.55) 100%),linear-gradient(to top,rgba(8,12,10,.5),rgba(8,12,10,0) 45%)}.cp-site .band{position:absolute;left:var(--gutter);bottom:clamp(64px,12vh,140px);max-width:min(760px,86vw);color:#fff;text-shadow:var(--tshadow);opacity:0;pointer-events:none;z-index:2;isolation:isolate}.cp-site .band.on{pointer-events:auto}.cp-site .band::before{content:"";position:absolute;inset:-30% -18% -30% -22%;z-index:-1;pointer-events:none;opacity:calc(.25 + .75*var(--k,1));background:radial-gradient(ellipse 78% 70% at 42% 52%,rgba(6,10,8,var(--sa,.64)) 0%,rgba(6,10,8,calc(var(--sa,.64)*.86)) 55%,rgba(6,10,8,0) 86%)}.cp-site .band .btn{text-shadow:none}.cp-site .band .label{display:block;margin-bottom:18px;color:#F0DCC8}.cp-site .band h1,.cp-site .band h2{font-family:var(--display);font-weight:300;font-size:clamp(38px,5.2vw,80px);line-height:1.04;letter-spacing:-.01em;max-width:16ch}.cp-site .b2 h2{font-size:clamp(32px,4.2vw,64px);max-width:17ch}.cp-site .band p{font-size:clamp(16px,1.35vw,19px);max-width:44ch;margin-top:20px;color:#F2EFEA}.cp-site .band .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.cp-site .band .w{display:inline-block;white-space:nowrap}.cp-site .band .c{display:inline-block}.cp-site /* band 1: drift-down */
.b1 .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.8,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*-28px))}.cp-site .b1 .label{opacity:var(--k,0)}.cp-site /* band 2: blur-to-sharp */
.b2 .stack{position:relative;display:block}.cp-site .b2 .soft{position:absolute;inset:0;filter:blur(10px);opacity:calc(1 - var(--k,0))}.cp-site .b2 .sharp{display:block;opacity:var(--k,0)}.cp-site /* band 3: word rise into staged settle */
.b3 .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3.2,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*36px))}.cp-site .b3 p{--ks:clamp(0,(var(--k,0) - .66)*4,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*14px))}.cp-site .b3 .row{--kb:clamp(0,(var(--k,0) - .78)*5,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px))}.cp-site .b3 .label{opacity:var(--k,0)}.cp-site .ring{position:absolute;right:var(--gutter);bottom:32px;width:40px;height:40px;color:rgba(255,255,255,.85);transition:opacity .6s var(--ease-out)}.cp-site .stage.video-ready .ring{opacity:0}.cp-site .cue{position:absolute;right:var(--gutter);bottom:30px;display:flex;flex-direction:column;align-items:center;gap:10px;color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:.2em;opacity:0;transition:opacity .6s var(--ease-out)}.cp-site .stage.video-ready .cue,.cp-site .stage.video-failed .cue{opacity:.85}.cp-site .stage.past .cue{opacity:0}.cp-site .cue i{display:block;width:1px;height:42px;background:linear-gradient(#fff,rgba(255,255,255,0));animation:cue 2.4s var(--ease-io) -1s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-height:560px){.cp-site .cue,.cp-site .ring{display:none}}.cp-site /* static hero (the five gates) */
.static-hero{display:none}
@media (max-width: 720px), (orientation: portrait) and (max-width: 1024px), (orientation: portrait) and (pointer: coarse), (orientation: landscape) and (pointer: coarse) and (max-height: 560px), (prefers-reduced-motion: reduce){.cp-site .hero{display:none}.cp-site .static-hero{display:flex;position:relative;min-height:100vh;min-height:100svh;align-items:flex-end;padding:120px var(--gutter) 64px;background:var(--deep) none center/cover no-repeat;color:#fff;text-shadow:var(--tshadow)}.cp-site .static-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,12,10,.6),rgba(8,12,10,0) 22%),linear-gradient(to top,rgba(8,12,10,.86) 0%,rgba(8,12,10,.5) 45%,rgba(8,12,10,.2) 100%)}.cp-site .static-hero .inner{position:relative;max-width:640px}.cp-site .static-hero .label{color:#F0DCC8;display:block;margin-bottom:16px}.cp-site .static-hero h1{font-family:var(--display);font-weight:300;font-size:clamp(36px,9vw,64px);line-height:1.05}.cp-site .static-hero p{margin-top:18px;color:#F2EFEA;max-width:40ch}.cp-site .static-hero .btn{margin-top:28px;text-shadow:none}
}.cp-site /* sections */
section{position:relative}.cp-site .wrap{max-width:1360px;margin:0 auto;padding:0 var(--gutter)}.cp-site .kicker{display:block;color:#8A4A26;margin-bottom:22px}.cp-site .h-xl{font-family:var(--display);font-weight:300;font-size:clamp(40px,7vw,112px);line-height:1;letter-spacing:-.015em}.cp-site .h-l{font-family:var(--display);font-weight:300;font-size:clamp(34px,4.6vw,68px);line-height:1.05}.cp-site .lede{font-size:clamp(17px,1.4vw,20px);color:var(--text-secondary);max-width:52ch}.cp-site /* signature: the three columns of the logo,.cp-site drawn by scroll */
.sig{position:absolute;left:calc(var(--gutter)*.45);top:120px;bottom:120px;width:14px;pointer-events:none}.cp-site .sig{display:flex;justify-content:space-between}.cp-site .sig i{display:block;width:1px;height:100%;background:linear-gradient(var(--accent),rgba(168,97,58,.15));transform:scaleY(var(--d,0));transform-origin:top}.cp-site .sig i:nth-child(2){transform:scaleY(calc(var(--d,0)*.92));margin-top:-18px;height:calc(100% + 18px)}.cp-site .sig i:nth-child(3){transform:scaleY(calc(var(--d,0)*.8))}
@media (max-width:720px){.cp-site .sig{display:none}}.cp-site /* reveal choreography */
.rv .part{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}.cp-site .rv.in .part{opacity:1;transform:none}.cp-site .rv.in .part:nth-child(2){transition-delay:.1s}.cp-site .rv.in .part:nth-child(3){transition-delay:.2s}.cp-site .rv.in .part:nth-child(4){transition-delay:.3s}.cp-site .rv.in .part:nth-child(5){transition-delay:.4s}.cp-site .rv.done .part,.cp-site .rv.done .part:nth-child(2),.cp-site .rv.done .part:nth-child(3),.cp-site .rv.done .part:nth-child(4),.cp-site .rv.done .part:nth-child(5){transition-delay:0s}.cp-site /* 1. historia */
.story{padding:clamp(110px,16vw,220px) 0 clamp(80px,10vw,140px)}.cp-site .story-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,6vw,110px);align-items:end}.cp-site .story .lede{margin-top:30px}.cp-site .stats{display:grid;grid-template-columns:1fr;margin-top:clamp(70px,9vw,120px);border-top:1px solid var(--line)}.cp-site .stat{padding:28px 24px 0 0}.cp-site .stat + .stat{padding-left:24px;border-left:1px solid var(--line)}.cp-site .stat b{display:block;font-family:var(--display);font-weight:300;font-size:clamp(48px,6vw,92px);line-height:1;color:var(--text-primary)}.cp-site .stat span{display:block;margin-top:12px;color:var(--text-secondary);font-size:15px;max-width:22ch}.cp-site .stats .stat:only-child{display:flex;align-items:baseline;gap:clamp(16px,2.4vw,32px);flex-wrap:wrap}.cp-site .stats .stat:only-child span{margin-top:0;font-size:clamp(16px,1.4vw,20px)}.cp-site .story-photo{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:2px}.cp-site .story-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 2.4s var(--ease-out)}.cp-site .rv.in .story-photo img{transform:scale(1)}.cp-site .story-photo figcaption{position:absolute;left:16px;bottom:14px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6)}
@media (max-width:860px){.cp-site .story-grid{grid-template-columns:1fr}.cp-site .stats{grid-template-columns:1fr}.cp-site .stat + .stat{border-left:0;padding-left:0;border-top:1px solid var(--line);margin-top:24px}}.cp-site /* 2. sin sorpresas (deep) */
.calm{background:var(--deep);color:var(--on-deep);padding:clamp(100px,13vw,180px) 0;overflow:hidden}.cp-site .calm .kicker{color:var(--accent-light)}.cp-site .calm .h-xl{max-width:12ch}.cp-site .calm .lede{color:var(--on-deep-2);margin-top:26px}.cp-site .calm-glow{position:absolute;right:-20vw;top:10%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,rgba(201,132,85,.16),rgba(201,132,85,0) 62%);pointer-events:none;animation:breathe 9s var(--ease-io) -3s infinite alternate}
@keyframes breathe{from{opacity:.55;transform:scale(.94)}to{opacity:1;transform:scale(1.04)}}.cp-site .worries{margin-top:clamp(60px,8vw,110px);list-style:none;border-top:1px solid rgba(238,234,226,.18)}.cp-site .worry{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(20px,5vw,90px);padding:clamp(30px,4vw,46px) 0;border-bottom:1px solid rgba(238,234,226,.18);align-items:baseline}.cp-site .worry q{font-family:var(--display);font-weight:300;font-size:clamp(24px,2.6vw,38px);line-height:1.15;quotes:none;color:var(--on-deep-2)}.cp-site .worry p{font-size:clamp(17px,1.35vw,19px);color:var(--on-deep);position:relative;padding-left:34px}.cp-site .worry p::before{content:"";position:absolute;left:0;top:.72em;width:20px;height:1px;background:var(--accent-light);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease-out) .3s}.cp-site .worry.in p::before{transform:scaleX(1)}.cp-site .worry .part{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.cp-site .worry.in .part{opacity:1;transform:none}.cp-site .worry.in .part:nth-child(2){transition-delay:.15s}.cp-site .worry.done .part:nth-child(2){transition-delay:0s}
@media (max-width:760px){.cp-site .worry{grid-template-columns:1fr}}.cp-site /* 3. obras */
.works{padding:clamp(110px,14vw,200px) 0 clamp(60px,8vw,100px)}.cp-site .works-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}.cp-site .feature{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(24px,4vw,64px);align-items:end;margin-top:clamp(70px,9vw,130px)}.cp-site .feature:nth-of-type(even){grid-template-columns:1fr 1.6fr}.cp-site .feature:nth-of-type(even) .f-media{order:2}.cp-site .f-media{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:16/10;background:#cfcac2}.cp-site .f-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 2.2s var(--ease-out)}.cp-site .feature.in .f-media img{transform:scale(1.0)}.cp-site .f-media.gal{background:none;aspect-ratio:auto;overflow:visible}.cp-site .g-main{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:16/10;background:#cfcac2}.cp-site .g-main img{transition:transform 2.2s var(--ease-out),opacity .38s var(--ease-out)}.cp-site .gal.swapping .g-main img{opacity:0}.cp-site .g-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.cp-site .g-t{position:relative;width:clamp(64px,7.5vw,92px);aspect-ratio:4/3;padding:0;border:0;border-radius:2px;overflow:hidden;cursor:pointer;background:#cfcac2;opacity:.5;transition:opacity .35s var(--ease-out),box-shadow .35s var(--ease-out)}.cp-site .g-t img{width:100%;height:100%;object-fit:cover;transform:none!important;transition:none}.cp-site .g-t:hover{opacity:.85}.cp-site .g-t[aria-pressed="true"]{opacity:1;box-shadow:0 0 0 2px var(--canvas),0 0 0 3px var(--accent)}.cp-site .g-thumbs::after{content:attr(data-count);align-self:center;margin-left:6px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--text-secondary)}.cp-site .f-text .label{color:var(--text-secondary);display:block;margin-bottom:14px}.cp-site .f-text h3{font-family:var(--display);font-weight:300;font-size:clamp(34px,4.4vw,64px);line-height:1}.cp-site .f-text p{color:var(--text-secondary);margin-top:18px;max-width:34ch}.cp-site .f-text .place{display:block;margin-top:22px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8A4A26}
@media (max-width:860px){.cp-site .feature,.cp-site .feature:nth-of-type(even){grid-template-columns:1fr}.cp-site .feature:nth-of-type(even) .f-media{order:0}}.cp-site .more{padding:clamp(40px,6vw,80px) 0 clamp(100px,12vw,170px)}.cp-site .more-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-bottom:34px}.cp-site .grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:clamp(12px,1.6vw,22px)}.cp-site .tile{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:4/5;background:#cfcac2}.cp-site .tile.wide{grid-column:span 2;aspect-ratio:auto}.cp-site .tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}.cp-site .tile:hover img{transform:scale(1.05)}.cp-site[data-cp-section="seccion-4"] .tile figcaption{font-style:normal;font-weight:400;line-height:1.6;text-align:left;text-transform:none;position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(to top,rgba(10,14,12,.78),rgba(10,14,12,0));color:#fff}.cp-site[data-cp-section="seccion-4"] .tile figcaption small{font-style:normal;font-weight:400;line-height:1.6;text-transform:none;color:inherit;display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;opacity:.85}.cp-site[data-cp-section="seccion-4"] .tile figcaption span{font-style:normal;font-weight:400;line-height:1.6;text-transform:none;color:inherit;font-family:var(--display);font-size:20px;letter-spacing:.04em}.cp-site .grid.rv .tile{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.cp-site .grid.rv.in .tile{opacity:1;transform:none}.cp-site .grid.rv.in .tile:nth-child(4n+2){transition-delay:.08s}.cp-site .grid.rv.in .tile:nth-child(4n+3){transition-delay:.16s}.cp-site .grid.rv.in .tile:nth-child(4n+4){transition-delay:.24s}.cp-site .grid.rv.done .tile:nth-child(4n+2),.cp-site .grid.rv.done .tile:nth-child(4n+3),.cp-site .grid.rv.done .tile:nth-child(4n+4){transition-delay:0s}
@media (max-width:960px){.cp-site .grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cp-site[data-cp-section="seccion-4"] .tile figcaption{padding:32px 12px 10px}.cp-site[data-cp-section="seccion-4"] .tile figcaption span{font-size:16px;line-height:1.2;display:block}}.cp-site /* 5. proceso */
.process{padding:clamp(110px,14vw,200px) 0}.cp-site .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(60px,8vw,100px);counter-reset:s}.cp-site .step{padding:0 clamp(16px,2vw,30px) 0 0;position:relative}.cp-site .step + .step{padding-left:clamp(16px,2vw,30px);border-left:1px solid var(--line)}.cp-site .step svg{width:64px;height:64px;stroke:var(--text-primary);stroke-width:1.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.cp-site .step svg .dr{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease-out)}.cp-site .steps.in .step svg .dr{stroke-dashoffset:0}.cp-site .steps.in .step:nth-child(2) svg .dr{transition-delay:.15s}.cp-site .steps.in .step:nth-child(3) svg .dr{transition-delay:.3s}.cp-site .steps.in .step:nth-child(4) svg .dr{transition-delay:.45s}.cp-site .step .n{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:#8A4A26;margin:28px 0 12px}.cp-site .step h3{font-family:var(--display);font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.15}.cp-site .step p{color:var(--text-secondary);margin-top:12px;font-size:16px}
@media (max-width:960px){.cp-site .steps{grid-template-columns:1fr 1fr;row-gap:50px}.cp-site .step:nth-child(3){border-left:0;padding-left:0}}
@media (max-width:560px){.cp-site .steps{grid-template-columns:1fr}.cp-site .step + .step{border-left:0;padding-left:0}}.cp-site /* 6. valores */
.values{padding:clamp(90px,12vw,170px) 0;text-align:center;border-top:1px solid var(--line)}.cp-site .values blockquote{font-family:var(--display);font-weight:300;font-size:clamp(32px,4.6vw,70px);line-height:1.1;max-width:20ch;margin:0 auto}.cp-site .values p{margin-top:28px;color:var(--text-secondary)}.cp-site .values .mark{display:block;margin:0 auto 34px;width:34px;height:auto}.cp-site /* 7. marcas */
.brands{padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.cp-site .brands .label{display:block;text-align:center;color:var(--text-secondary);margin-bottom:22px}.cp-site .track{display:flex;width:max-content;animation:marquee 60s linear infinite}.cp-site .track span{font-family:var(--display);font-size:clamp(22px,2.4vw,32px);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);padding:0 clamp(24px,3vw,46px);white-space:nowrap}.cp-site .track span::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent-muted);margin-left:clamp(24px,3vw,46px);vertical-align:middle}
@keyframes marquee{to{transform:translateX(-50%)}}.cp-site /* 8. faq */
.faq{padding:clamp(110px,14vw,190px) 0}.cp-site .faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(30px,6vw,100px)}.cp-site .faq details{border-bottom:1px solid var(--line)}.cp-site .faq details:first-child{border-top:1px solid var(--line)}.cp-site .faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:26px 0;font-family:var(--display);font-size:clamp(20px,1.9vw,26px);line-height:1.25}.cp-site .faq summary::-webkit-details-marker{display:none}.cp-site .faq summary i{flex:none;width:14px;height:14px;position:relative;transition:transform .5s var(--ease-out)}.cp-site .faq summary i::before,.cp-site .faq summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor}.cp-site .faq summary i::after{transform:rotate(90deg);transition:transform .5s var(--ease-out)}.cp-site .faq details[open] summary i::after{transform:rotate(0)}.cp-site .faq details p{padding:0 40px 28px 0;color:var(--text-secondary);max-width:60ch;animation:open .6s var(--ease-out)}
@keyframes open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width:860px){.cp-site .faq-grid{grid-template-columns:1fr}}.cp-site /* 9. contacto */
.contact{background:var(--deep);color:var(--on-deep);padding:clamp(110px,13vw,180px) 0;overflow:hidden}.cp-site .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,110px);align-items:start}.cp-site .contact .kicker{color:var(--accent-light)}.cp-site .contact .lede{color:var(--on-deep-2);margin-top:24px}.cp-site .contact-photo{margin-top:46px;aspect-ratio:16/10;overflow:hidden;border-radius:2px}.cp-site .contact-photo img{width:100%;height:100%;object-fit:cover}.cp-site form{display:grid;gap:22px}.cp-site .field label,.cp-site .field legend{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--on-deep-2);margin-bottom:10px}.cp-site .field input,.cp-site .field textarea{width:100%;font:inherit;font-size:17px;color:var(--on-deep);background:transparent;border:0;border-bottom:1px solid #948A7E;padding:10px 0;border-radius:0;transition:border-color .4s var(--ease-out)}.cp-site .field textarea{resize:vertical;min-height:110px}.cp-site .field input:focus,.cp-site .field textarea:focus{outline:none;border-color:var(--accent-light)}.cp-site .field input::placeholder,.cp-site .field textarea::placeholder{color:#A69C90}.cp-site fieldset{border:0}.cp-site .chips{display:flex;flex-wrap:wrap;gap:10px}.cp-site .chips label{margin:0;cursor:pointer}.cp-site .chips input{position:absolute;opacity:0}.cp-site .chips span{display:inline-flex;align-items:center;min-height:42px;padding:8px 18px;border:1px solid #948A7E;border-radius:999px;font-family:var(--body);font-size:15px;letter-spacing:0;text-transform:none;color:var(--on-deep);transition:background-color .35s var(--ease-out),border-color .35s var(--ease-out)}.cp-site .chips input:checked + span{background:var(--on-deep);color:var(--deep);border-color:var(--on-deep)}.cp-site .chips input:focus-visible + span{outline:2px solid var(--accent-light);outline-offset:3px}.cp-site .form-ok{display:none;padding:22px 24px;border:1px solid var(--accent-light);border-radius:4px;color:var(--on-deep)}.cp-site form.sent .form-ok{display:block;animation:open .6s var(--ease-out)}.cp-site .contact .btn-primary{justify-self:start}.cp-site .direct{margin-top:40px;display:grid;gap:8px;font-size:15px;color:var(--on-deep-2)}.cp-site .direct a{color:var(--on-deep);text-decoration:none;border-bottom:1px solid rgba(238,234,226,.3)}.cp-site .direct a:hover{border-color:var(--accent-light)}
@media (max-width:860px){.cp-site .contact-grid{grid-template-columns:1fr}}.cp-site footer{background:#3B352F;color:var(--on-deep-2);padding:60px 0 40px;font-size:14px}.cp-site .foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px;align-items:flex-start}.cp-site .foot .brand{color:var(--on-deep)}.cp-site .foot ul{list-style:none;display:grid;gap:6px}.cp-site .foot a{text-decoration:none}.cp-site .foot a:hover{color:var(--on-deep)}.cp-site .legal{margin-top:46px;padding-top:20px;border-top:1px solid rgba(238,234,226,.12);font-size:12.5px}.cp-site.paused *,.cp-site.paused *::before,.cp-site.paused *::after{animation-play-state:paused!important}.cp-site .off *,.cp-site .off *::before,.cp-site .off *::after{animation-play-state:paused!important}

@media (prefers-reduced-motion: reduce){.cp-site *,.cp-site *::before,.cp-site *::after{animation:none!important;transition:none!important;transition-delay:0s!important}.cp-site{scroll-behavior:auto}.cp-site .rv .part,.cp-site .grid.rv .tile,.cp-site .worry .part,.cp-site .f-media .second{opacity:1!important;transform:none!important}.cp-site .f-media img,.cp-site .story-photo img{transform:none!important}.cp-site .step svg .dr{stroke-dashoffset:0!important}.cp-site .worry p::before{transform:scaleX(1)!important}.cp-site .sig{--d:1!important}
}

.cp-site{width:100%;color:var(--text-primary);font-family:var(--body)}.elementor-widget[class*="palacios-"]{min-width:0;max-width:100%;width:100%}.cp-site button,.cp-site a{font-family:inherit}.cp-site .rv .part,.cp-site .grid.rv .tile,.cp-site .worry .part{opacity:1;transform:none}.cp-site .sig{--d:1}.cp-site .feature,.cp-site .steps,.cp-site .worry{opacity:1}.cp-site{overflow:visible;animation:none}.cp-site .nav{top:0}.admin-bar .cp-site .nav{top:32px}.cp-site .static-hero{background-size:cover;background-position:center}.elementor-widget-palacios-portada .cp-site{overflow:visible}@media(max-width:782px){.admin-bar .cp-site .nav{top:46px}}

.cp-site .cp-no-video .hero{display:none!important}.cp-site .cp-no-video .static-hero{display:flex!important;position:relative;min-height:100vh;align-items:flex-end;padding:120px var(--gutter) 64px;color:#fff}.cp-site .cp-no-video .static-hero .inner{position:relative;max-width:640px}.cp-site .cp-no-video .static-hero h1{font-family:var(--display);font-size:clamp(36px,6vw,72px);line-height:1.1}.cp-site .cp-no-video .static-hero .btn{margin-top:28px}

/* Elementor owns the outer container and its positioning. */
.cp-site{min-width:0;max-width:100%;width:100%}
.cp-site.cp-content-full{--cp-content-max:var(--cp-site-width,1140px)}
.cp-site .wrap{width:100%;max-width:var(--cp-content-max,100%);margin-inline:auto}
.cp-site[data-cp-section="cabecera"]{background:transparent}
.cp-site[data-cp-section="cabecera"] .nav{position:relative;inset:auto;width:100%;max-width:100%;min-height:84px;margin:0;padding:18px var(--gutter);transition:background-color .3s,color .3s}
.cp-site .cp-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-width:0;max-width:var(--cp-content-max,100%);margin-inline:auto}
.cp-site[data-cp-section="cabecera"] .nav .brand{flex-shrink:0}
.cp-site[data-cp-section="cabecera"] .nav .brand img{max-width:100%;object-fit:contain}
.cp-site[data-cp-section="cabecera"] .nav-links{margin:0;padding:0;list-style:none;min-width:0;flex-wrap:wrap;justify-content:flex-end;line-height:1.5}
.cp-site[data-cp-section="cabecera"] .nav-links li{margin:0;padding:0;list-style:none}
.cp-site[data-cp-section="cabecera"] .nav-links a{color:inherit;box-shadow:none}
.cp-site[data-cp-section="cabecera"] .nav-links a.btn-primary{color:#fff}
.cp-site.cp-header-light .nav,.cp-site.cp-header-light .nav.solid{background:var(--canvas);color:var(--text-primary);backdrop-filter:none}
.cp-site.cp-header-light .nav .brand .logo-dark{opacity:1}
.cp-site.cp-header-light .nav .brand .logo-light{opacity:0}
.cp-site.cp-header-transparent .nav:not(.solid){background:transparent;color:#fff}
.cp-site.cp-header-transparent .nav:not(.solid) .logo-dark{opacity:0}
.cp-site.cp-header-transparent .nav:not(.solid) .logo-light{opacity:1}
.elementor-editor-active .cp-site[data-cp-section="cabecera"] .nav,.elementor-edit-area-active .cp-site[data-cp-section="cabecera"] .nav{position:relative!important;inset:auto!important;transform:none;min-height:84px}
@media(max-width:560px){.cp-site[data-cp-section="cabecera"] .nav{padding-top:12px;padding-bottom:12px;min-height:74px}.cp-site .cp-nav-inner{gap:12px}.cp-site[data-cp-section="cabecera"] .nav .brand img{height:50px}}

.cp-site[data-cp-section="cabecera"] .nav .brand{max-width:40%}

/* Full background, centered content using Elementor's global content width. */
.cp-site .wrap{max-width:var(--cp-content-max,var(--cp-site-width,1140px));width:100%;margin-inline:auto;padding-inline:var(--gutter)}
.cp-site[data-cp-section="cabecera"] .nav{padding-inline:0}
.cp-site .cp-nav-inner{max-width:var(--cp-content-max,var(--cp-site-width,1140px));width:100%;margin-inline:auto;padding-inline:var(--gutter)}
.cp-site .band{left:max(var(--gutter),calc((100% - var(--cp-content-max,var(--cp-site-width,1140px))) / 2 + var(--gutter)))}
.cp-site .static-hero{padding-left:max(var(--gutter),calc((100% - var(--cp-content-max,var(--cp-site-width,1140px))) / 2 + var(--gutter)));padding-right:var(--gutter)}
.cp-site .cp-no-video .static-hero{padding-left:max(var(--gutter),calc((100% - var(--cp-content-max,var(--cp-site-width,1140px))) / 2 + var(--gutter)))}

/* Scroll cover: never depend on unrelated page widgets or editor-only short blocks. */
.cp-scroll-ancestor{overflow:visible!important}
.cp-site[data-cp-section="portada"]{display:block;position:relative;width:100%;height:auto;min-height:100vh;overflow:visible}
.cp-site[data-cp-section="portada"] #top{display:block;position:relative;width:100%;height:auto;margin:0;padding:0}
.cp-site[data-cp-section="portada"] .hero{display:block;position:relative;height:500vh;min-height:500vh;margin:0;padding:0;overflow:visible}
.cp-site[data-cp-section="portada"] .stage{display:block;position:sticky;top:0;width:100%;height:100vh;height:100svh;min-height:100svh;overflow:hidden}
.cp-site[data-cp-section="portada"] .stage video{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.cp-site[data-cp-section="portada"] .static-hero{display:none;position:relative;width:100%;min-height:100vh;min-height:100svh;align-items:flex-end;padding:120px var(--gutter) 64px;background-color:var(--deep);background-position:center;background-size:cover;color:#fff;text-shadow:var(--tshadow)}
.cp-site[data-cp-section="portada"] .static-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,12,10,.6),rgba(8,12,10,0) 22%),linear-gradient(to top,rgba(8,12,10,.86) 0%,rgba(8,12,10,.5) 45%,rgba(8,12,10,.2) 100%)}
.cp-site[data-cp-section="portada"] .static-hero .inner{position:relative;max-width:640px}
.cp-site[data-cp-section="portada"] .static-hero .label{color:#F0DCC8;display:block;margin-bottom:16px}
.cp-site[data-cp-section="portada"] .static-hero h1{font-family:var(--display);font-weight:300;font-size:clamp(36px,9vw,64px);line-height:1.05}
.cp-site[data-cp-section="portada"] .static-hero p{margin-top:18px;color:#F2EFEA;max-width:40ch}
.cp-site[data-cp-section="portada"] .static-hero .btn{margin-top:28px;text-shadow:none}
.cp-site[data-cp-section="portada"] .static-hero{padding-left:max(var(--gutter),calc((100% - var(--cp-content-max,var(--cp-site-width,1140px))) / 2 + var(--gutter)))}
.cp-site.cp-hero-static[data-cp-section="portada"] .hero{display:none}
.cp-site.cp-hero-static[data-cp-section="portada"] .static-hero{display:flex}
@media (max-width:720px),(orientation:portrait) and (max-width:1024px),(orientation:portrait) and (pointer:coarse),(orientation:landscape) and (pointer:coarse) and (max-height:560px),(prefers-reduced-motion:reduce){
.cp-site[data-cp-section="portada"] .hero{display:none}
.cp-site[data-cp-section="portada"] .static-hero{display:flex}
}

/* Theme Builder header overlays the hero without reserving layout height. */
body{--cp-admin-offset:0px}
body.admin-bar{--cp-admin-offset:32px}
@media(max-width:782px){body.admin-bar{--cp-admin-offset:46px}}
body:not(.elementor-editor-active) .cp-overlay-host,
body:not(.elementor-editor-active) .elementor-location-header:has(.cp-header-overlay){position:fixed!important;inset:var(--cp-admin-offset) 0 auto!important;width:100%;max-width:100%;margin:0!important;z-index:1000;background:transparent!important;box-shadow:none!important}
.cp-overlay-host>.elementor-section,.cp-overlay-host>.e-con,.cp-overlay-host .elementor-container,.cp-overlay-host .elementor-widget-wrap{background:transparent!important}
.cp-site.cp-header-overlay .nav:not(.solid){background:transparent!important;color:#fff;backdrop-filter:none;box-shadow:none}
.cp-site.cp-header-overlay .nav:not(.solid) .brand .logo-light{opacity:1}
.cp-site.cp-header-overlay .nav:not(.solid) .brand .logo-dark{opacity:0}
.cp-site.cp-header-overlay .nav.solid{background:rgba(233,231,226,.94);color:var(--text-primary);backdrop-filter:blur(14px)}
.elementor-editor-active .cp-overlay-host{position:relative!important;inset:auto!important}

.cp-site .cp-project-no-image{width:100%;height:100%;min-height:240px;background:var(--panel)}

/* Compact header and a keyboard-accessible navigation disclosure. */
.cp-site[data-cp-section="cabecera"] .cp-nav-panel,
.cp-site[data-cp-section="cabecera"] .cp-nav-drawer { display: contents; }
.cp-site[data-cp-section="cabecera"] .cp-nav-backdrop,
.cp-site[data-cp-section="cabecera"] .cp-nav-drawer-head { display: none; }
.cp-site[data-cp-section="cabecera"] .cp-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: 8px;
  color: inherit;
  background: transparent;
  cursor: pointer;
}
.cp-site .cp-menu-toggle .cp-menu-icon-close,
.cp-site .cp-menu-open .cp-menu-toggle .cp-menu-icon-open { display: none; }
.cp-site .cp-menu-open .cp-menu-toggle .cp-menu-icon-close { display: inline; }

@media (max-width: 980px) {
  .cp-site[data-cp-section="cabecera"] .nav.cp-menu-ready {
    min-height: 64px;
    padding-block: 10px;
    backdrop-filter: none;
  }
  .cp-site[data-cp-section="cabecera"] .cp-nav-inner {
    gap: 12px;
    padding-inline: clamp(16px, 4vw, 28px);
  }
  .cp-site[data-cp-section="cabecera"] .nav.cp-menu-ready .brand {
    max-width: min(65%, 200px);
  }
  .cp-site[data-cp-section="cabecera"] .nav.cp-menu-ready .brand img {
    max-height: 44px;
  }
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .cp-menu-toggle { display: inline-flex; }
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .cp-nav-panel {
    position: fixed;
    inset: var(--cp-admin-offset, 0px) 0 0;
    z-index: 2;
    display: grid;
    justify-items: end;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
    transition: visibility 0s .25s;
  }
  .cp-site[data-cp-section="cabecera"] .cp-menu-open .cp-nav-panel {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .cp-nav-backdrop {
    position: absolute;
    inset: 0;
    display: block;
    background: rgba(10, 14, 12, .56);
    opacity: 0;
    transition: opacity .25s var(--ease-out);
    touch-action: none;
  }
  .cp-site[data-cp-section="cabecera"] .cp-menu-open .cp-nav-backdrop { opacity: 1; }
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .cp-nav-drawer {
    position: relative;
    display: block;
    width: min(84vw, 360px);
    height: 100%;
    min-height: 0;
    padding: 16px clamp(16px, 4vw, 28px) 24px;
    padding-bottom: max(24px, env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--canvas);
    color: var(--text-primary);
    box-shadow: -8px 0 28px rgba(10, 14, 12, .2);
    transform: translateX(100%);
    transition: transform .25s var(--ease-out);
  }
  .cp-site[data-cp-section="cabecera"] .cp-menu-open .cp-nav-drawer { transform: translateX(0); }
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .cp-nav-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 48px;
    margin-bottom: 14px;
    font-family: var(--display);
    font-size: 22px;
  }
  .cp-site[data-cp-section="cabecera"] .cp-menu-close {
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid currentColor;
    border-radius: 8px;
    background: transparent;
    color: inherit;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
  }
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .nav-links {
    display: grid;
    gap: 0;
    justify-content: stretch;
  }
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .nav-links li {
    display: block;
    border-top: 1px solid var(--line);
  }
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .nav-links a {
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 10px 0;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0;
  }
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .nav-links .wa {
    border: 0;
    border-radius: 0;
    padding: 10px 0 !important;
  }
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .nav-links .cta {
    padding-top: 14px;
  }
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .nav-links .cta a {
    justify-content: center;
    padding-inline: 12px;
    text-align: center;
  }
}
@media (max-width: 560px) {
  .cp-site[data-cp-section="seccion-4"] .more-head { flex-wrap: wrap; gap: 8px 16px; }
  .cp-site[data-cp-section="seccion-4"] .tile figcaption span { overflow-wrap: anywhere; }
  .cp-site .contact-grid > *, .cp-site .contact .field { min-width: 0; }
  .cp-site .direct, .cp-site .foot { overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .cp-nav-panel,
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .cp-nav-backdrop,
  .cp-site[data-cp-section="cabecera"] .cp-menu-ready .cp-nav-drawer { transition: none; }
}


@media (max-width: 720px) {
  .cp-site[data-cp-section="portada"] { min-height: 0; }
  .cp-site[data-cp-section="portada"] .static-hero {
    min-height: clamp(340px, 64vh, 500px);
    min-height: clamp(340px, 64svh, 500px);
    padding-block: 88px 28px;
  }
  .cp-site[data-cp-section="portada"] .static-hero .label { margin-bottom: 10px; }
  .cp-site[data-cp-section="portada"] .static-hero h1 { font-size: clamp(32px, 8.5vw, 52px); }
  .cp-site[data-cp-section="portada"] .static-hero p { margin-top: 12px; }
  .cp-site[data-cp-section="portada"] .static-hero .btn { margin-top: 18px; }
}
