:root{--paper:#f6f3ed;--ink:#292923;--muted:#68665c;--line:#dcd6cb;--olive:#3d4739;--sand:#e8dfd0;--wood:#92694a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid var(--wood)}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.1;margin:0 0 24px}h1{font-size:clamp(44px,5.8vw,84px);letter-spacing:-2px}h2{font-size:clamp(34px,4vw,53px);letter-spacing:-1px}h3{font-size:27px}p{margin:0 0 22px}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2.8px;display:block;margin-bottom:22px}.skip{position:absolute;left:20px;top:-60px;background:white;padding:12px;z-index:50}.skip:focus{top:12px}.topbar{text-align:center;background:var(--olive);color:white;font-size:10px;letter-spacing:2px;padding:8px}header{background:var(--paper);border-bottom:1px solid var(--line);padding:19px 4vw;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;z-index:10}.logo{width:250px;flex-shrink:0}.logo img{height:65px;object-fit:contain}.nav{display:flex;align-items:center;gap:24px;font-size:12px}.nav details{position:relative}.nav summary{cursor:pointer;list-style:none}.nav summary:after{content:' +';color:var(--wood)}.mega{position:absolute;top:35px;right:-100px;min-width:660px;background:var(--paper);box-shadow:0 12px 40px #0002;padding:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border:1px solid var(--line)}.mega a{padding:5px}.mega a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:15px 23px;border:1px solid var(--olive);background:var(--olive);color:white;font-size:12px;letter-spacing:.8px;min-height:48px}.button.light{background:transparent;color:var(--ink);border-color:var(--line)}.button.white{background:var(--paper);color:var(--ink);border-color:var(--paper)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:10px 13px}.wrap{max-width:1400px;margin:auto;padding:75px 6vw}.hero{display:grid;grid-template-columns:46% 54%;min-height:665px}.hero-copy{padding:85px 5vw 70px 6vw;display:flex;flex-direction:column;justify-content:center}.hero-copy p{color:var(--muted);max-width:450px;font-size:16px}.hero-photo{position:relative;min-height:580px;overflow:hidden}.hero-photo img{height:100%;position:absolute;inset:0;object-position:center}.hero-photo .caption{position:absolute;bottom:20px;left:24px;color:white;background:#262922b3;padding:6px 12px;font-size:10px;letter-spacing:1.4px}.actions{display:flex;flex-wrap:wrap;gap:12px}.hero small{display:block;margin-top:30px;color:var(--muted);font-size:11px}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 6vw;display:flex;justify-content:space-between;gap:15px;font-size:10px;text-transform:uppercase;letter-spacing:1.6px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}.section-head p{max-width:400px;color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card img{aspect-ratio:4/4.5;transition:filter .2s}.card:hover img{filter:brightness(.9)}.card figcaption,.card-content{padding:18px 0}.card h3{font-size:28px;margin:0 0 9px}.card p{font-size:12px;color:var(--muted);margin:0}.card .arrow{float:right}.editorial{display:grid;grid-template-columns:1fr 1fr;background:var(--sand)}.editorial img{height:100%;min-height:480px;max-height:650px}.editorial div{padding:80px 7vw;align-self:center}.text-link{border-bottom:1px solid var(--ink);padding-bottom:7px;font-size:12px;display:inline-block}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.process span{font:30px Georgia;color:var(--wood);display:block;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.process h3{font-size:24px}.process p{font-size:13px;color:var(--muted)}.dark{background:var(--olive);color:var(--paper)}.dark p{color:#d7dacf}.dark .text-link{border-color:var(--paper)}.two{display:grid;grid-template-columns:1fr 1fr;gap:55px}.municipal-links{display:flex;flex-wrap:wrap;gap:9px}.pill{border:1px solid var(--line);padding:9px 15px;font-size:12px;display:inline-block}.pill:hover,.pill.active{background:var(--olive);color:white}.dark .pill:hover{background:var(--paper);color:var(--ink)}.cta-block{text-align:center;padding:75px 25px;background:var(--sand)}.cta-block p{color:var(--muted)}footer{padding:55px 6vw 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-grid p{font-size:13px;color:var(--muted);max-width:340px}.footer-grid h3{font:12px Arial;text-transform:uppercase;letter-spacing:2px}.footer-grid a{display:block;font-size:13px;margin-bottom:9px}.footer-grid .logo{margin-bottom:20px}.footer-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.breadcrumb{font-size:11px;color:var(--muted);padding:22px 6vw}.page-head{padding:45px 6vw 60px;max-width:1000px}.page-head h1{font-size:clamp(40px,5vw,68px)}.page-head p{color:var(--muted);max-width:650px}.subgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.subgrid a{background:var(--paper);padding:20px 24px;font-size:14px}.subgrid a:hover{background:var(--sand)}.subgrid a span{float:right}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery figure{margin:0}.gallery img{aspect-ratio:4/4;cursor:zoom-in}.gallery figcaption{font-size:11px;color:var(--muted);padding-top:8px}.note{background:var(--sand);padding:16px 20px;font-size:13px;color:var(--muted);margin:22px 0;border-left:3px solid var(--wood)}.questions{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.questions p{font-size:14px;color:var(--muted)}.form-shell{max-width:840px;margin:0 auto;padding:25px 25px 75px}.form-shell h2{font-size:36px}.progress{display:flex;gap:7px;margin-bottom:30px}.progress span{height:3px;background:var(--line);flex:1}.progress span.on{background:var(--olive)}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choice{background:transparent;text-align:left;border:1px solid var(--line);padding:20px 16px;min-height:75px}.choice.selected{border:2px solid var(--olive);background:var(--sand)}label{display:block;margin:17px 0 6px;font-size:13px}input:not([type=checkbox]),select,textarea{width:100%;padding:13px;border:1px solid #b9b2a5;background:#fffdf9;border-radius:0;color:var(--ink)}textarea{min-height:145px;resize:vertical}.form-nav{display:flex;justify-content:space-between;margin-top:35px;gap:15px}.error{color:#9e2828;font-size:13px;margin-top:12px}.upload-zone{border:1px dashed #a9a08e;padding:25px;background:#fffdf9}.file-list{font-size:12px}.file-list button{background:none;border:0;text-decoration:underline;margin-left:10px}.draw-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:15px 0}.draw-tools button{padding:8px 12px;border:1px solid var(--line);background:white}.draw-tools input[type=color]{width:55px;padding:2px}canvas{width:100%;height:300px;background:white;border:1px solid var(--line);touch-action:none;display:block}.form-panel[hidden]{display:none}.summary dl{display:grid;grid-template-columns:150px 1fr;gap:10px;font-size:14px}.summary dt{color:var(--muted)}.summary dd{margin:0;overflow-wrap:anywhere}.check{display:flex;gap:12px;align-items:start;font-size:13px}.check input{margin-top:6px;flex-shrink:0}.legal{max-width:900px}.legal h2{font-size:28px;margin-top:35px}.legal p,.legal li{font-size:14px;color:var(--muted)}.search{max-width:500px;margin:0 0 25px}.municipal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 20px}.municipal-grid a{padding:10px;border-bottom:1px solid var(--line);font-size:13px}.municipal-grid a:hover{background:var(--sand)}.mobile-cta{display:none}.empty{padding:40px;border:1px solid var(--line);max-width:650px}.article{max-width:850px}.article h2{font-size:30px;margin-top:40px}.article p{color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}.filters button{background:transparent;cursor:pointer}.filters button.active{background:var(--olive);color:white}.gallery-item[hidden]{display:none}dialog{border:0;padding:0;background:#262923;color:white;max-width:95vw;max-height:95vh}dialog::backdrop{background:#000c}dialog img{object-fit:contain;max-height:80vh;width:auto;max-width:92vw}dialog button{background:var(--paper);padding:12px 20px;border:0;float:right}.form-step-label{font-size:11px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}hr{border:0;border-top:1px solid var(--line);margin:35px 0}.concierge-result{padding:20px;background:var(--sand);margin-top:20px}.badge{display:inline-block;font-size:10px;letter-spacing:1px;border:1px solid var(--line);padding:6px 9px;margin-bottom:20px}.mockup-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mockup-grid img{aspect-ratio:4/3}.mockup-grid figcaption{font-size:12px}.no-photo{background:var(--sand);padding:40px}.muted{color:var(--muted)}
@media(min-width:1600px){.hero{max-width:1600px;margin:auto}.hero-copy{padding-left:80px}.wrap{padding-left:60px;padding-right:60px}}
@media(max-width:1100px){.nav{gap:15px}.logo{width:210px}.nav .nav-optional{display:none}.hero-copy{padding-top:65px}.hero{min-height:600px}.hero-photo{min-height:550px}.mega{right:-180px}.grid{gap:18px}}
@media(max-width:760px){body{font-size:15px}.topbar{font-size:9px;letter-spacing:1.4px}header{padding:12px 5vw}.logo{width:200px}.logo img{height:52px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:77px;background:var(--paper);padding:25px;border-bottom:1px solid var(--line);align-items:stretch;font-size:15px;max-height:80vh;overflow:auto}.nav.open{display:flex;flex-direction:column}.nav .nav-optional{display:block}.nav .button{margin-top:10px}.mega{position:static;min-width:0;box-shadow:none;margin-top:15px;grid-template-columns:1fr 1fr;padding:15px;font-size:13px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:45px 6vw 38px}.hero-copy p{font-size:14px}.hero h1{font-size:49px;letter-spacing:-1.5px}.hero-photo{min-height:390px}.hero small{margin-top:20px}.strip{font-size:9px;letter-spacing:1px;display:grid;grid-template-columns:1fr 1fr;padding:18px 6vw}.wrap{padding:50px 6vw}.section-head{display:block;margin-bottom:25px}.section-head p{max-width:100%}.grid{grid-template-columns:1fr 1fr;gap:24px 14px}.card h3{font-size:23px}.card p{font-size:11px}.card img{aspect-ratio:4/5}.editorial{grid-template-columns:1fr}.editorial img{min-height:340px;max-height:420px}.editorial div{padding:45px 6vw}.process{grid-template-columns:1fr 1fr;gap:20px}.process p{font-size:12px}.two{grid-template-columns:1fr;gap:30px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block;padding-bottom:60px}.footer-bottom span{display:block;margin-bottom:8px}.subgrid{grid-template-columns:1fr 1fr}.subgrid a{padding:17px 14px;font-size:12px}.gallery{grid-template-columns:1fr 1fr;gap:15px}.questions{grid-template-columns:1fr;gap:8px}.choice-grid{grid-template-columns:1fr 1fr}.choice{font-size:13px}.municipal-grid{grid-template-columns:1fr 1fr}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:15;background:var(--paper);border-top:1px solid var(--line);padding:8px 16px;justify-content:center}.mobile-cta .button{width:100%;max-width:450px;padding:10px}.page-head{padding-top:25px}.page-head h1{font-size:42px}.summary dl{grid-template-columns:100px 1fr}.mockup-grid{grid-template-columns:1fr}.form-shell{padding:15px 6vw 95px}.eyebrow{font-size:10px;letter-spacing:2px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Contacto DECOGRANADA v0.1.2 */
.deco-nav-contact{display:none}.deco-mobile-contact{display:none}
@media(max-width:760px){.deco-nav-contact{display:flex;gap:10px;flex-wrap:wrap}.mobile-cta{gap:8px;align-items:center}.deco-mobile-contact{display:flex;gap:6px;flex-shrink:0}.deco-mobile-contact .pill{font-size:11px;padding:11px 9px}.mobile-cta>.button{font-size:11px;padding:11px 8px;width:auto;flex:1;min-width:0}.deco-mobile-contact .pill:first-child{font-size:0}.deco-mobile-contact .pill:first-child::after{content:'Llamar';font-size:11px}}
/* Presupuesto y CRM v0.2 */
.deco-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.deco-success{padding:20px;background:#e2e9dc;border-left:3px solid #3d4739;color:#263423;font-size:15px}.form-nav{flex-wrap:wrap}#deco-send{flex:1;min-width:200px}.gallery+.gallery{margin-top:20px}
