:root{--forest:#202124;--forest-deep:#18191b;--sage:#bd2934;--lime:#e24a52;--cream:#f5f4f2;--paper:#fff;--ink:#262629;--muted:#747477;--line:#dedede;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope','DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.site-header{height:104px;padding:0 6.4%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:5}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--forest)}.brand-logo{display:block;width:230px;height:90px;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600;color:#39393c}.main-nav>a:not(.nav-cta){transition:color .2s}.main-nav>a:not(.nav-cta):hover{color:var(--sage)}.nav-cta{display:flex;gap:18px;align-items:center;background:var(--sage);color:#fff;padding:17px 20px;font-size:14px}.nav-cta span{color:#fff;font-size:18px}.menu-toggle{display:none}.hero{height:min(730px,calc(100vh - 104px));min-height:600px;position:relative;display:flex;align-items:center;color:white;background:var(--forest-deep);overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background-image:linear-gradient(100deg,rgba(24,25,27,.81),rgba(24,25,27,.34)),url('furgoneta-arm-north-lateral.jpg');background-size:cover;background-position:center 53%;transform:scale(1.01)}.hero-shade{background:linear-gradient(90deg,rgba(24,25,27,.4) 0%,rgba(24,25,27,.14) 50%,rgba(24,25,27,.08) 100%),linear-gradient(0deg,rgba(24,25,27,.3),transparent 60%)}.hero-content{position:relative;z-index:1;margin-left:14.1%;margin-top:-8px;max-width:720px}.eyebrow{font-size:14px;font-weight:700;letter-spacing:2.7px;display:flex;align-items:center;gap:10px}.eyebrow span{height:7px;width:7px;background:var(--lime);border-radius:50%}.light{color:#fff}.hero h1{font:500 clamp(64px,7.4vw,100px)/.99 var(--display);letter-spacing:-5.8px;margin:30px 0 20px}.hero h1 em,.intro h2 em,.services h2 em,.projects h2 em,.approach h2 em,.contact h2 em{font-family:var(--serif);font-weight:400}.hero h1 em{color:#f17b7e;letter-spacing:-4px}.hero-copy{font-size:19px;line-height:1.8;color:rgba(255,255,255,.94);max-width:510px}.hero-actions{display:flex;align-items:center;gap:29px;margin-top:34px}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 22px;font:700 14px var(--sans);cursor:pointer}.button span{font-size:18px}.button-light{background:#fff;color:var(--forest)}.button-light span{color:var(--sage)}.hero-quote{width:min(100%,400px);min-height:82px;gap:18px;padding:20px 24px;box-shadow:0 14px 35px #0003}.hero-quote .quote-icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid #e1c8ca;color:var(--sage);font-size:22px}.hero-quote .quote-label{flex:1;text-align:left;font-size:17px;letter-spacing:.4px}.hero-quote .quote-arrow{font-size:25px}.text-link{font-size:14px;font-weight:700;display:inline-flex;gap:12px;align-items:center;border-bottom:1px solid #8b978f;padding-bottom:8px}.text-link span{font-size:18px}.light-link{border-color:rgba(255,255,255,.55);color:white}.hero-note{position:absolute;z-index:1;bottom:33px;left:14.1%;display:flex;gap:16px;align-items:center;font-size:12px;letter-spacing:1.5px;color:rgba(255,255,255,.85)}.hero-note i{height:1px;width:48px;background:var(--lime)}.hero-vertical{position:absolute;right:4.7%;bottom:38px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:2.4px;color:rgba(255,255,255,.84)}.section-wrap{padding-left:14.1%;padding-right:14.1%}.intro{padding-top:125px;padding-bottom:100px}.section-kicker{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:2px;color:#59595d}.section-kicker>span{color:var(--sage)}.section-kicker i{height:1px;width:30px;background:#a8a8aa}.intro-main{display:grid;grid-template-columns:1.5fr .62fr;align-items:end;gap:70px;margin-top:38px}.intro h2,.services h2,.projects h2,.approach h2,.contact h2{font:500 clamp(42px,4.5vw,63px)/1.15 var(--display);letter-spacing:-2.3px;margin:0;color:var(--forest)}.intro h2 em,.projects h2 em,.contact h2 em{color:var(--sage)}.intro-aside{max-width:360px;padding-bottom:6px}.intro-aside p,.projects-head>p{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 21px}.intro-aside .text-link{color:var(--forest)}.intro-bottom{display:flex;justify-content:space-between;margin-top:75px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;letter-spacing:1.4px;color:#8b8b8e}.services{background:var(--forest);color:#fff;padding:100px 0 110px}.services-inner{padding-left:14.1%;padding-right:14.1%}.services-heading{display:flex;justify-content:space-between;align-items:end;margin:40px 0 48px;gap:30px}.services h2{color:#f3f2f2}.services h2 em{color:#f17b7e}.services-heading>p{max-width:320px;font-size:15px;line-height:1.8;color:#d0d0d1;margin:0 0 7px}.service-list{border-top:1px solid rgba(255,255,255,.22)}.service-row{display:grid;grid-template-columns:45px 1fr 1.1fr 22px;gap:18px;align-items:center;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.22)}.service-number{font-size:12px;color:#f17b7e}.service-row h3{font:600 20px var(--display);margin:0}.service-row p{font-size:14px;line-height:1.7;color:#d0d0d1;margin:0;max-width:340px}.service-arrow{color:#f17b7e;font-size:20px}.projects{padding-top:115px;padding-bottom:110px}.projects-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:38px;margin-bottom:52px}.projects-head>p{max-width:370px;margin-bottom:6px}.project-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:46px 26px;align-items:start}.project-card:nth-child(even){margin-top:74px}.project-photo{position:relative;overflow:hidden;background-color:#e5e4e2;background-size:cover;background-position:center;min-height:310px}.project-large .project-photo{height:390px}.project-small .project-photo{height:320px}.luanco-demolition{background-image:url('bano-luanco-demolicion.jpg')}.luanco-tiling-one{background-image:url('bano-luanco-alicatado-01.jpg')}.luanco-tiling-two{background-image:url('bano-luanco-alicatado-02.jpg')}.salon-before{background-image:url('salon-gijon-antes-01.jpg')}.salon-before-detail{background-image:url('salon-gijon-antes-02.jpg')}.salon-after{background-image:url('salon-gijon-despues.jpg')}.local-corrida-one{background-image:url('local-corrida-en-proceso-01.jpg')}.local-corrida-two{background-image:url('local-corrida-en-proceso-02.jpg')}.local-corrida-three{background-image:url('local-corrida-en-proceso-03.jpg')}.local-corrida-four{background-image:url('local-corrida-en-proceso-04.jpg')}.luanco-demolition{background-image:url('bano-luanco-demolicion.jpg')}.luanco-tiling-one{background-image:url('bano-luanco-alicatado-01.jpg')}.luanco-tiling-two{background-image:url('bano-luanco-alicatado-02.jpg')}.salon-before{background-image:url('salon-gijon-antes-01.jpg')}.salon-before-detail{background-image:url('salon-gijon-antes-02.jpg')}.salon-after{background-image:url('salon-gijon-despues.jpg')}.local-corrida-one{background-image:url('local-corrida-en-proceso-01.jpg')}.local-corrida-two{background-image:url('local-corrida-en-proceso-02.jpg')}.local-corrida-three{background-image:url('local-corrida-en-proceso-03.jpg')}.local-corrida-four{background-image:url('local-corrida-en-proceso-04.jpg')}.photo-van-side{background-image:url('furgoneta-arm-north-lateral.jpg')}.photo-van-rear{background-image:url('furgoneta-arm-north-trasera.jpg')}.photo-inspiration-one{background-image:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1100&q=82')}.photo-inspiration-two{background-image:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1100&q=82')}.project-placeholder{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.92);color:#626266;padding:9px 11px;font-size:11px;letter-spacing:1px}.project-caption{display:flex;justify-content:space-between;align-items:center;padding-top:17px}.project-caption h3{font:600 17px var(--display);color:var(--forest);margin:0 0 6px}.project-caption p{font-size:13px;color:var(--muted);margin:0}.project-caption>span{font-size:19px;color:var(--sage)}.project-note{font-size:12px;line-height:1.7;color:#858588;margin:48px 0 0;text-align:center}.approach{display:grid;grid-template-columns:.92fr 1.08fr;background:var(--forest-deep);color:#fff;min-height:680px}.approach-image{background-image:linear-gradient(rgba(24,25,27,.12),rgba(24,25,27,.12)),url('furgoneta-arm-north-trasera.jpg');background-size:cover;background-position:center}.approach-content{padding:95px 13% 85px 12%}.approach h2{color:#f5f4f2;font-size:clamp(40px,3.8vw,54px);margin:34px 0 22px}.approach h2 em{color:#f17b7e}.approach-content>p{font-size:15px;line-height:1.9;color:#d0d0d1;max-width:480px;margin:0}.steps{margin-top:35px}.steps>div{display:flex;align-items:start;gap:18px;border-top:1px solid rgba(255,255,255,.19);padding:16px 0}.steps>div>span{font-size:12px;color:#f17b7e;margin-top:3px}.steps p{margin:0}.steps b{display:block;font-size:14px;font-weight:600}.steps small{display:block;font-size:13px;color:#c5c5c6;margin-top:4px}.contact{padding-top:120px;padding-bottom:115px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:11%;margin-top:42px}.contact h2{font-size:clamp(44px,4.2vw,60px)}.contact-copy>p{max-width:390px;font-size:16px;color:var(--muted);line-height:1.8;margin:22px 0 40px}.contact-details{display:grid;gap:24px}.contact-details span{font-size:11px;letter-spacing:1.5px;font-weight:700;color:#818184}.contact-details p{font-size:15px;line-height:1.8;color:var(--forest);margin:7px 0 0}.contact-details a{border-bottom:1px solid #cbd1c8}.contact-form{display:flex;flex-direction:column;gap:20px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label:not(.consent){display:flex;flex-direction:column;gap:10px;font-size:13px;font-weight:600;color:#4b4b4e}.contact-form input:not([type=checkbox]):not([type=file]),.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #ccc;border-radius:0;background:transparent;padding:11px 0 14px;font:400 15px var(--sans);color:var(--ink);outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--sage)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a1a1a4}.contact-form select{color:#858588;appearance:none}.contact-form textarea{resize:vertical;min-height:70px}.consent{display:flex;align-items:center;gap:10px;font-size:12px;color:#6d6d70}.consent input{accent-color:var(--sage);width:16px;height:16px}.consent a{text-decoration:underline}.photo-upload{gap:10px!important}.upload-heading{font-size:13px;font-weight:600;color:#4b4b4e}.upload-heading small{font-weight:400;color:var(--muted)}.upload-control{display:flex;align-items:center;gap:13px;min-height:76px;padding:14px 16px;border:1px dashed #bcbcc0;background:#fafafa}.upload-mark{display:grid;place-items:center;width:38px;height:38px;background:#f5e9ea;color:var(--sage);font-size:22px}.upload-copy{display:flex;flex-direction:column;gap:4px;flex:1}.upload-copy b{font-size:13px}.upload-copy small{font-size:11px;color:var(--muted);font-weight:400}.upload-count{font-size:11px;color:var(--sage);font-weight:700;white-space:nowrap}.file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-control{cursor:pointer}.file-list{font-size:11px;line-height:1.5;color:var(--muted)}.button-dark{background:var(--sage);color:#fff;align-self:flex-start;min-width:210px;padding:19px 23px}.button-dark span{color:#fff}.whatsapp-button{display:flex;align-items:center;gap:12px;align-self:flex-start;border:1px solid #d5d5d8;padding:14px 17px;color:#2b4335;font-size:14px;font-weight:700}.whatsapp-icon{font-size:20px;color:#25a45a}.whatsapp-button small{color:#76767a;font-size:12px;font-weight:500}.whatsapp-button>b{margin-left:8px;color:#25a45a}.form-note,.form-success{font-size:12px;line-height:1.6;color:#858588;margin:-8px 0 0}.form-success{color:var(--forest);font-weight:600}.site-footer{background:#18191b;color:#fff;padding:45px 6.4% 18px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:35px;border-bottom:1px solid rgba(255,255,255,.2)}.brand-footer{color:#f4f2eb}.brand-footer .brand-logo{background:#fff}.footer-top>p{font:italic 18px/1.55 var(--serif);color:#d2d2d3;margin:0}.footer-toplink{font-size:13px;color:#d2d2d3}.footer-bottom{display:flex;justify-content:space-between;padding-top:17px;color:#b9b9bc;font-size:12px}.form-note{max-width:500px}
@media(max-width:950px){.site-header{padding:0 5%;height:88px}.brand-logo{width:205px;height:82px}.main-nav{gap:19px}.main-nav>a{font-size:12px}.nav-cta{padding:14px}.hero-content,.hero-note{margin-left:0;left:9%}.section-wrap,.services-inner{padding-left:9%;padding-right:9%}.intro-main{gap:35px}.approach-content{padding-left:9%;padding-right:9%}.contact-layout{gap:6%}}
@media(max-width:700px){.site-header{height:86px;padding:0 6%}.brand-logo{width:195px;height:76px}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;justify-content:center;gap:6px;align-items:center;background:transparent;border:1px solid var(--line);cursor:pointer}.menu-toggle span{width:18px;height:2px;background:var(--forest)}.main-nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--paper);padding:18px 6% 24px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 10px 20px #18191b15}.main-nav.open{display:flex}.main-nav>a:not(.nav-cta){padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}.nav-cta{margin-top:16px;justify-content:space-between;font-size:15px}.hero{min-height:690px;height:calc(90vh - 86px);max-height:820px}.hero-image{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(12,12,13,.8),rgba(12,12,13,.4)),linear-gradient(0deg,rgba(12,12,13,.23),transparent)}.hero-content{left:7%;right:7%;margin-top:-15px}.hero h1{font-size:clamp(58px,14vw,80px);letter-spacing:-4px}.hero h1 em{letter-spacing:-3px}.eyebrow{font-size:12px}.hero-copy{font-size:17px;max-width:380px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-quote{width:min(100%,390px);min-height:78px}.hero-quote .quote-label{font-size:15px}.hero-note{left:7%;bottom:27px;font-size:10px}.hero-vertical{right:4%;font-size:8px}.section-wrap,.services-inner{padding-left:7%;padding-right:7%}.intro{padding-top:85px;padding-bottom:74px}.intro-main{display:block;margin-top:29px}.intro h2,.services h2,.projects h2{font-size:43px;letter-spacing:-1.8px}.intro-aside{margin-top:23px}.intro-aside p{font-size:15px}.intro-bottom{margin-top:50px;font-size:10px}.services{padding:78px 0 80px}.services-heading{display:block;margin:29px 0 30px}.services-heading>p{margin-top:18px;font-size:15px}.service-row{grid-template-columns:30px 1fr 18px;gap:12px;padding:20px 0}.service-row h3{font-size:17px}.service-row p{grid-column:2;grid-row:2;font-size:14px;margin-top:-6px}.service-arrow{grid-column:3;grid-row:1}.projects{padding-top:82px;padding-bottom:80px}.projects-head{display:block;margin-top:28px;margin-bottom:30px}.projects-head>p{margin-top:18px;font-size:15px}.project-grid{grid-template-columns:1fr;gap:30px}.project-card:nth-child(even){margin-top:0}.project-large .project-photo,.project-small .project-photo{height:300px;min-height:0}.project-caption h3{font-size:17px}.project-caption p{font-size:13px}.project-note{font-size:12px;line-height:1.7;margin-top:35px}.approach{display:flex;flex-direction:column}.approach-image{height:300px}.approach-content{padding:72px 7% 72px}.approach h2{font-size:40px;letter-spacing:-1.8px;margin-top:27px}.approach-content>p{font-size:15px}.steps b{font-size:15px}.steps small{font-size:14px}.contact{padding-top:85px;padding-bottom:80px}.contact-layout{grid-template-columns:1fr;gap:38px;margin-top:28px}.contact h2{font-size:46px}.contact-copy>p{font-size:15px;margin-bottom:25px}.contact-details{grid-template-columns:1fr 1fr;gap:18px}.contact-details span{font-size:10px}.contact-details p{font-size:14px}.contact-form{gap:19px}.form-pair{gap:14px}.contact-form label:not(.consent){font-size:12px}.contact-form input:not([type=checkbox]):not([type=file]),.contact-form select,.contact-form textarea{font-size:15px}.consent{font-size:12px}.upload-copy b{font-size:12px}.upload-copy small{font-size:10px}.upload-count{font-size:10px}.whatsapp-button{font-size:13px;flex-wrap:wrap}.site-footer{padding:38px 7% 18px}.footer-top{align-items:flex-start;flex-wrap:wrap;gap:24px}.footer-top>p{font-size:16px}.footer-toplink{width:100%;font-size:13px}.footer-bottom{flex-wrap:wrap;gap:12px 20px;font-size:11px}.footer-bottom span:last-child{width:100%}}
.whatsapp-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.whatsapp-options>span{width:100%;font-size:13px;color:var(--muted)}.whatsapp-options .whatsapp-button{padding:11px 14px}
.upload-control:focus-within{outline:2px solid var(--sage);outline-offset:2px}
.file-input:focus-visible+.file-list{outline:2px solid var(--sage)}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.button-dark:disabled{opacity:.65;cursor:wait}
.form-error{color:#b32632!important}
.warehouse-note{max-width:360px;margin:25px 0 0;padding:14px 16px;border-left:2px solid var(--sage);background:#f7f7f7;color:var(--muted);font-size:13px;line-height:1.65}
.project-showcase{display:grid;gap:58px}.project-case{padding-top:24px;border-top:1px solid var(--line)}.case-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.case-location{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--sage)}.case-heading h3{font:600 25px var(--display);color:var(--forest);margin:7px 0 0}.case-heading p{font-size:14px;color:var(--muted);margin:0}.before-after{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.before-after figure{position:relative;margin:0;height:320px;min-height:0;background-size:cover;background-position:center;overflow:hidden}.before-after figcaption{position:absolute;left:12px;bottom:12px;background:var(--sage);color:#fff;padding:6px 9px;font-size:9px;font-weight:700;letter-spacing:1px}.projects-head{margin-bottom:46px}
@media(max-width:700px){.case-heading{display:block}.case-heading h3{font-size:22px}.case-heading p{margin-top:8px;font-size:13px}.before-after{grid-template-columns:1fr 1fr;gap:12px}.before-after figure{height:240px}.before-after figure:last-child:nth-child(odd){grid-column:1/-1;height:290px}.project-showcase{gap:42px}.projects-head{margin-bottom:32px}}

@media(min-width:701px){.local-gallery{grid-template-columns:repeat(4,1fr)}}

/* Ajustes de lectura y navegación para móviles */
:where(section[id], .contact) { scroll-margin-top: 24px; }
@media (max-width: 700px) {
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  .site-header { position: sticky; top: 0; height: 82px; padding: 0 5%; box-shadow: 0 2px 14px #18191b0d; }
  .brand-logo { width: 174px; height: 68px; }
  .menu-toggle { width: 46px; height: 46px; border-radius: 3px; }
  .main-nav { top: 82px; max-height: calc(100svh - 82px); overflow-y: auto; padding: 12px 6% calc(20px + env(safe-area-inset-bottom, 0px)); }
  .main-nav > a:not(.nav-cta) { min-height: 52px; display: flex; align-items: center; }
  .nav-cta { min-height: 52px; }
  .hero { height: auto; min-height: calc(100svh - 82px); max-height: none; padding: 68px 0 112px; }
  .hero-image { background-position: 56% center; }
  .hero-content { left: 0; right: 0; max-width: none; margin: 0; padding: 0 7%; }
  .hero h1 { font-size: clamp(49px, 12.5vw, 70px); line-height: 1.02; letter-spacing: -3.5px; }
  .hero h1 em { letter-spacing: -2.7px; }
  .hero-copy { max-width: 36ch; font-size: 16px; line-height: 1.65; }
  .hero-actions { width: 100%; gap: 18px; margin-top: 27px; }
  .hero-quote { width: 100%; max-width: 420px; min-height: 72px; padding: 15px 18px; }
  .hero-quote .quote-icon { width: 40px; height: 40px; }
  .hero-quote .quote-label { font-size: 15px; }
  .hero-note { left: 7%; bottom: 30px; font-size: 9px; gap: 10px; }
  .hero-vertical { display: none; }
  .section-wrap, .services-inner { padding-left: 6%; padding-right: 6%; }
  .intro { padding-top: 66px; padding-bottom: 64px; }
  .section-kicker { font-size: 10px; letter-spacing: 1.5px; }
  .intro-main { margin-top: 25px; }
  .intro h2, .services h2, .projects h2 { font-size: clamp(35px, 9vw, 43px); line-height: 1.12; letter-spacing: -1.6px; }
  .intro-aside p, .projects-head > p { font-size: 15px; line-height: 1.7; }
  .intro-bottom { margin-top: 38px; font-size: 9px; letter-spacing: 1px; gap: 12px; }
  .intro-bottom span:last-child { text-align: right; }
  .services { padding: 66px 0 70px; }
  .services-heading { margin: 26px 0 28px; }
  .services-heading > p { font-size: 15px; line-height: 1.7; }
  .service-row { grid-template-columns: 28px minmax(0, 1fr) 18px; column-gap: 10px; row-gap: 6px; padding: 17px 0; }
  .service-row h3 { font-size: 16px; line-height: 1.35; }
  .service-row p { grid-column: 2 / 4; grid-row: 2; margin: 0; font-size: 14px; line-height: 1.55; }
  .projects { padding-top: 68px; padding-bottom: 68px; }
  .projects-head { margin-top: 24px; margin-bottom: 28px; }
  .projects-head > p { margin-top: 14px; }
  .project-showcase { gap: 36px; }
  .project-case { padding-top: 19px; }
  .case-heading { margin-bottom: 16px; }
  .case-heading h3 { font-size: 20px; line-height: 1.3; }
  .case-heading p { font-size: 13px; line-height: 1.5; }
  .before-after { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .before-after figure { height: auto; aspect-ratio: 4 / 5; }
  .before-after figure:last-child:nth-child(odd) { grid-column: 1 / -1; aspect-ratio: 4 / 3; height: auto; }
  .before-after figcaption { left: 8px; bottom: 8px; padding: 5px 7px; font-size: 8px; letter-spacing: .6px; }
  .local-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .local-gallery figure { aspect-ratio: 4 / 3; }
  .approach-image { height: 240px; }
  .approach-content { padding: 62px 6% 64px; }
  .approach h2 { font-size: clamp(34px, 8.8vw, 40px); line-height: 1.14; }
  .approach-content > p { font-size: 15px; line-height: 1.7; }
  .steps { margin-top: 26px; }
  .steps > div { gap: 13px; padding: 14px 0; }
  .steps b { font-size: 14px; }
  .steps small { font-size: 13px; line-height: 1.45; }
  .contact { padding: 66px 6% 62px; }
  .contact-layout { display: flex; flex-direction: column; gap: 30px; margin-top: 24px; }
  .contact h2 { font-size: clamp(38px, 10vw, 46px); line-height: 1.12; }
  .contact-copy > p { font-size: 15px; line-height: 1.65; margin: 16px 0 24px; }
  .contact-details { grid-template-columns: 1fr 1fr; gap: 18px 12px; }
  .contact-details > div { min-width: 0; }
  .contact-details span { font-size: 9px; letter-spacing: 1px; }
  .contact-details p { overflow-wrap: anywhere; font-size: 14px; line-height: 1.6; }
  .contact-form { gap: 18px; }
  .form-pair { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .contact-form label:not(.consent) { font-size: 13px; }
  .contact-form input:not([type=checkbox]):not([type=file]), .contact-form select, .contact-form textarea { min-height: 48px; font-size: 16px; }
  .contact-form textarea { min-height: 100px; }
  .upload-control { min-height: 70px; padding: 12px; gap: 9px; }
  .upload-copy { min-width: 0; }
  .upload-copy small { line-height: 1.4; }
  .upload-count { font-size: 10px; }
  .consent { align-items: flex-start; font-size: 12px; line-height: 1.5; }
  .consent input { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; }
  .button-dark { width: 100%; min-height: 54px; }
  .whatsapp-options { width: 100%; gap: 8px; }
  .whatsapp-options > span { margin-bottom: 2px; }
  .whatsapp-options .whatsapp-button { flex: 1 1 calc(50% - 8px); justify-content: center; min-height: 48px; padding: 10px 8px; gap: 7px; font-size: 12px; }
  .whatsapp-button > b { margin-left: 0; }
  .form-note { font-size: 11px; line-height: 1.55; }
  .site-footer { padding: 34px 6% 22px; }
  .footer-top { gap: 17px; }
  .footer-top .brand-logo { width: 164px; height: 64px; }
  .footer-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; font-size: 10px; line-height: 1.5; }
  .footer-bottom > :nth-child(even) { text-align: right; }
  .footer-bottom span:last-child { width: auto; }
  .mobile-action-bar { position: fixed; z-index: 20; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1.15fr 1fr; gap: 10px; padding: 10px 5% calc(10px + env(safe-area-inset-bottom, 0px)); background: rgba(255,255,255,.97); border-top: 1px solid var(--line); box-shadow: 0 -5px 18px #18191b12; }
  .mobile-action-bar a { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 12px; font-size: 13px; font-weight: 700; }
  .mobile-budget-link { background: var(--sage); color: #fff; }
  .mobile-whatsapp-link { border: 1px solid #b7d9c1; color: #16733d; background: #f5fbf6; }
}
.legal-page{background:var(--paper);min-height:100vh}.legal-content{width:min(860px,86%);margin:64px auto 100px}.legal-content h1{font:600 clamp(42px,6vw,64px)/1.08 var(--display);letter-spacing:-2px;color:var(--forest);margin:28px 0 42px}.legal-content h2{font:600 20px/1.35 var(--display);color:var(--forest);margin:32px 0 10px}.legal-content p,.legal-content li{font-size:16px;line-height:1.8;color:#59595d}.legal-content ul{padding-left:22px}.legal-content a:not(.button){text-decoration:underline;text-underline-offset:3px}.legal-updated{margin-top:38px;font-size:13px!important;color:#858588!important}.legal-content .button{margin-top:18px}

@media (max-width: 380px) {
  .brand-logo { width: 150px; }
  .hero h1 { font-size: 48px; }
  .hero-note { font-size: 8px; }
  .contact-details { grid-template-columns: 1fr; }
  .upload-mark { flex: 0 0 34px; width: 34px; height: 34px; }
  .upload-copy b { font-size: 11px; }
  .mobile-action-bar a { font-size: 12px; }
}
.legal-page{background:var(--paper);min-height:100vh}.legal-content{width:min(860px,86%);margin:64px auto 100px}.legal-content h1{font:600 clamp(42px,6vw,64px)/1.08 var(--display);letter-spacing:-2px;color:var(--forest);margin:28px 0 42px}.legal-content h2{font:600 20px/1.35 var(--display);color:var(--forest);margin:32px 0 10px}.legal-content p,.legal-content li{font-size:16px;line-height:1.8;color:#59595d}.legal-content ul{padding-left:22px}.legal-content a:not(.button){text-decoration:underline;text-underline-offset:3px}.legal-updated{margin-top:38px;font-size:13px!important;color:#858588!important}.legal-content .button{margin-top:18px}
@media (min-width: 701px) { .mobile-action-bar { display: none; } }

/* Formulario independiente y datos de empresa en el pie */
.contact { padding-top: 82px; padding-bottom: 84px; }
.contact-layout { display: block; max-width: 850px; margin: 0 auto; }
.contact-form { width: 100%; }
.contact-form > h2 { margin: 0 0 10px; color: var(--forest); font: 600 clamp(36px, 4vw, 52px)/1.12 var(--display); letter-spacing: -1.8px; }
.contact-intro { max-width: 66ch; margin: 0 0 8px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.footer-contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 34px; padding: 30px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.footer-contact-grid > div { min-width: 0; }
.footer-contact-grid span { color: #b9b9bc; font-size: 10px; font-weight: 700; letter-spacing: 1.2px; }
.footer-contact-grid p { color: #f1f1f1; font-size: 14px; line-height: 1.7; margin: 8px 0 0; overflow-wrap: anywhere; }
.footer-contact-grid a { text-decoration: underline; text-decoration-color: #858588; text-underline-offset: 3px; }
.footer-bottom { gap: 18px; }
.footer-back-top { display: flex; justify-content: center; align-items: center; gap: 7px; width: fit-content; margin: 20px auto 0; color: #a9a9ac; font-size: 11px; transition: color .2s; }
.footer-back-top:hover { color: #fff; }
.footer-back-top span { color: #f17b7e; font-size: 14px; }
.collaborators { padding: 28px 0 30px; border-bottom: 1px solid rgba(255,255,255,.2); }
.collaborators-heading > span { color: #b9b9bc; font-size: 10px; font-weight: 700; letter-spacing: 1.2px; }
.collaborators-heading h2 { margin: 8px 0 22px; color: #f1f1f1; font: 500 clamp(20px, 2.3vw, 27px)/1.25 var(--display); letter-spacing: -.5px; }
.collaborator-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.collaborator-card { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: start; gap: 14px; }
.collaborator-mark { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #ffffff45; border-radius: 50%; color: #f1f1f1; font: 600 16px var(--display); }
.collaborator-mark-red { border-color: #bd293480; color: #f17b7e; }
.collaborator-card h3 { margin: 0 0 7px; color: #f1f1f1; font: 600 15px var(--display); }
.collaborator-card p { max-width: 48ch; margin: 0 0 10px; color: #b9b9bc; font-size: 12px; line-height: 1.65; }
.collaborator-card a { color: #f1f1f1; font-size: 11px; font-weight: 600; text-decoration: underline; text-decoration-color: #858588; text-underline-offset: 3px; }
.collaborator-card a span { margin-left: 3px; color: #f17b7e; }
.collaborator-links { display: flex; gap: 16px; }
@media (max-width: 700px) {
  .contact { padding: 58px 6% 62px; }
  .contact-layout { margin: 0 auto; }
  .contact-form { gap: 18px; }
  .contact-form > h2 { margin-bottom: 2px; font-size: 34px; }
  .contact-intro { margin-bottom: 2px; font-size: 14px; line-height: 1.65; }
  .footer-contact-grid { grid-template-columns: 1fr 1fr; gap: 22px 14px; padding: 25px 0; }
  .footer-contact-grid span { font-size: 9px; letter-spacing: .8px; }
  .footer-contact-grid p { font-size: 13px; line-height: 1.6; }
  .footer-bottom { display: flex; justify-content: space-between; text-align: left; }
  .footer-back-top { margin-top: 18px; }
  .collaborators { padding: 24px 0; }
  .collaborators-heading > span { font-size: 9px; letter-spacing: .8px; }
  .collaborators-heading h2 { margin: 7px 0 17px; font-size: 21px; }
  .collaborator-list { grid-template-columns: 1fr; gap: 20px; }
  .collaborator-card { grid-template-columns: 36px minmax(0, 1fr); gap: 11px; }
  .collaborator-mark { width: 34px; height: 34px; }
  .collaborator-card p { font-size: 12px; }
}
@media (max-width: 380px) {
  .footer-contact-grid { grid-template-columns: 1fr; }
}
.project-photo { cursor: zoom-in; }
.project-photo:focus-visible { outline: 3px solid var(--sage); outline-offset: 3px; }
.photo-lightbox {
  position: fixed;
  inset: 0;
  width: min(94vw, 1120px);
  max-width: none;
  max-height: 94dvh;
  margin: auto;
  padding: 56px 24px 20px;
  overflow: visible;
  border: 0;
  border-radius: 3px;
  background: #171719;
  color: #fff;
}
.photo-lightbox::backdrop { background: rgba(10, 10, 11, .86); }
.photo-lightbox-image { display: block; width: 100%; height: min(76dvh, 820px); object-fit: contain; }
.photo-lightbox-caption { margin: 14px 44px 0 0; color: #eee; font-size: 14px; line-height: 1.5; }
.photo-lightbox-close {
  position: absolute; top: 8px; right: 8px; z-index: 1;
  display: grid; place-items: center; width: 44px; height: 44px;
  border: 1px solid #ffffff70; border-radius: 50%; background: #29292c;
  color: #fff; font: 400 30px/1 var(--sans); cursor: pointer;
}
.photo-lightbox-close:focus-visible { outline: 3px solid var(--sage); outline-offset: 3px; }
.privacy-section { scroll-margin-top: 24px; padding: 52px 6.4%; background: #f5f4f2; border-top: 1px solid var(--line); }
.privacy-inner { max-width: 850px; margin: 0 auto; }
.privacy-inner h2 { margin: 0 0 18px; color: var(--forest); font: 600 26px/1.2 var(--display); }
.privacy-inner p { color: var(--muted); font-size: 14px; line-height: 1.75; }
.privacy-inner a { color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.privacy-back { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 700; }
@media (max-width: 700px) {
  .photo-lightbox { width: 96vw; max-height: 92dvh; padding: 56px 12px 16px; }
  .photo-lightbox-image { height: 76dvh; }
  .photo-lightbox-caption { margin-top: 10px; font-size: 12px; }
  .privacy-section { padding: 38px 6%; scroll-margin-top: 96px; }
  .privacy-inner h2 { font-size: 23px; }
  .privacy-inner p { font-size: 13px; }
}

/* Ajustes finales de lectura y uso en móvil */
@media (max-width: 700px) {
  :where(section[id], .contact) { scroll-margin-top: 96px; }
  body { overflow-x: hidden; }
  .site-header { padding-inline: max(5%, env(safe-area-inset-left, 0px)); }
  .brand-logo { width: clamp(148px, 47vw, 174px); }
  .main-nav { top: 82px; padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px)); }
  .hero { min-height: max(660px, calc(100svh - 82px)); height: auto; padding-block: 58px 102px; }
  .hero-content { width: 100%; margin: 0; }
  .hero h1 { font-size: clamp(46px, 12.2vw, 68px); line-height: 1.04; letter-spacing: -2.8px; }
  .hero-copy { max-width: 38ch; font-size: 16px; line-height: 1.65; }
  .hero-actions { align-items: stretch; gap: 16px; }
  .hero-quote { max-width: 420px; min-height: 64px; }
  .text-link { width: fit-content; min-height: 42px; align-items: center; }
  .intro-bottom { align-items: flex-start; font-size: 8px; line-height: 1.5; }
  .intro-bottom span { max-width: 48%; }
  .service-row { grid-template-columns: 26px minmax(0, 1fr) 16px; column-gap: 9px; }
  .service-row h3 { font-size: 16px; }
  .service-row p { grid-column: 2 / 4; }
  .projects-head { display: block; }
  .projects-head > p { margin-top: 13px; }
  .case-heading { display: grid; gap: 8px; }
  .case-heading h3 { font-size: 19px; }
  .case-heading p { line-height: 1.5; }
  .before-after { gap: 9px; }
  .before-after figcaption { left: 7px; bottom: 7px; max-width: calc(100% - 14px); padding: 6px 7px; font-size: 9px; line-height: 1.25; letter-spacing: .45px; }
  .approach-image { background-position: center 55%; }
  .approach-content { padding: 58px 6% 62px; }
  .steps > div { gap: 12px; }
  .contact { padding: 58px 6% 56px; }
  .contact-form > h2 { font-size: clamp(32px, 9vw, 38px); letter-spacing: -1.2px; }
  .contact-intro { font-size: 14px; line-height: 1.65; }
  .contact-form { gap: 17px; }
  .form-pair { grid-template-columns: minmax(0, 1fr); gap: 17px; }
  .contact-form label:not(.consent) { gap: 7px; }
  .contact-form input:not([type=checkbox]):not([type=file]), .contact-form select, .contact-form textarea { min-height: 48px; font-size: 16px; }
  .contact-form textarea { min-height: 96px; }
  .upload-control { align-items: center; min-height: 68px; padding: 10px; gap: 9px; }
  .upload-copy small { font-size: 10px; }
  .upload-count { white-space: normal; text-align: right; }
  .consent { align-items: flex-start; line-height: 1.5; }
  .consent input { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 1px; }
  .button-dark { width: 100%; min-height: 52px; justify-content: center; }
  .whatsapp-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 9px; }
  .whatsapp-options > span { grid-column: 1 / -1; }
  .whatsapp-options .whatsapp-button { min-width: 0; min-height: 46px; justify-content: center; padding: 9px 7px; gap: 6px; font-size: 11px; }
  .whatsapp-options .whatsapp-button > b { display: none; }
  .form-note { line-height: 1.55; }
  .site-footer { padding: 30px 6% calc(20px + env(safe-area-inset-bottom, 0px)); }
  .collaborators-heading h2 { max-width: 27ch; line-height: 1.25; }
  .footer-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
  .footer-contact-grid p { font-size: 12px; overflow-wrap: anywhere; }
  .footer-contact-grid > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { font-size: 10px; }
  .mobile-action-bar { padding-left: max(5%, env(safe-area-inset-left, 0px)); padding-right: max(5%, env(safe-area-inset-right, 0px)); }
  .photo-lightbox { padding-top: 56px; }
}
@media (max-width: 380px) {
  .site-header { padding-inline: 4%; }
  .brand-logo { width: 146px; }
  .menu-toggle { flex: 0 0 42px; }
  .hero h1 { font-size: 46px; }
  .eyebrow { font-size: 10px; letter-spacing: 1.8px; }
  .hero-note { font-size: 8px; letter-spacing: 1px; }
  .before-after { gap: 7px; }
  .upload-control { gap: 7px; }
  .upload-copy b { font-size: 11px; }
  .upload-count { font-size: 9px; }
  .whatsapp-options .whatsapp-button { font-size: 10px; }
}

.legal-page{background:var(--paper);min-height:100vh}.legal-content{width:min(860px,86%);margin:64px auto 100px}.legal-content h1{font:600 clamp(42px,6vw,64px)/1.08 var(--display);letter-spacing:-2px;color:var(--forest);margin:28px 0 42px}.legal-content h2{font:600 20px/1.35 var(--display);color:var(--forest);margin:32px 0 10px}.legal-content p,.legal-content li{font-size:16px;line-height:1.8;color:#59595d}.legal-content ul{padding-left:22px}.legal-content a:not(.button){text-decoration:underline;text-underline-offset:3px}.legal-updated{margin-top:38px;font-size:13px!important;color:#858588!important}.legal-content .button{margin-top:18px}


/* Comportamiento y limpieza adicionales para móvil */
@media (max-width: 700px) {
  .site-header {
    position: sticky;
    top: 0;
    transition: transform .24s ease;
    will-change: transform;
  }
  .site-header.is-hidden { transform: translateY(-105%); }
  .service-row { grid-template-columns: 26px minmax(0, 1fr); }
  .service-row p { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header { transition: none; }
}
